WEEK06
爆爆王基本雛形程式
void setup() //設定場景大小
{
size(800,600);
}
int UserJ=9,UserI=5; //水球放置位子參數
float userX, userY; //玩家參數
int waterN=0; //水球參數
int []waterJ= new int[100]; //水球陣列(放很多顆)
int []waterI= new int[100];
void draw()
{
background(#92AD28);//背景色
noStroke(); //取消邊框格線
for(int i=0;i<10;i++)
{
for(int j=0;j<17;j++)
{
if((j-i)%2==0) fill(#7E9819); //讓背景色分出兩個顏色
else fill(#92AD28);
rect(j*50,i*50,50,50); //做出格子
}
}
fill(255,0,0); ellipse(UserJ*50+25, UserI*50+25,50,50); //玩家位子
for(int i=0;i<waterN;i++)
{
fill(#93E1F7); ellipse(waterJ[i]*50+25, waterI[i]*50+25,30,30); //水球位子
}
}
void keyPressed() ///控制玩家移動
{
if(keyCode==LEFT) UserJ--;
if(keyCode==RIGHT)UserJ++;
if(keyCode==UP) UserI--;
if(keyCode==DOWN) UserI++;
if(key==' ') //按空白鍵放置水球(陣列設100所以可放100顆)
{
waterI[waterN]=UserI;
waterJ[waterN]=UserJ;
waterN++;
}
}
火柴人打鬥遊戲
void setup()
{
size(600,400);
}
float UserX=300, UserY=200;
float mapX=0,mapY=0;
void draw()
{
background(#44B220);
stroke(#356c23); noFill();
for(int i=0;i<16;i++)
{
for(int j=0;j<24;j++)
{
rect(mapX+j*25,mapY+i*25,25,25);
}
}
stroke(0); fill(#FC9E38);
float angle=atan2(mouseY-UserY, mouseX-UserX);
triangle( UserX+40*cos(angle),UserY+40*sin(angle),
UserX+15*cos(angle+PI/2),UserY+15*sin(angle+PI/2),
UserX+15*cos(angle-PI/2),UserY+15*sin(angle-PI/2));
ellipse(UserX, UserY,30,30);
mapX-=dirX;
mapY-=dirY;
}
int dirX=0,dirY=0;
void keyPressed()
{
if(key=='a' ||key=='A') dirX=-1;
if(key=='s' ||key=='S') dirY=1;
if(key=='d' ||key=='D') dirX=1;
if(key=='w' ||key=='W') dirY=-1;
}
void keyReleased()
{
if(key=='a' ||key=='A') dirX=0;
if(key=='s' ||key=='S') dirY=0;
if(key=='d' ||key=='D') dirX=0;
if(key=='w' ||key=='W') dirY=0;
}
沒有留言:
張貼留言