今天一開始教了實習課的兩種進階題
接下來用Processing交了泡泡排序法
然後接續上禮拜的小精靈 讓他會跟隨方向鍵移動跟轉方向
void setup()
{
size(400,400);
}
int X=100,Y=100,dx=3,dy=0,angle=45,diff=1,gg=0;
void draw()
{
background(0);
arc(X,Y,80,80,radians(gg+angle),radians(gg+360-angle),PIE);
fill(255,255,0);
angle+=diff;
if(angle>60) diff= -3;
if(angle<0) diff= +3;
X+=dx;Y+=dy;
}
void keyPressed()
{
if(keyCode==RIGHT) { dx= +3;dy=0;gg=0; }
if(keyCode==LEFT) { dx= -3;dy=0;gg=180; }
if(keyCode==UP) { dx= 0;dy=-3;gg=270; }
if(keyCode==DOWN) { dx= 0;dy=+3;gg=90; }
}
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,dx=3,dy=0,angle=45,diff=1,gg=0;
void draw()
{
background(0);
for(int y=0;y<10;y++)
{
for(int x=0;x<10;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;
}
}
background(0);
arc(X,Y,40,40,radians(gg+angle),radians(gg+360-angle),PIE);
fill(255,255,0);
angle+=diff;
if(angle>60) diff= -3;
if(angle<0) diff= +3;
X+=dx;Y+=dy;
}
void keyPressed()
{
if(keyCode==RIGHT) { dx= +3;dy=0;gg=0; }
if(keyCode==LEFT) { dx= -3;dy=0;gg=180; }
if(keyCode==UP) { dx= 0;dy=-3;gg=270; }
if(keyCode==DOWN) { dx= 0;dy=+3;gg=90; }
}




沒有留言:
張貼留言