【鸿蒙实战开发项目】HarmonyOS原生应用开发小游戏你画我猜

基于 HarmonyOS 分布式能力的你画我猜小游戏

效果演示

注:以下演示画面均使用华为提供的鸿蒙远程模拟器,因为是远程操作上会存在较大延时

由于没有多个本地设备(没钱),远程模拟器只支持两个设备协同,所以不保证在实机或三个及以上设备的体验。

选择共享设备并拉起

选择附近同一个账号的鸿蒙设备,并拉起页面(理论上可以与无限个设备共享,但是远程模拟器只提供了两个设备)
在这里插入图片描述

选择词语开始游戏并绘画

选择词语:系统将从词库中随机选择三个词语共绘画者选择,为避免刷词语的情况出现,只有当选择词语开始游戏后词语才会重新随机生成新的词语。

生成的词语保证三个词语两两不同,且上一轮出现过的词语不会再次出现。

开始游戏后,画板与答案消息均会被清空。

可以选择多种颜色的画笔,画板所有设备实时同步,支持撤销。

在这里插入图片描述

回答与答案判定

消息提示区将会所有设备实时同步。

若回答正确将会将答案正确的消息(不含实际答案)插入消息区。

若回答离正确答案相似(相似的定义为编辑距离等于 1 或小于正确答案长度的 25),将会将答案相似的消息(不含实际答案)插入到消息区,且只有绘画者和自己看见实际提交的答案。

编辑距离:两个字串之间,由一个转换成另一个所需的最少编辑操作次数,允许的编辑操作包括:

将其中一个字符替换成另一个字符(Substitutions)。
插入一个字符(Insertions)。
删除一个字符(Deletions)。

答案错误将会将错误答案插入到消息区,所有人都可以看见错误的词语,以排除错误的答案。

消息气泡用不同的颜色加以区分,更加醒目。

答对后提交框自动关闭禁止再次提交,可统计自己累计答对了多少道题目,新一局游戏开始则会再次允许提交。

在这里插入图片描述

更改昵称

猜测者默认生成一个长度为 6 的ID。

可以自定义自己的名称,自定义的名称实时同步。

在这里插入图片描述

编译此项目

1.安装 DevEco Studio (DevEco Studio 3.0 Beta2 for HarmonyOS)
2.设置DevEco Studio开发环境。DevEco Studio开发环境需要连接到网络,以确保该正常使用。
3.下载此项目
4.打开HUAWEI DevEco Studio,单击File> Open选择此项目
5.单击Build> Build App(s)/Hap(s)>Build Debug Hap(s)以编译hap软件包
6.运行远程模拟器(选择Super Device 的 P40+P40)
7.Super App Run
注意

●您可以选择在模拟器或真机上运行hap软件包。
●如果在真机上运行它,则需要在项目的File> Project Structure> Modules> Signing Configs中配置签名和证书信息。

项目结构解读

在这里插入图片描述

●bean:DeviceData 设备适配器实体类;MyPoint 存放绘制点的坐标和基本信息;AnswerItem 存放答案消息元素。
●listcomponent:根据每个设备处理每个设备组件。
●component:DeviceSelectDialog 展示设备列表对话框,用户选择设备(可以是多个设备)进行连接;DrawPoint 存放所有绘制点的基本信息和绘图;ChangeName 展示更改昵称对话框;ColorSelectButtons 控制颜色的选择;WordSelectDialog 展示词语选择对话框。
●game:游戏控制,MainGame 为绘画者,Guesser 为猜测者
●provider:AnswerItemProvider 答案消息的展示
●slice:MainAbilitySlice 画板的主界面。
●utils:LogUtils 主要作用打印日志信息;GsonUtil 用于将列表转成字符串;Tools 包含一些工具函数。
●resources:存放工程使用到的资源文件,其中 resources\base\layout下存放xml布局文件,resources\base\media 下存放图片资源。resources\base\element\words.json 为词库
●config.json:应用的配置文件。

知识点

分布式数据服务

分布式数据服务(Distributed Data Service,DDS) 为应用程序提供不同设备间数据库数据分布式的能力。

通过调用分布式数据接口,应用程序将数据保存到分布式数据库中。通过结合帐号、应用和数据库三元组,分布式数据服务对属于不同应用的数据进行隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值