鴻蒙HarmonyOS分布式小車游戲Demo
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
一、鴻蒙HarmonyOS分布式小車游戲Demo詳情
此應(yīng)用是一個基于HarmonyOS的軟件和硬件相結(jié)合的控制小車的小游戲應(yīng)用。手機端APP用于控制鴻蒙小車,鴻蒙小車端被控制。使用了兩部P40手機,兩輛HI3861鴻蒙小車,可以單獨使用一部手機控制任何一輛鴻蒙小車,稱為單人模式,也可以兩部手機各控制一輛鴻蒙小車進行比賽,稱為對戰(zhàn)模式。
二、小車對戰(zhàn)APP使用說明
鴻蒙小車的連接和配網(wǎng)步驟:
首先是啟動鴻蒙小車,按下user鍵,小車會開啟一個WiFI熱點。控制端手機成功連接該WiFi熱點后,鴻蒙小車會把熱點名字顯示在OLED屏幕上:
然后打開手機APP,手機APP使用純鴻蒙API開發(fā),打開應(yīng)用后有背景音效:
在單人模式下,進入APP首頁選擇“單人”,會進入到選擇小車的頁面,通過左右滑動來選擇對應(yīng)編號的小車,也就是說手機可以控制任何一輛鴻蒙小車,:
選定后小車后,再給選擇好的鴻蒙小車配置第三方WiFi熱點,輸入WiFi名和密碼。小車會根據(jù)輸入的WiFi名和密碼連接上對應(yīng)的WiFi,同時小車會關(guān)閉自身WiFi熱點。此時,控制端手機會回退到原本鏈接的WiFi(需要與鴻蒙小車連接在同一WiFi)。這樣多部手機和多個小車都連上指定的熱點,多設(shè)備間就可以利用鴻蒙分布式特性進行交互數(shù)據(jù)了:
完成配網(wǎng)后,小車會將自己的IP地址顯示到OLED屏幕上:
有了鴻蒙小車的IP地址,在手機APP中上輸入這個IP地址,接下來就可以用手機控制鴻蒙小車運動了:
APP控制界面說明:
左下角綠色按鈕,模擬油門,按下它小車開始前跑;
上面的紅色按鈕為停止;
右方的上下左右:上為加速,下為后退,左右分別是左轉(zhuǎn)和右轉(zhuǎn);
右方的按鈕必須同時按下油門,并且都不抬起才能生效,需要用到多點觸控。
對戰(zhàn)模式
手機使用了鴻蒙特有的分布式數(shù)據(jù)庫進行不同手機間的數(shù)據(jù)實時共享,利用分布式數(shù)據(jù)庫,在對戰(zhàn)模式下,比如:A手機選擇了編號28882號小車,B手機能馬上得到彈框通知,避免選沖突,在下次進入后,由于分布式數(shù)據(jù)庫已經(jīng)記住了對戰(zhàn)模式下各自的選擇,頁面將屏蔽掉對手已經(jīng)選擇的小車。
比賽結(jié)果同樣使用的是分布式數(shù)據(jù)庫保存,并且對分布式數(shù)據(jù)庫實時監(jiān)控。對戰(zhàn)模式下,參賽小車中任何一輛率先到達終點,小車下的傳感器將感應(yīng)到終點線,繼而向手機APP發(fā)送自己的小車編號,手機收到編號立即判斷那個小車獲取勝利,并且在所有參賽手機上彈出信息,通報勝利者,并且停止所有參賽小車的行進。
三、設(shè)計思路
手機端設(shè)計思路:
小車端設(shè)計思路:
項目源代碼見下面附件!
https://harmonyos.51cto.com/posts/4776
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)