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