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