ตัวอย่าง Function ที่มีใช้ในการสร้างเกมส์
Function ที่มีพารามิเตอร์แต่ไม่มีการรีเทิร์นค่ากลับ
void drawBall(int a, int b, int r) {
noStroke ();
strokeWeight (1);
fill (#F50202);
ellipse(a+Move_up, b+Set_up, r, r);
ellipse(a+Move_down-90, b+Set_down+240, r, r);//down
stroke (0);
fill(255);
ellipse(a-13+Move_up, b+Set_up, 25, 25);
ellipse(a+13+Move_up, b+Set_up, 25, 25);
ellipse(a-13+Move_down-90, b+Set_down+240, 25, 25);//down
ellipse(a+13+Move_down-90, b+Set_down+240, 25, 25);//down
fill(0);
quad(a-2+Move_up, b+Set_up-23, a-4+Move_up, b+Set_up-17, a-24+Move_up,
b+Set_up-20, a-22+Move_up, b+Set_up-27);
quad(a+2+Move_up, b+Set_up-23, a+4+Move_up, b+Set_up-17, a+24+Move_up,
b+Set_up-20, a+22+Move_up, b+Set_up-27);
quad(a-2+Move_down-90, b+Set_down-23+240, a-4+Move_down-90, b+Set_down-17+240,
a-24+Move_down-90, b+Set_down-20+240, a-22+Move_down-90, b+Set_down-27+240);//down
quad(a+2+Move_down-90, b+Set_down-23+240, a+4+Move_down-90, b+Set_down-17+240,
a+24+Move_down-90, b+Set_down-20+240, a+22+Move_down-90, b+Set_down-27+240);//down
ellipse(a-8+Move_up, b+Set_up, 10, 10);
ellipse(a+8+Move_up, b+Set_up, 10, 10);
ellipse(a-8+Move_down-90, b+Set_down+240, 10, 10);//down
ellipse(a+8+Move_down-90, b+Set_down+240, 10, 10);//down
}
Function นี้เป็นฟังก์ชั่นที่ใช้สำหรับสร้างลูกบอล ภายในฟังก์ชันมีการกำหนดค่าให้แก่พารามิเตอร์ เมื่อพารามิเตอร์รับค่าดังกล่าวมาก็จะนำไปใช้ในฟังก์ชั่น ทำให้สะดวกเเละรวดเร็วในการเรียกใช้งาน สามารถกำหนดและนำเอาไปใช้ได้หลายๆค่าและหลายครั้ง หากมีการเปลี่ยนแปลงค่าก็สามารถเปลี่ยนได้ที่เดียวเลย ดังนั้นพารามิเตอร์ก็จะมีการนำเอาค่าใหม่ไปใช้
Function ที่ไม่มีพารามิเตอร์และไม่มีการรีเทิร์นค่ากลับ
void moveBall(){
if (Move_up<800) {
Move_up=Move_up+Speed_up;
if (Move_up>=190 && Move_up<200) {
if (keyCode==LEFT && Set_up==0) {
}
else {
fill(250, 12, 13);
Move_up=190;
Set_up=Set_up+1;
}
}
if (Move_up>=440 && Move_up<=460) {
if (keyCode==RIGHT && Set_up==0) {
}
else {
Move_up=440;
Set_up=Set_up+1;
fill(250, 12, 13);
}
}
if (Move_up>=800) {
Move_up = 0;
Speed_up = Speed_up + 0.5;
}
}
if (Move_down<800) {
Move_down = Move_down+Speed_down;
if (Move_down>=290 && Move_down<300) {
if (keyCode=='A' && Set_down==0) {
}
else {
fill(250, 12, 13);
Move_down=290;
Set_down=Set_down+1;
}
}
if (Move_down>=530 && Move_down<=540) {
if (keyCode=='D' && Set_down==0) {
}
else {
Move_down=530;
Set_down=Set_down+1;
fill(250, 12, 13);
}
}
if (Move_down>=800) {
Move_down = -30;
Speed_down = Speed_down + 0.5;
}
}
if (miss>=1 && miss <5) {
if (Set_up==400) {
Set_up=0;
Move_up=0;
Move_up = Move_up+Speed_up;
}
if (Set_down==200) {
Move_down=-90;
Set_down=0;
Move_down = Move_down+Speed_up;
}
}
}
Function นี้เป็นฟังก์ชันที่ใช้สร้างเงื่อนไขการขยับของบอล ภายในฟังก์ชั่นไม่มีทั้งพารามิเตอร์และ
การกำหนดค่า มีการกำหนด Statement ให้แก่ฟังก์ชั่น เมื่อมีการเรียกใช้ฟังก์ชั่นดังกล่าวแล้วมีการแสดงค่าตาม Statement
if else condition
void scoreBall() {
fill(0);
if (miss<5) {
if (Move_up<800) {
if (Move_up>=190 && Move_up<191) {
if (Set_up==0) {
score++;
}
if (Set_up==10) {
miss++;
}
}
if (Move_up>=440 && Move_up<441) {
if (Set_up==0) {
score++;
}
if (Set_up==10) {
miss++;
}
}
}
if (Move_down<800) {
if (Move_down>=290&&Move_down<291) {
if (Set_down==0) {
score++;
}
if (Set_down==10) {
miss++;
}
}
if (Move_down>=530 && Move_down<531) {
if (Set_down==0) {
score++;
}
if (Set_down==10) {
miss++;
}
}
}
}
if (miss>=5) {
miss=5;
Right_down=0;
Left_down=+5;
slide_Ldown=-5;
Right_up=0;
Left_up=0;
slide_Rup=-5;
slide_Ldown=-5;
slide_Rdown=-5;
slide_Lup=-5;
x_Minion=x_Minion+2;
y_Minion=y_Minion+0.6;
if (x_Minion>=410) {
x_Minion=410;
}
if (y_Minion>=250) {
y_Minion=250;
fill (255);
rect(-10, -10, 620, 420);
fill (#FC0505);
textSize(120);
text("GAMEOVER", 50, 150);
textSize(36);
text("Score : "+score, 100, 260);
text("Miss : "+miss, 280, 260);
text("Restart press R", 150, 360);
}
Move_down=-30;
Move_up=-30;
}
else {
fill(0);
textSize(20);
text("Score : "+score, 480, 180);
text("Miss : "+miss, 480, 230);
}
}
Function นี้เป็นฟังก์ชั่นที่สร้างขึ้นเพื่อคำนวณคะแนนและความผิดพลาดเมื่อมีการตกของลูกบอล พร้อมกับแสดงค่าให้เราเห็นในรูปแบบของคำสั่ง text ภายในฟังก์ชั่นมีการใช้เงื่อนไข if-else ซึ่งการนำเอาเงื่อนไขที่นำเอาไปใช้สามารถซ้อนกันได้
while loop condition
void drawFloor() {
int[][]dis_Brick= {{-10, 30, 70, 110, 230, 270, 310, 350, 470, 510, 550, 590 }, {0, 80, 320} };
int i=0;
while (i<dis_Brick[0].length) {
strokeWeight(1.8);
stroke(#000000);
fill(#6F3006);
rect(dis_Brick[0][i], dis_Brick[1][1], 40, 20);
rect(dis_Brick[0][i]-10, dis_Brick[1][1]+20, 40, 20);
rect(dis_Brick[0][i], dis_Brick[1][2], 40, 20);
rect(dis_Brick[0][i]-10, dis_Brick[1][2]+20, 40, 20);//Brick up
noStroke();
fill(#46220B);
rect(dis_Brick[0][i]+3, dis_Brick[1][1]+10, 35, 10);
rect(dis_Brick[0][i]-10+3, dis_Brick[1][1]+20+10, 35, 10);
rect(dis_Brick[0][i]+3, dis_Brick[1][2]+10, 35, 10);
rect(dis_Brick[0][i]-10+3, dis_Brick[1][2]+20+10, 35, 10);//Brick down
i=i+1;
}
}
Function นี้เป็นฟังก์ชั่นที่ใช้ในการสร้างพื้นอิฐ ภายในฟังก์ชั่นมีการสร้างเงื่อนไขในรูปแบบของการวนลูป จะมีการทำรูปแบบเดิมซ้ำๆจนครบเงื่อนไขที่กำหนด (i<dis_Brick[0].length) เพื่อสะดวกและรวดเร็วในการสร้างภาพขึ้นมา นอกจากนี้ภายในฟังก์ชั่นยังมีการกำหนดตัวแปรในรูปของ array 2 มิติในการเก็บค่าระยะห่างของอิฐ เพื่อให้ง่ายต่อการนำไปใช้และไม่ต้องมีการกำหนดค่าของสิ่งเดิม หลายๆค่า (local variable )
Global variable
ตัวแปร Global ทั้งหมดในเกมนี้ได้แก่
float Move_up = 0; //ตัวแปรควบคุมการเคลื่อนที่ให้ไปทางขวาของลูกบอลลูกบน
int Right_down = 0; //ตัวแปรควบคุมการขยับแขนของมินเนี่ยน (แขนขวาขยับขึ้นด้านบน)
int Left_up = 0; //ตัวแปรควบคุมการขยับแขนของมินเนี่ยน (แขนซ้ายขยับขึ้นด้านบน)
int Right_up = 0; //ตัวแปรควบคุมการขยับแขนของมินเนี่ยน (แขนขวาขยับลงข้างล่าง)
int Left_down = 0; //ตัวแปรควบคุมการขยับแขนของมินเนี่ยน (แขนซ้ายขยับลงข้างล่าง)
float Move_down = 0; //ตัวแปรควบคุมการเคลื่อนที่ให้ไปทางขวาของลูกบอลลูกบน
int Set_up = 0; //ตัวแปรที่ควบคุมลูกบอลให้ร่วงลงมาตามเงื่อนไขของลูกบอลลูกบน
int Set_down=0; //ตัวแปรที่ควบคุมลูกบอลให้ร่วงลงมาตามเงื่อนไขของลูกบอลลูกล่าง
float Speed_up=1; //กำหนดความเร็วของลูกบอลลูกบน
float Speed_down = 1; //กำหนดความเร็วของลูกบอลลูกล่าง
int miss=0; //กำหนดตัวแปรเก็บค่าและแสดงผลจำนวนครั้งที่ลูกบอลร่วง
int score=0; //กำหนดตัวแปรเก็บค่าและแสดงผลจำนวนครั้งที่ลูกบอลข้ามผ่านช่องได้
int slide_Lup=0; //ตัวแปรควบคุมอิฐที่ค่อยๆเลื่อนมาปิดช่องโหว่ เคลื่อนที่ตามมือมินเนี่ยนด้วยการกดปุ่มซ้าย (ซ้ายบน)
int slide_Rup=0; //ตัวแปรควบคุมอิฐที่ค่อยๆเลื่อนมาปิดช่องโหว่ เคลื่อนที่ตามมือมินเนี่ยนด้วยการกดปุ่มขวา (ขวาบน)
int slide_Ldown=0; //ตัวแปรควบคุมอิฐที่ค่อยๆเลื่อนมาปิดช่องโหว่ เคลื่อนที่ตามมือมินเนี่ยนด้วยการกดตัว A (ซ้ายล่าง)
int slide_Rdown=0; //ตัวแปรควบคุมอิฐที่ค่อยๆเลื่อนมาปิดช่องโหว่ เคลื่อนที่ตามมือมินเนี่ยนด้วยการกดปุ่ม D (ขวาล่าง)
float x_Minion = 225; //กำหนดระยะแนวนอนของตัวมินเนี่ยน
float y_Minion = 190; //กำหนดระยะตามแนวตั้งของตัวมินเนี่ยน