更新於 2024/01/16閱讀時間約 2 分鐘

APP Inventor專案分享-閃球遊戲

遊戲流程圖:

遊戲流程圖

遊戲流程圖

版面配置1:

版面配置1

邏輯思維:

建立幾個變數如下,最上面兩個變數值為清單值

程式區塊

接下來分別設定球1位置到左上角落、設定球2位置到右上角落、設定球3位置到左下角落、設定球4位置到右下角落

程式區塊

當螢幕初始化的時候,設定玩家球的X、Y座標和大小,並將玩家球的初始顏色,設定成(變數_顏色清單)中的任一個顏色,然後再呼叫4個球回到初始位置

程式區塊

程序(反彈方向):加入(球1前進方向)以及(球2前進方向)兩個參數

待獲得參數值後,設定球型精靈的反彈方向

為了使遊戲變化性多一點,調整了方向的偏差值

程序(開始遊戲):加入(球的大小倍率)以及(球的速度)兩個參數

設定4個球型精靈的前進方向

待獲得參數值後,設定4顆球的初始大小和速度

程式區塊

程序(球變快變大):將(變數_球型精靈清單)內所有清單項目中的速度及大小增加,利用if迴圈讓球型精靈的速度與大小不超過定值,避免遊戲難度過高

程序(球變慢變小):加入(那一個球)這個參數

待獲得參數值後,減少那顆球的速度及大小

程式區塊

當每個球型精靈不管碰到哪一個邊界都會反彈

當玩家球被拖曳的時候,呼叫開始遊戲並給初始值,也把計時器給啟用,而此時(變數_遊戲開始)變為真,所以不會因為放手後重新滑動而再次呼叫(開始遊戲)這個程式

當計時器啟用,每隔兩秒就呼叫(球變快變大)這個程式,並顯示存活時間

玩家球碰到邊界則執行相對應的執行動作,然後切換畫面並傳值

程式區塊

當球型精靈1碰撞到球型精靈2的時候,呼叫(反彈方向)這個程式,放入球型精靈1和球型精靈2之後,就可以取得兩球碰撞後的前進方向。球型精靈1碰到球型精靈3、4的做法都一樣

球型精靈1的碰撞做完後,接著做球型精靈2、3的碰撞,4個球總共有6種組合要做

程式區塊

當玩家球碰撞到球型精靈時,如果玩家球的畫筆顏色等於球形精靈1的畫筆顏色的話

就把球形精靈1移到原本的位置,然後把球的速度和大小都減少,碰到球形精靈2、3、4也是如此

但如果玩家球的畫筆顏色,不等於球形精靈 1、2、3、4的話,就把(變數_球形精靈)中的每一個球形精靈的速度,都設定為 0。然後停用計時器,把玩家球的啟用設定設為假,這樣按下玩家球的時候,就不會再有反應產生

接著把(變數_存活時間)的值,加入到(變數_資料傳遞)中

開啟另一個螢幕,把(變數_資料傳遞)當成初始值存到到下一個螢幕中

當玩家球碰撞完成後,再將玩家球設定為變數_顏色清單)中的任一個顏色

程式區塊

版面配置2:

版面配置2

最後會顯示本次存活時間以及歷史最高存活時間,當本次存活時間大於歷史最高存活時間,透過微型資料庫儲存數值並顯示出來

程式區塊

結語:本專案複雜,排版可能不好,還請見諒。還有希望本專案能帶你發現製作一個小遊戲的成就感及美好,並發覺自己對於程式的興趣及潛力。









分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.