2020年5月8日 星期五

PROCESSING-小荷葉吃豆豆

PROCESSING

小荷葉吃豆豆num

模仿經典遊戲PAC-MAN

讓我們開始吧~~~
int [][]bean= 宣告小豆子
{        y  1,2,3,4,5,6,7,8,9
   x  1      {1,1,1,1,1,1,1,1,1,1},
         2      {1,1,1,1,1,1,1,1,1,1},
         3      {1,1,1,1,1,1,1,1,1,1},
         4      {1,1,1,1,1,1,1,1,1,1},
         5      {1,1,1,1,1,1,1,1,1,1},
              {1,1,1,1,1,1,1,1,1,1},
         7      {1,1,1,1,1,1,1,1,1,1},
         8      {1,1,1,1,1,1,1,1,1,1},
         9      {1,1,1,1,1,1,1,1,1,1},
        10     {1,1,1,1,1,1,1,1,1,1},
};
接下來 宣告
int
X=100,Y=100,(小荷葉的初始位置)

dx=1,dy=0,  (小荷葉移動的數值)

angle=45,     (小荷葉缺口的叫度)

diff=2,         (控管小荷葉缺口大小的角度)

dir=0;          (為了讓小荷葉轉向所宣告的角度)
好的~需要使用的數值都宣告結束
下來老樣子
第一個函式
void setup()
{
  size(800,800);屏幕大小
}
二個函式
要畫出背景,控制小豆子的數量,跟畫出小荷葉,最後控制角度開合.

void draw()
{
  background(0);幫背景漆上烏黑的宇宙

再來畫白色的小豆子
  fill(255);(填充白色)
  for(int y=0;y<10;y++){
    for(int x=0;x<10;x++){
      if(bean[y][x]==0)continue;(如果豆子[y][x]都是0繼續跑)

      ellipse(40+x*80,40+y*80,10,10);(橢圓小豆子的大小)

      if(dist(X,Y,40+x*80,40+y*80)<40)bean[y][x]=0;
    }
  }
 fill(#6FFFD5);幫開口的圓填滿顏色(藍綠色)

  arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
有開口的圓(小荷葉的初始位置X,跟Y,半徑,寬,開口的角度方向)

  angle+=diff;開口會自動增加跟縮減

if(a>60)diff=-1;張開的限制(碰到了之後就會用減的
if(a<=0)diff=+1;關閉的限制(碰到了之後就會用加的
  X+=dx;
  Y+=dy;
}
三個函式
控制按鍵讓小荷葉可以趴趴走
void keyPressed()
{
   if(keyPressed && keyCode==UP){dy=-1;dx=0;dir=270(轉的角度);
       (Pressed按下&&鍵盤的"上")👆          
}
   if(keyPressed && keyCode==RIGHT){dx=+1;dy=0;dir=0(轉的角度);
      (Pressed按下&&鍵盤的"右")👉
}
   if(keyPressed && keyCode==DOWN){dy=+1;dx=0;dir=90(轉的角度);
      (Pressed按下&&鍵盤的"下")👇
}
   if(keyPressed && keyCode==LEFT){dx=-1;dy=0;dir=180(轉的角度);
       (Pressed按下&&鍵盤的"左")👈
}
   ///為了不讓小荷葉飄移所以沒有動到的值都要歸0
}

以上就是今天的內容摟~~~

心得:邊上課邊學寫遊戲真的很開心而且很有成就感!!!


沒有留言:

張貼留言