Play this game pressed keys : Left , Right for top line and
A ,D for down
Let's fun our game together :)
ออกแบบ Function
void setup(){
size(); //ขนาดของตัวเกม
background(); //สีพื้นหลังเกม
}
void draw(){
drawFloor(x, y); //วาดพื้น
drawBall(a, b, r); //วาดลูกบอลที่กลิ้ง
drawMinion(c, d); //วาดตัวมินเนี่ยน
}
void drawFloor(int x, int y){ //ฟังก์ชันที่ใช้วาดพื้น
rect(); //พื้นเป็นสี่เหลี่ยม
}
void drawBall(int a, int b, int r){ //ฟังก์ชันที่วาดลูกบอลรับค่าเป็นพารามิเตอร์
ellipse(a, b, r, r); //ลูกบอลเป็นทรงกลม
}
void drawMinion(int c, int d){ //วาดตัวมินเนี่ยนและรับค่ามาเป็นพารามิเตอร์
ellipse();// วาดตัวและ ตาเป็นวงกลม
arc(); //วาดปากเป็นส่วนของวงกลม
}
Function ที่ทางกลุ่มใช้
drawBackground();//สร้าง ฟังก์ชั่นที่วาด พื้นหลัง ส่วนของดวงอาทิตย์และพื้นสีเขียว ไม่มีการรับค่า parameter ไม่มีการ return ค่าdrawFloor();//สร้าง ฟังก์ชั่นที่ใช้วาด ก้อนอิฐ ไม่มีการรับค่า parameter ไม่มีการ return ค่า
drawMinious(int c, int d); //สร้าง ฟังก์ชั่นที่ใช้วาด Minious ไม่มีการรับค่า parameter ไม่มีการ return ค่า
drawBall(int a, int b, int r); //สร้าง ฟังก์ชั่นที่ใช้วาด Ball รับค่า parameter a ,b,c เพื่อกำหนดตำแหน่งและขนาดของลูกบอล ใช้กำหนดการเคลื่อนที่ของบอลด้วย ไม่มีการ return ค่า
moveArm ();//สร้าง ฟังก์ชั่นกำหนดการขยับแขนของ Minious ให้ขยับออกไปรับลูกบอล ไม่มีการรับค่า parameter ไม่มีการ return ค่า
scoreBall();//สร้างฟังก์ชั่นที่ใช้นับคะแนน เมื่อรับบอลได้ ไม่มีการรับค่า parameter และไม่มีการ return ค่า
drawGrass(); //สร้าง ฟังก์ชั่นที่ใช้วาด พื้นหลังของภาพโดยเป็นส่วนที่วาดหญ้า ไม่มีการรับค่า parameter ไม่มีการ return ค่า
moveBall(); //สร้างฟังก์ชั่นที่ใช้ในการกำหนดการเคลื่อนที่ของลูกบอล
ผู้รับผิดชอบ
นางสาว ชลิตา กาญจนาเมือง
draw();
drawMinious();
scoreBall();
นางสาว ปนัดดา อ่อนพลับ
drawBackground();
drawGrass();
moveArm ();
นางสาว ธีระนันท์ เย็นไธสง
drawFloor();
drawBall();
moveBall();
NINTENDO GAME & WATCH
name: MANHOLE (ทางกลุ่มทำแบบ smooth)
รูปแบบ:จะเป็นแบบมีคนยื่นแขนมาต่อสะพานเพื่อให้คนข้างบนเดินต่อไปได้ หากรับไม่ทันคนข้างบนก็จะตกลงมา
Code Processing
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;
int slide_Rdown=0;
float x_Minion = 225;
float y_Minion = 190;
void setup() {
size(600, 400);
PFont myFont;
myFont = createFont("Impact", 20);
textFont(myFont);
}
void draw() {
if (miss>=5 && keyCode == 'R') {
score=0;
miss=0;
x_Minion=235;
y_Minion=190;
Speed_down=1;
Speed_up=1;
drawBackground();
drawBall(-10, 49, 60);
moveBall();
drawGrass();
moveArm ();
drawFloor();
scoreBall();
drawMinion();
}
else {
drawBackground();
drawBall(-10, 49, 60);
moveBall();
drawGrass();
moveArm ();
drawFloor();
scoreBall();
drawMinion();
}
}
void drawFloor() {
int[][]dis_Brick= {
{
-10, 30, 70, 110, 230, 270, 310, 350, 470, 510, 550, 590
}
, {
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][0], 40, 20);
rect(dis_Brick[0][i]-10, dis_Brick[1][0]+20, 40, 20);
rect(dis_Brick[0][i], dis_Brick[1][1], 40, 20);
rect(dis_Brick[0][i]-10, dis_Brick[1][1]+20, 40, 20);//Brick up
noStroke();
fill(#46220B);
rect(dis_Brick[0][i]+3, dis_Brick[1][0]+10, 35, 10);
rect(dis_Brick[0][i]-10+3, dis_Brick[1][0]+20+10, 35, 10);
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);//Brick down
i=i+1;
}
}
void drawBackground() {
background(#77FAF0);
noStroke();//tree
fill(#15900D);
quad(1, 170, 12, 165, 20, 170, 20, 180);
quad(15, 350, 18, 100, 30, 100, 39, 350);
fill(#1AB410);
quad(35, 350, 37, 150, 45, 150, 55, 350);
fill(#21D315);
quad(50, 350, 55, 190, 65, 170, 70, 350);//
fill(#FAFF03);//sun
stroke(39);
strokeWeight(2);
ellipse(430, 400, 300, 300);
noStroke();
fill(#FAC60A);
ellipse(430, 400, 200, 200);
arc(430, 400, 230, 230, PI, PI+PI/9);
arc(430, 400, 230, 230, PI+PI/7, PI+PI/4.9);
arc(430, 400, 230, 230, PI+PI/4.2, PI+PI/3.3);
arc(430, 400, 230, 230, PI+PI/2.95, PI+PI/2.4);
arc(430, 400, 230, 230, PI+PI/2.15, PI+PI/1.85);
arc(430, 400, 230, 230, TWO_PI-PI/9, TWO_PI);
arc(430, 400, 230, 230, TWO_PI-PI/4.9, TWO_PI-PI/7);
arc(430, 400, 230, 230, TWO_PI-PI/3.3, TWO_PI-PI/4.2);
arc(430, 400, 230, 230, TWO_PI-PI/2.40, TWO_PI-PI/2.95);
fill(255);//Clouds
ellipse(125, 260, 40, 30);
ellipse(150, 265, 20, 20);
ellipse(120, 275, 60, 10);
ellipse(140, 275, 60, 10);
ellipse(83, 276, 10, 4);
ellipse(74, 277, 6, 3);//
ellipse(430, 330, 60, 8);
ellipse(430, 325, 40, 15);
ellipse(433, 323, 23, 23);
ellipse(45, 33, 70, 8);//1
ellipse(70, 25, 50, 40);
ellipse(50, 25, 50, 20);
ellipse(80, 34, 70, 10);
ellipse(430, 55, 70, 8);//2
ellipse(455, 48, 50, 40);
ellipse(435, 48, 50, 20);
ellipse(465, 56, 70, 10);
ellipse(260, 170, 45, 45);//
ellipse(245, 170, 40, 20);
ellipse(275, 170, 40, 20);
ellipse(260, 180, 120, 15);
stroke(39);//grass
strokeWeight(2);
fill(#8ED827);
ellipse(150, 400, 120, 90);
fill(#84FC14);
bezier(3, 360, 5, 350, 50, 290, 160, 400);
bezier(180, 380, 220, 390, 340, 330, 450, 400);
bezier(370, 380, 440, 410, 610, 290, 650, 380);
ellipse(-30, 430, 450, 150);
noStroke();
rect(0, 400, 600, -20);
triangle(40, 340, 20, 390, 190, 390);
fill(#8ED827);
triangle(0, 370, 90, 380, 0, 395);
ellipse(435, 385, 65, 20);
fill(180);//Rock
ellipse(425, 380, 65, 10);
ellipse(440, 377, 30, 15);
stroke(30);
noFill();
arc(425, 380, 65, 10, 0, PI+PI/2);
arc(440, 377, 30, 15, PI/1.2, TWO_PI);
}
void drawGrass() {
int[]High_B= {
65, 80, 305, 320
};//High_Blade
int Space_G=3;
int i=0;
while (i<=7) {
strokeWeight(1);
stroke(#12CE52);
fill(#04C602);
triangle(-10+Space_G, High_B[0], -3+Space_G, High_B[1], 9+Space_G, High_B[1]);
triangle(62+Space_G, High_B[1], 74+Space_G, High_B[1], 83+Space_G, High_B[0]);
triangle(-10+Space_G, High_B[2], -3+Space_G, High_B[3], 9+Space_G, High_B[3]);
triangle(62+Space_G, High_B[3], 74+Space_G, High_B[3], 83+Space_G, High_B[2]);
triangle(235-10+Space_G, High_B[0], 235-3+Space_G, High_B[1], 235+9+Space_G, High_B[1]);
triangle(235+62+Space_G, High_B[1], 235+74+Space_G, High_B[1], 235+83+Space_G, High_B[0]);
triangle(235-10+Space_G, High_B[2], 235-3+Space_G, High_B[3], 235+9+Space_G, High_B[3]);
triangle(235+62+Space_G, High_B[3], 235+74+Space_G, High_B[3], 235+83+Space_G, High_B[2]);
triangle(470-10+Space_G, High_B[0], 470-3+Space_G, High_B[1], 470+9+Space_G, High_B[1]);
triangle(470+62+Space_G, High_B[1], 470+74+Space_G, High_B[1], 470+83+Space_G, High_B[0]);
triangle(470-10+Space_G, High_B[2], 470-3+Space_G, High_B[3], 470+9+Space_G, High_B[3]);
triangle(470+62+Space_G, High_B[3], 470+74+Space_G, High_B[3], 470+83+Space_G, High_B[2]);
Space_G=Space_G+11;
i=i+1;
strokeWeight(0);
}
strokeWeight(6);
stroke(#8CDB26);
line(-10, 78, 145, 80);
line(235, 78, 390, 80);
line(470, 78, 600, 80);
line(-10, 320, 145, 320);
line(235, 320, 390, 320);
line(470, 320, 600, 320);
strokeWeight(0);
}
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);//
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);//
ellipse(a+13+Move_down-90, b+Set_down+240, 25, 25);//
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);//
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);//
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);//
ellipse(a+8+Move_down-90, b+Set_down+240, 10, 10);//
}
void drawMinion() {
strokeWeight (18);
stroke(#FFDC12);
line (x_Minion+Left_up/3+Left_down/2, y_Minion+40+Left_up-Left_down, x_Minion+30, y_Minion); //arm
line (x_Minion+130, y_Minion, x_Minion+160+Right_up/3+Right_down/2, y_Minion+40-Right_up+Right_down); //arm
fill (#FFDC12);
rect (x_Minion+32, y_Minion+10, 96, 60);//body
ellipse (x_Minion+80, y_Minion-10, 100, 130);//head
stroke (0);
strokeWeight (1);
fill (0);
ellipse (x_Minion+Left_up/3+Left_down/2, y_Minion+44-2+Left_up-Left_down, 20, 20); //hand
ellipse (x_Minion+160+Right_up/3+Right_down/2, y_Minion+44-2-Right_up+Right_down, 20, 20); //hand
fill (#0E33E3);
stroke(8, 41, 64);
rect (x_Minion+55, y_Minion+90, 20, 40);//leg
rect (x_Minion+85, y_Minion+90, 20, 40);
fill (0);
arc (x_Minion+65, y_Minion+130, 20, 30, 0, PI);//foot
arc (x_Minion+95, y_Minion+130, 20, 30, 0, PI);
fill (#0E33E3);
strokeWeight (1.5);
rect(x_Minion+45, y_Minion+40, 70, 41);//clothes
arc (x_Minion+80, y_Minion+80, 115, 85, 0, PI);//trousers(pants)
line(x_Minion+45, y_Minion+79, x_Minion+22, y_Minion+79);
line(x_Minion+115, y_Minion+79, x_Minion+137, y_Minion+79);
fill(15, 100, 180);
arc(x_Minion+45, y_Minion+80, 25, 30, PI/2, PI);
arc(x_Minion+115, y_Minion+80, 25, 30, 0, PI/2);
line(x_Minion+45, y_Minion+80, x_Minion+45, y_Minion+80+15);
line(x_Minion+115, y_Minion+79, x_Minion+115, y_Minion+79+15);
strokeWeight (10);
stroke (#0E33E3);
line (x_Minion+50, y_Minion+40, x_Minion+25, y_Minion);//cordon
line (x_Minion+110, y_Minion+40, x_Minion+135, y_Minion);
stroke (0);
line (x_Minion+30, y_Minion-45, x_Minion+80, y_Minion-30);//leg monocle
line (x_Minion+80, y_Minion-30, x_Minion+130, y_Minion-45);//leg monocle
fill (255);
stroke (#9DA1A5);//gray
strokeWeight (7);
ellipse (x_Minion+80, y_Minion-30, 60, 60);//white and glasses
noFill();
stroke (#676A6C);//old gray
strokeWeight (3);
ellipse (x_Minion+80, y_Minion-30, 60, 60);//white and glasses
fill (#764A3B);
noStroke();
ellipse (x_Minion+80, y_Minion-30, 35, 35);//brown eye
fill (0);
strokeWeight (1);
stroke (0);
ellipse(x_Minion+50, y_Minion+41, 10, 10);//button
ellipse(x_Minion+110, y_Minion+41, 10, 10);
ellipse (x_Minion+80, y_Minion-30, 15, 15);//black eye
stroke(255);
fill (255);
ellipse (x_Minion+72, y_Minion-40, 5, 5);//small white eye
strokeWeight (4);
stroke (#FFC36A);
arc (x_Minion+80, y_Minion+10, 50, 30, 0, PI);//mouth
stroke(0);
strokeWeight(0.1);
fill(8, 41, 64);
quad(x_Minion+63, y_Minion+74, x_Minion+97, y_Minion+74, x_Minion+98, y_Minion+53, x_Minion+62, y_Minion+53);
arc(x_Minion+80, y_Minion+74, 33, 14, 0, PI);
fill(15, 100, 180);
quad(x_Minion+65, y_Minion+74, x_Minion+95, y_Minion+74, x_Minion+96, y_Minion+54, x_Minion+64, y_Minion+54);
arc(x_Minion+80, y_Minion+74, 30, 13, 0, PI);
fill(35, 41, 65);
ellipse(x_Minion+80, y_Minion+67, 20, 20);
fill(164, 206, 230);
quad(x_Minion+80-8, y_Minion+67, x_Minion+80, y_Minion+67-8, x_Minion+80+8, y_Minion+67, x_Minion+80, y_Minion+67+8);
fill(35, 41, 65);
ellipse(x_Minion+80, y_Minion+67, 8, 8);
rect(x_Minion+80, y_Minion+67, 10, -2);
fill(164, 206, 230);
rect(x_Minion+80, y_Minion+67, 10, 2);
}
void moveArm () {
strokeWeight(1.8);
stroke(#000000);
fill(#6F3006);
if (keyCode == LEFT) {
Left_up = Left_up-5;
slide_Lup = slide_Lup+5;
if (Left_up <= -120) {
Left_up = -120;
}
if (slide_Lup >= 80) {
slide_Lup = 80;
}
fill (#FAD29A);
rect(70+slide_Lup, 80, 40, 20);
rect(70-10+slide_Lup, 80+20, 40, 20);
rect(110+slide_Lup, 80, 40, 20);
rect(110-10+slide_Lup, 80+20, 40, 20);
fill(#F7A12F);
noStroke();
rect(70+slide_Lup+3, 80+10, 35, 10);
rect(70-10+slide_Lup+3, 80+10+20, 35, 10);
rect(110+slide_Lup+3, 80+10, 35, 10);
rect(110-10+slide_Lup+3, 80+20+10,35, 10);
}
else {
Left_up=0;
slide_Lup=0;
}
if (keyCode == RIGHT) {
Right_up=Right_up+5;
slide_Rup=slide_Rup+5;
if (Right_up>=120) {
Right_up =120;
}
if (slide_Rup>=80) {
slide_Rup=80;
}
fill (#FAD29A);
rect(310+slide_Rup, 80, 40, 20);
rect(310-10+slide_Rup, 80+20, 40, 20);
rect(350+slide_Rup, 80, 40, 20);
rect(350-10+slide_Rup, 80+20, 40, 20);
fill(#F7A12F);
noStroke();
rect(310+slide_Rup+3, 80+10, 35, 10);
rect(310-10+slide_Rup+3, 80+20+10, 35, 10);
rect(350+slide_Rup+3, 80+10, 35, 10);
rect(350-10+slide_Rup+3, 80+20+10, 35, 10);
}
else {
Right_up=0;
slide_Rup=0;
}
if (keyCode == 'A') {
Left_down=Left_down-5;
slide_Ldown=slide_Ldown+5;
if (Left_down<=-80) {
Left_down =-80;
}
if (slide_Ldown>=80) {
slide_Ldown= 80;
}
fill (#FAD29A);
rect(70+slide_Ldown, 320, 40, 20);
rect(70-10+slide_Ldown, 320+20, 40, 20);
rect(110+slide_Ldown, 320, 40, 20);
rect(110-10+slide_Ldown, 320+20, 40, 20);
fill(#F7A12F);
noStroke();
rect(70+slide_Ldown+3, 320+10, 35, 10);
rect(70-10+slide_Ldown+3, 320+20+10, 35, 10);
rect(110+slide_Ldown+3, 320+10, 35, 10);
rect(110-10+slide_Ldown+3, 320+20+10, 35, 10);
if (miss>=5) {
Left_down=0;
slide_Ldown=-5;
}
}
else {
Left_down=0;
slide_Ldown=0;
}
if (keyCode == 'D') {
Right_down=Right_down+5;
slide_Rdown=slide_Rdown+5;
if (Right_down>=80) {
Right_down =80;
}
if (slide_Rdown>=80) {
slide_Rdown=80;
}
fill (#FAD29A);
rect(310+slide_Rdown, 320, 40, 20);
rect(310-10+slide_Rdown, 320+20, 40, 20);
rect(350+slide_Rdown, 320, 40, 20);
rect(350-10+slide_Rdown, 320+20, 40, 20);
fill(#F7A12F);
noStroke();
rect(310+slide_Rdown+3, 320+10, 35, 10);
rect(310-10+slide_Rdown+3, 320+20+10, 35, 10);
rect(350+slide_Rdown+3, 320+10, 35, 10);
rect(350-10+slide_Rdown+3, 320+20+10, 35, 10);
}
else {
Right_down=0;
slide_Rdown=0;
}
}
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);
}
}
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;
}
}
}

ไม่มีความคิดเห็น:
แสดงความคิดเห็น