iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 7
1
自我挑戰組

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

[DAY>7<]雙人連線終極密碼_5 (程式碼上)

Lobby的部分我們的程式碼如下圖

第一區塊:首先我們一開始要先建立一個"我的稱謂"變數(主要用來識別使用者是玩家1還是玩家2)

第二區塊:當點選"開設房間"按鈕時將使用者的稱謂變數存為"player1"(也就是玩家1的部分)並且開啟add_room視窗

第三區塊:當點選"加入房間"按鈕時將使用者的稱謂變數存為"player2"(也就是玩家1的部分)並且開啟join_room視窗

https://ithelp.ithome.com.tw/upload/images/20181022/20108017TBAj4vfGtl.pngf


add_room程式碼設計如下:
第一區塊:一開始我們也要先設定一個變數叫做"my_room_num"讓房間號有一個地方能夠儲存

第二區塊:當add_room這個螢幕啟動時我們會利用系統將產生一組房間號碼,然後並將產生出來的號碼存到"my_room_num"變數內,再來將我們的資訊存到Firebase雲端
儲存的關鍵字是利用房間號碼
值是代入player1
再來就是等待好友加入
所以設定一塊監聽的部分
監聽的關鍵字設定為我的房間號碼

第三區塊:當我監聽時,發現到我的關鍵字(也就是房號部分)發現有更動,
程式會先確認更動的是我的房間號碼,如果確認就會進行下一步
確認裡面的值是否有包含player2(也就是確認是否有玩家2進入這個房間)
如果包含,就可以進到設定終極密碼的部分(set_number視窗)

https://ithelp.ithome.com.tw/upload/images/20181022/20108017K4Fx8TB4jr.png
https://ithelp.ithome.com.tw/upload/images/20181022/20108017Hz6f8M4tlC.png


join_room程式碼:

當我點選"加入遊戲"按鈕時,就會執行以下程式碼
首先我會先利用firebase去確認是否有這個房間號碼
當我透過房號去搜尋,回傳回來的值下去找是否有包含player1
如果不包含player1就代表,這個房間不存在
就會執行程式碼中else的部分"房號不存在或輸入錯誤請重試"並且將字串顏色變更為紅色!
如果包含player1就代表這個房間是存在的~
確定房間是存在的之後
我們就將資料一樣儲存到firebase上,在資料庫登入說,玩家2已經登入囉~並且跳轉到設定終極密碼的set_number視窗(這裡就呼應了上方的程式碼,當裡面值包含player2,則上方add_room部分就可以進到下一步驟填寫終極密碼!)

https://ithelp.ithome.com.tw/upload/images/20181022/20108017AYsYLK21pk.png


上一篇
[DAY>6<]雙人連線終極密碼_4(FirebaseDatabase建置)
下一篇
[DAY>8<]雙人連線終極密碼_6 (程式碼下)
系列文
從積木開始學程式30

1 則留言

0
hss03100130
iT邦新手 5 級 ‧ 2019-05-30 17:23:49

你好 請問程式中的
in call then do在哪裡找出來?
我好像沒這種方塊。
感謝回答

你好,在realtime DB元件內能找到喔!

我要留言

立即登入留言