iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
自我挑戰組

初階網頁學習與製作系列 第 15

Day-15 磚塊遊戲(10) 消滅磚頭📴

  • 分享至 

  • xImage
  •  

今天我要精進昨天的程式。在昨天的程式中,當球碰觸到磚塊時,並不會有任何情況發生,
這次新增的程式碼為磚頭的定義、繪製和碰撞檢測,讓遊戲更具挑戰性和樂趣。首先,定義了一個由三行五列的磚頭矩陣,每個磚頭的寬度、高度、間距,以及與畫布邊緣的偏移量。在 drawBricks() 函數中,程式依據磚頭的座標繪製矩形,並只顯示那些 status 為 1 的磚頭,這表示尚未被擊中的磚頭。
新增的碰撞檢測功能在 collisionDetection() 函數中執行。當球的座標與磚頭的範圍重疊時,球會反彈並且磚頭的 status 會被設為 0,代表該磚頭已被消滅。同時,球的顏色會隨機改變,增加視覺上的變化。
這段程式碼的加入使遊戲目標更加明確,玩家需要擊中並消滅所有磚頭才能獲勝,這提升了遊戲的挑戰性與互動性,讓遊戲過程更加有趣且富有成就感。

新增程式碼:
https://ithelp.ithome.com.tw/upload/images/20240929/20169460Vduu89Tjwb.png
https://ithelp.ithome.com.tw/upload/images/20240929/20169460a2bOAIPkdz.png
https://ithelp.ithome.com.tw/upload/images/20240929/20169460V2wocOxw07.png

執行結果:
https://ithelp.ithome.com.tw/upload/images/20240929/20169460yodMHFyup9.png
(碰到磚塊前球為粉色)
https://ithelp.ithome.com.tw/upload/images/20240929/20169460KouraUIRqJ.png
(碰到磚塊後球從粉色變為綠色,磚塊消失)
https://ithelp.ithome.com.tw/upload/images/20240929/20169460wNG0GWD45J.png
(綠球反彈繼續遊戲)

參考資料:
https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Collision_detection


上一篇
Day-14 磚塊遊戲(9) 定義與繪製磚塊🔩
下一篇
Day-16 磚塊遊戲(11) 計分系統🧮
系列文
初階網頁學習與製作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言