這個遊戲一開始是由小胖從學校學回來的,玩了兩次之後,我們就學會了,由於規則很簡單,所以很適合拿來改成 app的方式來做。
記錄一下:
App Inventor學習記錄88,21張牌猜心魔術
先說明一下 21張猜心魔術的玩法:
1. 先隨意挑 21 張撲克牌〈並請觀眾隨意記 1 張牌〉。
2. 將所有撲克牌分成 3 堆,並讓觀眾看每一堆的牌,當觀眾看到有自己的牌後,魔師把那一堆術撲克牌排放到最中間的堆中,然後同樣步驟連續進行 3次。
3. 第 3 次,魔術師就可以會將觀眾心中指定的那副牌取出。
4. 觀眾心中指定的那副牌,一定會出現在三堆牌中的中間那一堆中第四張。
也就是從上面數下來或是從下面數上來的第 11張牌。
改成 app版的部份如下:
遊戲進行的時候,會看到遊戲的說明,這裡我做了 9張牌版和 21張牌版兩種。
兩種遊戲的做法是相同的,只是 9張牌版的,只要分牌兩次就可以。
21張牌版的話,則是要分牌 3次。
遊戲開始就會從 52張牌中隨機選擇 21張牌,顯示在螢幕上。
這裡就記下其中一張牌,這裡就以鬼牌為例。
鬼牌有出現,所以按是。
鬼牌有出現,所以按是。
鬼牌有出現,所以按是。
這樣做玩 3次之後,就會跳到最後的遊戲畫面。
這裡我放了兩種結局,一種就是直接出現正確的牌。
另一種就是故意猜錯一次的。
screen2 的畫面配置如下。
這裡用三組水平配置,每一個水平配置中都放了 7個圖片。總共 3組 21張圖片。
這 21張圖片會從撲克牌中的 52張牌中隨機選出來。
一開始的畫面都是撲克牌的背面,隨著計時器的計時,就會一張一張翻出來。
screen2全部的程式如下:
第 2-1段程式碼說明。
當程式初始化的時候:
把計時器啟動。
然後把 全 21張圖片群組這個變數中的圖像的圖片,都設定成 back.png這個圖片。
第 2-2段程式碼說明:
當計時器開始計時的時候:
從 52張牌中取得不重覆的 21張牌的清單。
然後讓它一個一個的顯示出來。
當清單取到 21個項次的時候則停止計時器。
這裡其實不用寫的這麼麻煩,可以先取清單,在一次顯示出來。
但是這樣寫的話,太靜態了,感覺好像少了什麼。
所以才用計時器的方法來做,至少做出了一點動態的效果。
screenchoose2的畫面配置是這樣的。
照這個魔術步驟,應該要把牌分成三堆。但是在這裡,我只是顯示了兩堆牌出來,因為如果這兩堆牌中沒有我們選中的牌的話,那麼我們選中的牌,一定就是在是第三堆。
但是我在程式碼中,還是會把 21張牌分拆成 3個清單。
screenchoose2全部的程式碼如下。
3-1段程式碼說明:
當螢幕初化的時候,把前一個螢幕中的值取過來,然後打亂它重新放到一個新的清單中。
這樣看起來就會是洗牌之後順序。
接著呼叫按鈕全關和分成三堆這兩個程式。
再把計時器 21_1給打開。
3-2段的程式碼說明。
寫一個分成三堆的程式。
這個程式最前面關於第幾輪的那一段,就是用來決定選牌選幾次之後的結果。
反倒是設定分堆 1、2、3的這裡比較重要。
假設我們目前有一個依序從 1一直排到 21的序列。
我們用任意數字範圍來寫。
分堆 1是從 1開始,一直到 21,每次增加 3。
所以我們就會取到 1、4、7、10、13、16、19的值。
分堆 2是從 2開始,一直到 21,每次增加 3。
所以我們就會取到 2、5、8、11、14、17、20的值。
分堆 3是從 3開始,一直到 21,每次增加 3。
所以我們就會取到 3、6、9、12、15、18、21的值。
第 3-3段的程式碼說明。
寫一個判斷清單重新分配 1、2、3的程式。
程式一開始,就把原本判斷清單給清空。
然後依序把分堆 1、2、3,用不用的順序給加到新的判斷清單中。
第 3-4段的程式碼說明:
這裡再補按鈕全開、按鈕全關、圖片全部改背景的三個程式。
這三個小程式,會反覆的用到,就先寫起來放著,要用的時候也比較方便。
第 3-5段的程式碼說明:
當計時器 21_1開始計時的時候。
這個部份,如果同樣一次把 7張牌顯示出來的話,程式會比較快。
但同樣總覺得少了點什麼。
所以又很麻煩的用計時器的方式來寫,讓牌可以一張一張的翻開。
第 3-6段的程式碼說明:
這個部份跟前一段相同。
差別只是在要顯示的那一個清單中的項目而已。
第 3-7段程式碼說明:
當是的按鈕被按下之後。
這裡用順序變數來控制是這個按鈕按鈕後的不同反應。
第 3-8段程式碼說明:
當否的按鈕被按下之後。
這裡用順序變數來控制是這個按鈕按鈕後的不同反應。
這一個猜心魔術 app中,比較重要的程式碼如上,其它的部份就沒有什麼太特別。
這裡就不特別的說明了。
比較不好意思的是畫面編排的部份……我真的盡力了。
這次的 aia檔的下載連結如下:
點我下載 NO_88_Guess_mind.aia
參考書籍如下:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班
之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面