class teaching:
躲車子
void setup(){
size(900,500);
for(int i=0;i<4;i++) car[i]=loadImage("car"+(i+1)+".png");
for(int i=0; i<3;i++) { carX[i]=int(random(7))*100+100;carY[i]=-random(400);
}
}
int gameOver=0;
void draw(){
background(254,235,156);
if(gameOver>0){
for(int i=0; i<3;i++) { carX[i]=int(random(7))*100+100; carY[i]=random(400);
fill(255,0,0,20); rect(0,0,900,500); gameOver--; return;
}
for(int i=1;i<=7;i++){
if(i%2==1) fill(77);
else fill(111); rect(i*100,0,100,500);
}
for(int i=0;i<3;i++) image(car[i],carX[i],carY[i],100,150);
imge(car[3],carX[3],carY[3],100,150);
for(int i=0;i<3;i++){
carY[i]+=5;
if(carY[i]>500){carY[i]=-random(100); carX[i]=int(random(7))*100+100}
if
}
}
打地鼠
PImage car[]=new PImage[4];
float carX={0,0,0,400}, carY[]={0,0,0,300};
int gopherLife[]={0,0,0,0,0,0,0,0,0};
PImage gopher, gopherPart;
void setup(){
size(900,600);
gopher=loadImage("gopher.jpg");
gopher.resize(150,200);
gopherPart=createImage(150,200,ARGB);
imgeMode(CENTER);
}
void draw(){
background(##FFE40F);
for(int i=0;i<9;i++){
ellipse(int (i%3)*300+150, int (i/3)*200+100,150,100);
gopherLife+=1;
if(gopherLife[i]>0) gopherLife[i]=-int(random(300));
gopherPart.copy(gopher,0,0,150,gopherLife[i],0,0,150,gopherLife[i]);
image(gopher, int(i%3)*300+150, int(1/3)*200+100,150,200);
}
image(gopher,0,0);
}
期中作業:
[賽車]
●跑道
●車子不能穿過跑道
●起跑線
●可以設定幾圈
●有計時器
●跑完設定的圈數後,結束遊戲,跳出另一個視窗顯示記錄板
PImage imgBG;
int table[][]= new int [800][510];
void setup() {
size(800, 510); //700,500
imgBG=loadImage("background.png");
background(imgBG);
loadPixels();
for(int i=0;i<pixels.length;i++){
color now= pixels[i];
if(green(now)>red(now)) pixels[i]=color(255,0,0);//table[i][j]=1;
}
/*
for(int i=0;i<800;i++)
for(int j=0;j<510;j++){
color now= pixels[i+j*510];
if(green(now)>red(now)) pixels[i+j*510]=color(255,0,0);//table[i][j]=1;
//if(green(now)>=253&&red(now)>=246) pixels[i+j*510]=color(255,0,0);//table[i][j]=1;
else table[i][j]=0;
}*/
rectMode(CENTER);
updatePixels();
}
float angle=0, carX=200, carY=100, gas=0;
void draw() {
//background(imgBG);
translate(carX, carY);
rotate(angle);
fill(#0E7C26);
rect(0, 0, 25, 10);
fill(#E7F711);
rect(10, 0, 5, 10);
carX+=gas*cos(angle);
carY+=gas*sin(angle);
if(gas>0) gas-=0.1;
}
void keyPressed() {
if(keyCode==UP) gas+=2;
if(keyCode==RIGHT) angle+=0.1;
if(keyCode==LEFT) angle-=0.1;
if(keyCode==DOWN) gas-=2;
}
void mouseMoved(){
if (table[mouseX][mouseY]>0) println("accident");
else println("safe");
}

沒有留言:
張貼留言