記錄一下。
App Inventor學習記錄163-命運轉盤小遊戲2~自訂獎勵懲罰清單
這部份完成的範例如下。
最上方同樣有個轉盤在轉,看上去比較動感一些,做法請看上一篇轉盤旋轉。
轉盤的下方就是 12個文字輸入盒,可以填入 12個獎勵的項目。
有 12個項目是因為我找到的圖片是 1~12。
如果每次都要填 12個項目的話,還真麻煩。所以在這裡加入了可以儲存清單,讀取清單的按鈕。這樣就不用每次使用的時候都要重打一次。
補充一下,獎勵版的畫面是彩色的,懲罰版的就是像這樣是黑白的。
我們家的獎勵不外乎獎金、看電視、玩手機這些的,最大獎應該是爸爸幫做家事一件。沒錯像是吸地、拖地、洗碗現在都是小胖在做,我為了我能偷懶,所以早早的就開始訓練小孩做家事。
當然也加入銘謝惠顧這種讓小孩從天堂掉到地獄的選項。
處罰也是就彈耳朵、禁手機、禁電視等等的,當然也是有免罰的選項。
版面配置的部份如下。
記錄的部份,這裡是透過 tinydb的元件來做。
這裡只有做簡單的儲存和讀取的功能。
全部的程式碼如下。
第 1部份的程式碼記錄。
預設的獎項清單,這個清單就放程式第一次執行的時候,會出現的獎勵預設值。
文字輸入盒這個清單,放的就是 12個文字輸入盒的元件。
等一下我們再拉資料的時候比較方便。
第 2部份的程式碼記錄。
獎勵清單這個清單是要用來儲存我們自訂的資料用的。
第 3部份的程式碼記錄。
when screen1.initialize,當程式初始化的時候。
把圖片的寬度和高度,設定成螢幕寬度的 0.3的大小。
啟動計時器。
這個部份跟前一篇是相同的。
程式初始化的時候,我們還要先讀取 tinydb中的資料,如果有資料的話,我們就讓儲存的資料顯示在文字輸入盒中,如果沒有就把代入預設的資料。
所以這裡加入一個流程判斷式,用 call tinydb1 get value的程式,去取得 lucky這個標籤下的資料。再來判斷這個資料是不是一個空清單。
如果資料是一個空清單的話,就把獎勵清單的值,設定成預設的獎勵清單的值。
如果資料不是空清單的話,就獎勵清單的值,設定成用 call tinydby get value程式,取得 lucky這個標籤下的資料。
然後,我們再用 for each item from的方塊,用任意方塊,逐項的把文字輸入盒這個清單中的每一個文字輸入盒的文字,設定成獎勵清單中的項目。
第 4部份的程式碼記錄。
when button 3.click,當按鈕 3(前往轉盤)被按下的時候。
open another screenn with start value,開啟 screen 2這個螢幕。同時把獎勵清單當成初始值,傳遞到 screen2裡。
這裡補充一下,line社群中,真的有很多高手,有個高手就分享了用 tinydb元件,在不同的螢幕中傳遞數值的方法,真的是超好用的。
不過這裡先不介紹,等到第 187篇的時候再來介紹。
如果還沒有加入 line討論社群的朋友,也可以掃描網站右邊的 QR code加入。
第 5部份的程式碼記錄。
when button 1.click,當按鈕 1(上次記錄)按下的時候。
這個部份,跟第 3部份用的程式碼是完全相同就可以了。
第 6部份的程式碼記錄。
這個部份上一篇已經介紹過了,就是讓圖片轉動。
第 7-1部份的程式碼記錄。
when button2.click,當按鈕 2(更新獎項)被按下的時候。
先判斷一下 12個文字盒的文字都不能不空。不然儲存的清單,就會少幾個項目。
第 7-2部份的程式碼記錄。
如果 12文字輸入盒都有填寫入文字的話,那麼就依序的把每一個文字輸入盒的文字加入到獎勵清單中。最後再用 call tinydb store value的程式,把獎勵清單儲存在 lucky這一個標籤下。
這次要介紹的部份就先到這裡了,還好我這次有把命運轉盤小遊戲拆成三篇講,不然每一篇的內容都太長了,寫起來好累人。不過, aia檔的內容依舊是完整版的,所以下載一次就可以了。
這次的 aia檔的下載連結如下:
NO_163_Spin_wheel.aia
另外app inventor交流討論群組連結如下(掃描 QR code或是點擊連結皆可)
https://line.me/ti/g2/Loxwrcc2iNRS5-Qd4SFXxQ?utm_source=invitation&utm_medium=link_copy&utm_campaign=default
參考書籍請見博客來書籍介紹頁面:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班
之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面