先複習實習課的題目
----------------------------------------------------------------------------------------------
用Processing來了解泡泡排序法
--------------------------------------------------------------------------------------------
做出Pacman
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=1;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=1;
}
------------------------------------------------------------------------
讓Pacman可以移動
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=1,dx=1,dy=0;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=1;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){dx=1;dy=0;}
if(keyCode==LEFT){dx=-1;dy=0;}
if(keyCode==UP){dx=0;dy=-1;}
if(keyCode==DOWN){dx=0;dy=1;}
}
讓Pacman的嘴巴方向可以朝著前進的方向
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=2,dx=1,dy=0,dir=0;
void draw(){
background(0);
arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0) diff=2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){dx=1;dy=0;dir=0;}
if(keyCode==LEFT){dx=-1;dy=0;dir=180;}
if(keyCode==UP){dx=0;dy=-1;dir=270;}
if(keyCode==DOWN){dx=0;dy=1;dir=90;}
}
讓Pacman可以吃掉豆子
///eat bean, draw first
int [][]bean={
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
};
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=2,dx=1,dy=0,dir=0;
void draw(){
background(0);
fill(255);
for(int y=0;y<10;y++){//小寫的y
for(int x=0;x<10;x++){//小寫的x
if(bean[y][x]==0) continue;
ellipse(20+x*40,20+y*40,10,10);
if(dist(X,Y,20+x*40,20+y*40)<20) bean[y][x]=0;
}
}
fill(#FFCF0D);
arc(X,Y,40,40,radians(dir+angle),radians(dir+360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0) diff=2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){dx=1;dy=0;dir=0;}
if(keyCode==LEFT){dx=-1;dy=0;dir=180;}
if(keyCode==UP){dx=0;dy=-1;dir=270;}
if(keyCode==DOWN){dx=0;dy=1;dir=90;}
}







沒有留言:
張貼留言