俄羅斯方塊 4 ( 消除完成方塊、偵測遊戲結束 )
這篇教學會延續「俄羅斯方塊 3 ( 放置方塊,方塊不斷落下 )」範例,實作俄羅斯方塊遊戲的「消除完成的方塊」和「偵測遊戲結束」效果,當某一行的方塊全滿時,消除該行所有方塊,並把上面的方塊往下移動,此外也會實作當方塊接觸到頂端時,遊戲就結束的效果。
相關文章參考:
快速導覽:
開啟範例
開啟「俄羅斯方塊 3 ( 放置方塊,方塊不斷落下 )」的範例,從這個範例進行修改。
判斷當方塊擺滿一行後,消除方塊
點擊「背景格子」角色,修改「偵測顏色轉換清單」函式,判斷如果 bg_item 清單裡有 0 ,才將其添加到 bg 清單,否則就是添加純粹 12 個 0 的文字到 bg 清單的第一項。
完成後加入「得分」和「雲端變數」的變數 ( 雲端變數需要成為 Scratcher 才能使用 ),以及擺放和消去的音效。
最後設定綠旗點擊時,得分變數為 0。
修正連續按壓鍵盤的問題
由於方塊往下移動時,使用者可能會「連續按壓鍵盤」,當連續按壓鍵盤的情形發生時,就可能會發生「正在偵測顏色,但方塊卻開始移動」的狀況,為了避免這種情形,可以加入一個 stop 變數進行判斷。
前往「方塊造型」角色,在「收到訊息 start」廣播裡,加入 stop 變數等於 0 的積木。
修改「方塊造型」角色的「修正 ( 垂直碰到 ) 」函式,判斷 stop 為 0 才開始進行放置動作,放置時先將 stop 改為 1,就能避免連續按壓的狀況。
判斷遊戲結束
前往「背景格子」角色,修改收到訊息放置,判斷如果 bg 清單的第一個項目如果有出現「不為 0」的內容,就發送 gameover 的訊息,當收到 gameover 訊息時,就停止所有重複迴圈。
完成效果
點擊綠旗,一個基本的俄羅斯方塊遊戲已經完成了,接下來就要添加一些其他的細節。
範例解答
繼續閱讀
如果已經熟悉了俄羅斯方塊 4 ( 消除完成方塊、偵測遊戲結束 ) 的程式,就可以繼續閱讀「俄羅斯方塊 5 ( 下個形狀、支援行動裝置 )」的文章。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~