2021年12月13日 星期一

WEEK10-阿噗的神奇小筆記(現在補補補2)

 

期末作業開工啦2


💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙

😅繼續補齊Blog,發現大家的禮拜都不一樣! 
🌚今日早上的遊戲引擎依舊好累,被老師放生的我們QQ
💜(這一個禮拜明園有夜市,買了拔絲地瓜,比之前貴了$10阿阿,但我還是照買)

----------------------------------------------------------------------------------------------------------

1.今日換我們來聽老師的解說了!!
2.老師幫我們列了三個主題:
    (1)蟑螂會從哪裡出現,如何對應移動速度與方向?
    (2)藍白拖怎麼打死蟑螂?
    (3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;
3.開始製作打蟑螂


-依舊先來一張噁心蟑螂圖😵


💩!準備開始囉!💩
----------------------------------------------------------------------------------------------------------

首先老師先選出三個核心主題為我們解說

//探討主題:
//(1)蟑螂會從哪裡出現,如何對應移動速度與方向?
//(2)藍白拖怎麼打死蟑螂?
//(3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;


----------------------------------------------------------------------------------------------------------

全部程式碼如下:


float x,y,vx,vy;
void setup(){
  size(300,300);
  generateCockroach();
}


void draw(){
  background(128);
  fill(0);//蟑螂顏色
  ellipse(x,y,10,10);
  x+=vx;  y+=vy;//若超過左邊界、右邊界,則會隨機產生蟑螂。
  if(x<0 || y<0||x>300||y>300)generateCockroach();//不管邊界x,y<0或x,y>300,都會產生新的蟑螂。
  noFill(); ellipse(mouseX,mouseY,80,80);//產生藍白拖。
  if(mousePressed && dist(mouseX,mouseY,x,y)<40)//如果藍白拖拍打蟑螂時,蟑螂的x,y座標小於40,則死掉。
  generateCockroach();//死後產生新的蟑螂。
  if(frameCount%10==0){//每一秒,改一次角度
    float angle = atan2(vy,vx);
    //float angle2=(angle+radians(90));//時間到就轉90度。
    float angle2=(angle+radians(random(-30,30)));//時間到就轉30度。
    vx =cos(angle2);
    vy =sin(angle2);
    }
  }



void generateCockroach(){
  int edge=int (random(4));//4個邊
  if(edge==0){
  x=300;y=random(300);vx=-random(1,3);vy=random(-3,+3);
  }else if(edge==1){
    x=random(300);y=300;vx=-random(-3,3);vy=random(1,3);
  }else if(edge==2){
    x=0;y=random(300);vx=random(1,3);vy=random(-3,+3);
  }else if(edge==3){
    x=random(300);y=0;vx=random(-3,3);vy=random(1,3);
  }
}

----------------------------------------------------------------------------------------------------------
此為執行畫面:

黑點點為蟑螂,而大圈圈則為藍白拖。
蟑螂已會隨便亂跑,而不是單一直線行走(更有蟑螂的感覺)
當大圈圈點向黑點點,黑點點會消失,接著跑出下一個黑點點(目前一次出現一個黑點點)



----------------------------------------------------------------------------------------------------------
以上為現在的進度,核心已大致上完成。
(下一次會在試做時間及得分!!)

沒有留言:

張貼留言