การเขียนฟังก์ชัน Void พร้อมพารามิเตอร์ใน VEXcode Pro V5

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

จะมีบางครั้งที่คุณต้องการให้ข้อมูลเฉพาะบางอย่างแก่ฟังก์ชัน ซึ่งจะช่วยให้ฟังก์ชันทำงานตามข้อมูลที่ได้รับในแต่ละครั้งเมื่อมีการเรียกใช้ ตัวอย่างต่อไปนี้จะแสดงวิธีการทำงาน


ตัวอย่าง: โปรแกรมวาดรูปหน้ายิ้มเพื่อแสดงโดยใช้พารามิเตอร์

ตัวอย่างต่อไปนี้ยังเป็นตัวอย่างตัวแปรส่วนกลางที่ใช้งานอย่างถูกต้อง

โดยไม่ใช้ฟังก์ชันที่ผู้ใช้กำหนดเอง:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

  int centerX = MaxX/2, centerY = MaxY/2;

  //ใบหน้า
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //ตาซ้าย
  int space = 20; /*กำหนดระยะห่างของตาเทียบกับด้านบนของหน้าจอ*/ คุณสามารถปรับแต่งได้ตามต้องการ*/
  centerX = MaxX/2+space;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //ตาข้างขวา  
  /*...คุณสามารถเขียนโค้ดสำหรับตาข้างขวาต่อได้ที่นี่*/

  //ปากยิ้ม
  /*...คุณสามารถเขียนโค้ดสำหรับปากยิ้มต่อได้ที่นี่
    ... เป็นต้น
    หากคุณต้องการวาดขนาดที่แตกต่างกัน คุณจะต้องทำซ้ำชุดโค้ดทั้งหมดอีกครั้ง
    */
}

ด้วยฟังก์ชันที่ผู้ใช้กำหนดเอง:

int MaxX = 484, MaxY = 278;
const char Left=1, Right=2;

void drawFace(int size){
  /*...โค้ดสำหรับวาดใบหน้าโดยอิงจากพารามิเตอร์ size จากฟังก์ชันที่เรียก*/

}

//ด้าน == ซ้ายหรือขวา
void drawEye(char side){
  /*...โค้ดสำหรับวาดดวงตาโดยอิงจากพารามิเตอร์ size จากฟังก์ชันที่เรียก*/
}

//ด้าน == ซ้ายหรือขวา
void drawMouth(bool smile, int size){
  /*...โค้ดสำหรับวาดปากโดยอิงจากพารามิเตอร์ size จากฟังก์ชันที่เรียก*/ ซึ่งรวมถึงว่าใบหน้ากำลังยิ้มหรือขมวดคิ้ว รวมถึงความกว้างด้วย*/
}

int main() { 
  vexcodeInit();

  drawFace();
  drawEye(Left);
  drawEye(Right);

  //คุณสามารถสนุกกับสิ่งนี้ได้จริงๆ...
  ในขณะที่ (true) {
    วาดปาก (true, 30);
    รอ 1000 มิลลิวินาที;
    วาดปาก (false, 30);
    รอ 1000 มิลลิวินาที;
  }  
}

วิดีโอด้านล่างแสดงลำดับการทำงานของตรรกะจากฟังก์ชันผู้เรียก main():

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: