遊戲:簡單版跑跑薑餅人
玩法:
按下按鈕後,薑餅人即可跳起
吃到一枚硬幣加五分
碰到大便及失敗
PImage imgBG, img, img1, img2;
PImage img10;
PImage img11;
PImage img12;
PImage img13;
PImage img14;
PImage img15;
PImage img16;
PImage img17;
PImage img18;
PImage img19;
float centerx=9570;
float myImgX=80;
float myImgY=320;
float mySpeed=25;
int [][] cx=new int[50][50];
int [][] cy=new int[50][50];
int [][] cd=new int[50][50];
int [][] bx=new int[50][50];
int [][] by=new int[50][50];
int [][] bd=new int[50][50];
int csx=150;
int csy=320;
int ry;
int bs;
int i, j;
int jump=0;
int score;
int bt=1;
int n1, n2, n3, n4, n5, nu1, nu2, nu3, nu4, nu5;
import processing.serial.*;
import ddf.minim.*;
Serial myPort;
AudioPlayer player;
AudioPlayer player1;
Minim minim;
void setup() {
myPort=new Serial(this,"COM5",9600);
size(720, 576);
img = loadImage("ginger.png");
img1 = loadImage("coin.png");
img2 = loadImage("poo.png");
imgBG = loadImage("back.jpg");
img10 = loadImage("0.png");
img11 = loadImage("1.png");
img12 = loadImage("2.png");
img13 = loadImage("3.png");
img14 = loadImage("4.png");
img15 = loadImage("5.png");
img16 = loadImage("6.png");
img17 = loadImage("7.png");
img18 = loadImage("8.png");
img19 = loadImage("9.png");
nu1=10;
nu2=100;
nu3=1000;
nu4=10000;
nu5=100000;
n1=0;
n2=0;
n3=0;
n4=0;
n5=0;
for (j=0; j<50; j++)
for (i=0; i<50; i++) {
bd[j][i]=0;
bs=int(random(1, 100));
if (bs>=0&&bs<5)bd[j][i]=1;
cd[j][i]=1;
cx[j][i]=csx;
bx[j][i]=csx;
by[j][i]=csy;
ry=int(random(1, 3));
if (ry==1)cy[j][i]=csy;
else if (ry==2)cy[j][i]=220;
csx+=75;
}
imageMode(CENTER);
minim = new Minim(this);
player = minim.loadFile("coin.mp3", 2048);
player1 = minim.loadFile("pee.wav",2048);
}
void draw() {
//-------------------
if(myPort.available()>0)
{
int a=myPort.read();
if(a=='A' && jump==0) jump=1;
}
//---------------------
if (bt==1) {
image(imgBG, centerx, 288);
image(img, myImgX, myImgY, 100, 100);
print(myImgX);
for (j=0; j<50; j++)
for (i=0; i<50; i++) {
if (myImgX>=cx[j][i]-20&&myImgX<=cx[j][i]+20)
if (myImgY>=cy[j][i]-20&&myImgY<=cy[j][i]+20)
{
cd[j][i]=0;
score += 5;
player = minim.loadFile("coin.mp3");
player.play();
}
}
for (j=0; j<50; j++)
for (i=0; i<50; i++) {
if(bd[j][i]==1)
if (myImgX>=bx[j][i]-20&&myImgX<=bx[j][i]+20)
if (myImgY>=by[j][i]-20&&myImgY<=by[j][i]+20)
{
bt=2;
player1 = minim.loadFile("pee.wav");
player1.play();
}
}
for (j=0; j<50; j++)
for (i=0; i<50; i++)
{
if (cd[j][i]==1)image(img1, cx[j][i], cy[j][i], 50, 50);
if (bd[j][i]==1)image(img2, bx[j][i], by[j][i], 50, 50);
}
centerx-=10;
for (j=0; j<50; j++)
for (i=0; i<50; i++)
{
cx[j][i]-=10;
bx[j][i]-=10;
}
if (jump>0)
{
if (jump<=20)
myImgY-=10;
jump++;
if (jump>20)
myImgY+=10;
if (jump==40)jump=0;
}
if (centerx<=-8850)bt=2;
}
if (bt==2)
{
n1=score%nu1;
n2=score%nu2/10;
n3=score%nu3/100;
n4=score%nu4/1000;
n5=score%nu5/10000;
//println(time);
bt=3;
}
if (bt==3)
{
if (n1==0)image(img10, 630, 300, 50, 50);
if (n1==1)image(img11, 630, 300, 50, 50);
if (n1==2)image(img12, 630, 300, 50, 50);
if (n1==3)image(img13, 630, 300, 50, 50);
if (n1==4)image(img14, 630, 300, 50, 50);
if (n1==5)image(img15, 630, 300, 50, 50);
if (n1==6)image(img16, 630, 300, 50, 50);
if (n1==7)image(img17, 630, 300, 50, 50);
if (n1==8)image(img18, 630, 300, 50, 50);
if (n1==9)image(img19, 630, 300, 50, 50);
if (n2==0)image(img10, 580, 300, 50, 50);
if (n2==1)image(img11, 580, 300, 50, 50);
if (n2==2)image(img12, 580, 300, 50, 50);
if (n2==3)image(img13, 580, 300, 50, 50);
if (n2==4)image(img14, 580, 300, 50, 50);
if (n2==5)image(img15, 580, 300, 50, 50);
if (n2==6)image(img16, 580, 300, 50, 50);
if (n2==7)image(img17, 580, 300, 50, 50);
if (n2==8)image(img18, 580, 300, 50, 50);
if (n2==9)image(img19, 580, 300, 50, 50);
if (n3==0)image(img10, 530, 300, 50, 50);
if (n3==1)image(img11, 530, 300, 50, 50);
if (n3==2)image(img12, 530, 300, 50, 50);
if (n3==3)image(img13, 530, 300, 50, 50);
if (n3==4)image(img14, 530, 300, 50, 50);
if (n3==5)image(img15, 530, 300, 50, 50);
if (n3==6)image(img16, 530, 300, 50, 50);
if (n3==7)image(img17, 530, 300, 50, 50);
if (n3==8)image(img18, 530, 300, 50, 50);
if (n3==9)image(img19, 530, 300, 50, 50);
if (n4==0)image(img10, 480, 300, 50, 50);
if (n4==1)image(img11, 480, 300, 50, 50);
if (n4==2)image(img12, 480, 300, 50, 50);
if (n4==3)image(img13, 480, 300, 50, 50);
if (n4==4)image(img14, 480, 300, 50, 50);
if (n4==5)image(img15, 480, 300, 50, 50);
if (n4==6)image(img16, 480, 300, 50, 50);
if (n4==7)image(img17, 480, 300, 50, 50);
if (n4==8)image(img18, 480, 300, 50, 50);
if (n4==9)image(img19, 480, 300, 50, 50);
if (n5==0)image(img10, 430, 300, 50, 50);
if (n5==1)image(img11, 430, 300, 50, 50);
if (n5==2)image(img12, 430, 300, 50, 50);
if (n5==3)image(img13, 430, 300, 50, 50);
if (n5==4)image(img14, 430, 300, 50, 50);
if (n5==5)image(img15, 430, 300, 50, 50);
if (n5==6)image(img16, 430, 300, 50, 50);
if (n5==7)image(img17, 430, 300, 50, 50);
if (n5==8)image(img18, 430, 300, 50, 50);
if (n5==9)image(img19, 430, 300, 50, 50);
}
}
--------------------------------------------------------------------------------------------------------------------------
arduino
void setup(){
Serial.begin(9600);
pinMode(3, INPUT_PULLUP);
}
void loop()
{
if(digitalRead(A3) == LOW )
{
digitalWrite(13,LOW);
Serial.write('A');
}
delay(100);
}

沒有留言:
張貼留言