Week 07 掉金幣、特務99
1-1 掉金幣(以橢圓代替)
設定球的起始座標位置,以vy為3的速度﹐
用y軸(上下)加上速度(牛頓的微分)往下掉。
多加一顆座標(x2,y2)=(150,250)、速度vy2為2,
以不同位置和速度的球往下掉。
4個陣列分別表示
i顆球的x位置、y位置、vx速度、vy速度。
用 for迴圈 i=0~3 跑出四顆不同位置和速度的球。
在迴圈中增加判斷 :
每顆球的y方向
如果碰到最頂部(y>600)會往回跑,
如果碰到最底部(y<0)會往回跑。
2-1 增加滑鼠mouse碰到寶物 >停止增加顏色,紅球代表滑鼠,黃球代表掉下的寶物。
當紅球碰到黃球時 -> continue,黃球不執行往下掉的動作,
判斷碰到的方式 : 兩球之間的dist(距離) <=50。
當紅球(滑鼠)碰到黃球時,黃球會靜止不動
2-2 滑鼠碰到的球 > dead
增加 布林array一開始皆不成立(false),
如果dead=true -> continue 不往下執行,黃球會不見
注意小細節 : ellipse畫出黃球的那一段程式碼移到contiune後面,
這樣做,碰到的黃球才會不見。
被紅球碰到的黃球都會不見。
了解布林是什麼、怎麼用 ?
要先知道 true = 1、false = 0。
當滑鼠點下去 -> down = true 變紅色,
否則 -> down = false 保持綠色。
3-1 出現更多ball
如果希望一次有無數顆球,那用前面的方法,
每顆球都要設定大小、位置,相當麻煩。
所以可以改用宣告global array陣列變數,
再多設一個N值作為要產生多少顆球的數量(陣列大小),
用for迴圈跑出N顆球,
取(500)以下的x[i]隨機亂數及(100~200)之間的y[i]隨機亂數作為球出現的位置,
(3~4)之間的vy[i]隨機浮點數為速度,
每顆球初始dead[i]都是false。
左圖是原本方法,右圖是現在的方法。
3-2 Class物件
沒有留言:
張貼留言