iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
自我挑戰組

從積木開始學程式系列 第 8

[DAY>8<]雙人連線終極密碼_6 (程式碼下)

今天要講的是set_number的螢幕(使用者設定給對方號碼的地方)

在螢幕一開始初始化時要建立兩個變數分別是
(player1確認狀態)
(player2確認狀態)
這兩個是用來判斷是否雙方都已經將密碼設定好並且送出!

https://ithelp.ithome.com.tw/upload/images/20181023/20108017LTGiVZWKcH.png

再來我們下面用分區塊說明
紅色1區塊部分:
用來辨識說使用者輸入的數字是否符合規範
當輸入超過9999的數字時就會被系統認定這個數值不符合規範
(當初在考慮遺漏了一點,應該要加上不得小於1,學習的朋友們可以自行加上,然後用logic And去合併邏輯)

紅色2、3區塊部分:(首先先確定使用者是玩家1還是玩家2)

當我是玩家1的時候,
我要儲存給對方的終極密碼時,玩家1給的終極密碼要存到玩家2的欄位裡面
反過來,當我是玩家2,我輸入的終極密碼就是存到玩家1的欄位裡面!

然後下方GET的用法是用來確定雙方是否已經將終極密碼都輸入並且存到FIREBASE之內,如果對方還沒輸入,這個遊戲就無法進入,直到對方將終極密碼存到FIREBASE之後,才會進入遊戲(GameStart畫面)~

https://ithelp.ithome.com.tw/upload/images/20181023/20108017RLKhyGicPu.pnghttps://ithelp.ithome.com.tw/upload/images/20181023/201080179pajmdU6fB.png


再來就是GameStart螢幕程式碼設計,這應該也是目前程式最複雜最多的地方!

一樣我們在程式初始化時新增變數
這次我們共要新增四個變數分別為:
"我要猜的數字"預設值為空
"我輸入的數字"預設值為空
"最小"預設值為1
"最大"預設值為9999

https://ithelp.ithome.com.tw/upload/images/20181023/20108017gEkOwuP1C3.png

在下一組程式碼中,我們要設定
在GameStart這個螢幕開啟時做以下動作
先依照我是玩家1還是玩家2
找到自己要準備猜測的終極密碼
然後將取得到的值存入"我要猜的數字"變數中
然後設定一個監聽器監聽對方的值
(用來偵測對方是否勝利)

https://ithelp.ithome.com.tw/upload/images/20181023/201080179wDKt05fsw.png
https://ithelp.ithome.com.tw/upload/images/20181023/20108017IuAI6GvPgH.png

上面有用到的監聽程式碼與此程式塊作對應,如果收到對方的值為win的話,我就會顯示我輸了!

https://ithelp.ithome.com.tw/upload/images/20181023/201080177i8rJ1InCL.png

接下來是最後一部分
當我打完我猜的數字,按下送出時
會將我的數字數字存入"我輸入的數字"變數中
並且將原本輸入的數字從TextInput清除掉,方便使用者再次輸入下一個猜測的數字!

當我目前範圍是500-6666的時候
如果這時候使用者數字輸入在這個範圍外,基本上要出現錯誤訊息
所以這時候就加上的這一條程式碼
if 我輸入的數字 > 最小 and 我輸入的數字 < 最大
這行來解決使用者輸入範圍以外的數字

if 我要猜的數字 = 我輸入的數字
就會恭喜猜對了,並且將獲勝的訊息傳回至firebase資料庫,讓對方知道他已經輸了!

if 我要猜的數字 < 我輸入的數字
這樣我的最大數字範圍就會變成 "我輸入的數字"

if 我要猜的數字 > 我輸入的數字
這樣我的最小數字範圍就會變成 "我輸入的數字"

https://ithelp.ithome.com.tw/upload/images/20181023/20108017KnvcuImK5x.png
https://ithelp.ithome.com.tw/upload/images/20181023/20108017V3qDtLgEBG.png

我們的雙人連線終極密碼專案就完結囉~~~
明天就換其他主題囉!

在專案結尾也附上此專案分享檔,
有興趣可以直接copy過去研究或改寫喔!!
2020.11.27更新專案連結
https://x.thunkable.com/copy/82f3bdbc78769e5be7c20473d5ca22e9


上一篇
[DAY>7<]雙人連線終極密碼_5 (程式碼上)
下一篇
[DAY>9<]製作一個學人講話的APP
系列文
從積木開始學程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
marcos
iT邦新手 5 級 ‧ 2020-09-23 10:08:59

你好

看過這個專案示範之後,覺得讓我這個程式麻瓜也很有信心可以透過 thunkable 做出一些有趣的東西。

可惜目前似乎除了 sign up 功能之外,並無法透過 firebase 的 function 去建立 autoID 來貯存資料,使得可實現的效果比較受限。

若其實有此功能只是沒被我找到得話,再麻煩前輩指教!

謝謝。

0
hylin
iT邦新手 5 級 ‧ 2020-11-27 21:58:28

此專案無法copy喔!"Error copying shared project via link",應該是這個link過期了~~

hylin iT邦新手 5 級 ‧ 2020-11-27 23:57:22 檢舉

謝謝囉!!

hylin iT邦新手 5 級 ‧ 2020-11-28 12:29:04 檢舉

setnumber的兩個Get裡的key也要join "app myroomnum"和"/player" 喔!

我要留言

立即登入留言