App Inventor學習記錄186-認識親戚小遊戲,過年必玩,每年更新

認識親戚這個小遊戲是在過年前做的,我在我的相片庫中搜尋好久,搜集過年期間大概率會碰到的親朋好友的照片,做的一個認識親戚小遊戲

記錄一下:
App Inventor學習記錄186-認識親戚小遊戲,過年必玩,每年更新


由於是過年限定的 APP,所以我加上了音樂和音效,這個用 GIF檔就看不出來。簡單的用手機錄了一小段實際遊玩的影片。

本來是要做是非是和選擇題,但是做是非題的時候,判斷式已經用掉我所有的腦細胞。所以目前這個版本中只有是非題的題目可以玩。

按下畫面中間的 START的圖片 (忘了去背……),就會開始遊戲,同時會啟用圖片兩側的按鈕。一次會抽題庫中的 10個題目。每一題會用隨機的方式,來決定答案。

答對和答錯都會有各自的音效,倒數計時結束前沒有選擇答案的話,也算答題失敗。
10題全部答完之後,會這次出現的人物和正確的稱謂列表出來。答題錯誤的部份,會特別改成紅字,加強記憶。


遊戲開始畫面的配置如下。

目前只有是非題的題庫可以選,選擇題的部份之後再來做。


進場畫面的程式方塊記錄。

程式開始的時候,就播放鉖鉖鉖鉖鏗的過年音樂,然後點擊是非題按鈕之後,先把播放音樂給停止,再跳轉畫面。不然有的時候音樂會重疊的很怪。


是非題的畫面配置如下。

我想大家從中間的圖片怎麼沒有去背就看的出來,這個小遊戲我做的很趕……


全部的程式方塊如下。


第 1部份的程式方塊說明。

清單_按鈕群組,這裡頭的按鈕只有”是”和”否”,2個按鈕。
清單_隨機抽 10題,這個清單放的是圖片檔名,像 1、4、5、23、32這樣。
清單_隨機抽 10題的題目主辭,這裡放的就是選中圖片對應的親戚的稱謂。
清單_設定 1或 2,這是設定題目的答案用,1對應是,2對應否。
變數_倒數,倒數計時 3秒。
變數_第幾題,變數_得分,這個不用解釋了吧。
變數_是非題答案。按下圈叉按鈕後,會變更這個變數的值。
變數_計時器 2延遲,延遲時間。
變數_計時器 3顯示,最後列出人物慢慢顯示用的變數。
清單_答錯的題目,答錯的題目會加到這個清單中。


第 2部份的程式方塊記錄。

這兩個清單放的元件,是對應 10題是非題完成後,最後出現的人物圖片和名稱的對照。
同樣把清單建起來,等一下用程式處理的時候就會比較方便。


第 3部份的程式方塊記錄。

最上面那兩個清單,最後會把同名稱的清單內容,加到同一個清單中。
為什麼不直接一個清單把內容都全部加上去就好了。這個主要是因為 APP INVENTOR在增加清單項目這個部份,如果清單項目很長的話,就不太好用。所以我一個清單大概就是抓 20個項目,等程式開始的時候再用 append to list方塊,把多個清單組合成一個清單。


第 4部份的程式方塊記錄。

建立隨選 10題程式。
在這個程式中,我們會做用程式設定出三個清單。
清單_隨選抽 10題的做法,就是從全部的題庫中選出不重覆 10題,然後把它們加到清單中。這個部份請參考之前介紹過的這一篇:隨機取 A清單的不重複項目,加入到 B清單的 3種方法

清單_設定 1或 2,這個清單是要拿來決定是非題的答案用,我們隨取 1或 2的值加到清單中,舉個例子,假設我們的取得了一個清單像是 [2,1,1,1,1,2,2,2,1,2],那麼這 10題是非題的答案就是 [X,O,O,O,O,X,X,X,O,X]

清單_隨機抽 10題的題目主辭,如果該題的答案是圈的話,就直接抓對應的答案加到清單,如果該題的答案是 X的話,就隨機選一個不是正確答案的答案加到清單中。


第 5部份的程式方塊記錄。

建立遊戲開始程式。
由於遊戲按鈕,是從點擊圖片元件開始的,而同一個圖片元件在遊戲開始之後,就會一直顯示人物頭像,為了避免錯誤,所以 set image1.clickable to false把圖片的可點擊性設定為假。

設定一下圖片要顯示的圖片,以及標籤要顯示的題目。


第 6部份的程式方塊記錄。

為了要增加遊戲的節奏感,所以有限制答題的秒數。
所以在判斷的時候,要先判斷時間沒有超過,時間超過就直接跳下一題,發出答題錯誤的音效。這個部份我們直接放在 else這裡。

如果按下按鈕的時間在還時間內的話,那就還在要分成 4種狀況。
1.答案是 O,按下 O按鈕。
2.答案是 O,按下 X按鈕。
3.答案是 X,按下 O按鈕。
4.答案是 X,按下 X按鈕。
這四種情形,我們再個別的做判斷。


第 7部份的程式方塊記錄。

建立下一題程式。
在這個程式中我們用變數_第幾題的值來判斷我們進行到第幾題,圖片和題目要用第幾題的題目。

變數_第幾題的值大於 10的話,代表 10題都完成了。


第 8部份的程式方塊記錄。

按鈕鎖定程式,就是要讓按鈕被按下之後,就不能再被按下,不然會有重覆答題或是跳題的情況發生,所以不管是按下 O或是 X按鈕之後,就會把執行這個程式,把按鈕鎖起來。


第 9部份的程式方塊記錄。

當前進到下一題的時候,我們自然要重新打開按鈕,這個時候要執行的就是按鈕開啟程式。


第 10部份的程式方塊記錄。

螢幕初始化的時候,就播放鉖鉖鉖鉖鏗的過年喜慶音樂。
然後,用 append to list把清單合併一下。

呼叫隨選 10題程式和按鈕鎖定程式。
會呼叫按鈕鎖定程式是因為遊戲還沒開始,所以就先把按鈕先鎖起來,以免有多餘的問題產生。


第 11部份的程式方塊記錄。

圖片被按下的時候,呼叫遊戲開始以及按鈕開啟程式。
這個圖片元件,有在畫面編排的屬性中,勾選 clickable。


第 12部份的程式方塊記錄。

按鈕 O按下時,把變數_是非題答案的值設定為 true。
按鈕 X按下時,把變數_是非題答案的值設定為 false。
這個變數設定完成之後,我們就可以呼叫判斷程式下去判斷是答對還是答錯。


第 13部份的程式方塊記錄。

返回按鈕按下的時候,我們就回到 screen1。
記得要關閉正在播放的音樂。不然音樂有的時候會重疊


第 14部份的程式方塊記錄。

這個就是每題答題時間的倒數計時。


第 15部份的程式方塊記錄。

這個是每一題切換的時候,加入一個延遲的時間。


第 16部份的程式方塊記錄。

這個計時器控制的是最後一個畫面,圖片一張一張顯示的部份。
其它也可以用之前介紹過的外掛來做,請參考:
在迴圈中,插入時間間隔的外掛~KIO4_TimerX


第 17部份的程式方塊記錄。

最後的這一個計時器就是把我們答題時答錯的題目,用紅字顯示出來。

全部的程式方塊都簡單說明過了,建議大家試著做一次,就會用的越來越熟。
但如果不想要重新拉程式方塊,或要需要範例 aia檔的話,請前往第 2頁哦!

發佈留言