App Inventor學習記錄79,數字華容道小遊戲,9格圖片版

不要說是上一篇的數字華容道,我解不出來,就算是這一篇的 3×3的 9格版,我也解不出來。但跟上一篇不同,這次直接用圖片來取代數字,比較起來,會好玩很多。

記錄一下:
App Inventor學習記錄79,數字華容道小遊戲,9格圖片版


這一次遊戲畫面是這樣子的,就是要想辦法要把圖給拼出來。


但是如果不知道原本的圖片長什麼樣子的話,就會不好拼,所以多設定了一個在幾秒鐘之後就會出現的顯示圖片按鈕。按下這個按鈕之後,就會出現完成的圖片來參考。

補充一下,這一張照片的名字叫白目寶貝跟白目寶貝。


畫面的配置是這樣:


全部的程式碼如下:


第 1部份的程式碼說明:

跟上一篇相同,把全部的按鈕加入到一個清單上。
再把可以移動的方向也把它建立起來。


第 2部份的程式碼說明:

程式初化的時候:
呼叫按鈕隨機排列小程式
把顯示圖片按鈕的可見性和可按性設定為假。
啟動計時器。
把圖片的可見性設定為假。


第 3部份的程式碼說明:

建立相關的變數。


第 4部份的程式碼說明:

這裡就不多做說明了,跟上一篇是相同的,只是在最後的地方,把設定文字改成設定圖片。
這次就不需要把額外的數字給設定成空白。
因為我已經把圖片都給設定好了,9.png的這個圖片,就是取代原本的空格。
也由於不用處理那一個空白的問題,所以程式寫起來就會簡單多了。


第 5部份的程式碼說明:

按鈕按下之後,我們要先取得這個按鈕可以移動的方向。


第 6部份程式碼說明

同樣的,我們把按鈕可移動的方向拿出來做判斷,找出可以移動的方向中,那一個按鈕對應到的數字是 9,找到這個位置之後,就把兩個按鈕在清單的數值對換,最後,再來圖片全部代入一次就可以了。

至於,為什麼要設定找出按鈕可以移動的方向。這是因為在這個遊戲中,我們只要讓相鄰圖片可以移動。如果那全部按鈕的方向來做比對的話,程式會更好寫,但是效果就不同了。

因為這個遊戲真的太難了,就連 3×3的 9格版我也過不了……
下一篇會改一下,這樣我才解的出來。


第 7部份的程式碼說明:

按下那一個按鈕,就代入那一個數字。


第 8部份的程式碼說明:

建立一個叫時間計時的變數,這個就是要讓按鈕經過多久時間出現用的。
當計時器開始計時的時候:
把時間計時的這個變數每秒加 1,如果這個值大於 10的話,就讓這個按鈕出現而且可用。

當再玩一次按鈕按下的時候:
呼叫按鈕隨機排列小程式
把相關的值,都回復到初始值。


第 9部份的程式碼說明:

這兩個部份我就不說明了。很好理解。


我本來以為改成 9格版的,我就可以不把這個遊戲玩到可以過關,但是還是失敗了……
就因魔術方塊一樣,我原本以為 3×3的我解不出來,還去玩具店買了一個小小的 2×2的版本,結果還是沒有辦法把所有面變成同一個顏色。還被我老婆笑……

這次的 aia檔的下載連結如下:
點我下載 NO_79_3x3_Button_Puzzle.aia

參考書籍如下:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班

之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面

發佈留言