# dsoftbus_gobang **Repository Path**: suntaostyle1/dsoftbus_gobang ## Basic Information - **Project Name**: dsoftbus_gobang - **Description**: 基于OpenHarmony的分布式软总线能力开发的五子棋小游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-06-12 - **Last Updated**: 2025-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高速传输框架开发与应用(C++) ## 1. 任务介绍 ### 高速传输框架简介 软总线传输框架主要是对基于OpenHarmony操作系统的上层业务应用提供短距离高速传输服务,打造更流畅的多终端协同体验。 ### 本篇Codelab将实现的内容 您将实现以下内容: - 使用软总线接口实现两台手机的自组网五子棋对战; ### 您将会学到什么 - 通过软总线高速传输通道实现两台设备间的落子信息同步; ## 2. 环境准备 ### 2.1 硬件要求 - 一台高性能PC(建议:内存16G,硬盘500G) - 两台华为手机 ### 2.2工具下载 [DevECO Studio 4.1 release](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_package_901_9/ee/v3/HqJ-6O2FQny86xtk_dg9HQ/devecostudio-windows-4.1.0.400.zip?HW-CC-KV=V1&HW-CC-Date=20240409T033730Z&HW-CC-Expire=315360000&HW-CC-Sign=BFA444BC43A041331E695AE2CFA9035A957AF107E06C97E793FD3D31D7096A0D) ### 2.3 工具使用 [搭建开发环境指南](https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-ide-env-win.md) ### 2.4 代码获取 - 创建工作目录 ``` mkdir -p workspace ``` - 创建五子棋代码目录 ``` cd workspace mkdir -p dsoftbus_gobang ``` - 下载分布式软总线五子棋源码 ``` cd dsoftbus_gobang git clone https://gitee.com/suntaostyle1/dsoftbus_gobang.git ``` - 使用DevECO Studio编译器打开源码,将@ohos.dsoftbus.transmission.d.ts文件移动到下图所在目录 ![输入图片说明](image-20240616181623369.png) ## 3.鸿蒙软总线接口适配 ### 3.1 涉及修改的文件 ``` src/main/ets/pages/Index.ets ``` ### 3.2 修改内容 ​ 开源下载的代码已经实现了软总线的设备发现、服务绑定、消息监听接口等,你只需要在此基础上使用软总线传输高速传输接口**sendBytes**实现**将本端落子情况发送给对端设备**即可 - **sendBytes**接口介绍 **sendBytes**是鸿蒙软总线高速传输接口,支持通过socket传输byte数据,接口定义及参数解释如下: ``` /** * Sends bytes data. * * @param { number } socket - Indicates the the unique socket fd. * @param { Uint8Array } data - Indicates the bytes data to send. * @throws { BusinessError } 202 - If the system permission is denied. * @throws { BusinessError } 401 - If the reason is not valid. * @syscap SystemCapability.Dsoftbus.Transmission * @systemapi * @since 12 */ function sendBytes(socket: number, data: Uint8Array); ``` - 使用示例: ``` import transmission from '@ohos.dsoftbus.transmission' ... let data = new Uint8Array([1,2,3]); transmission.sendBytes(socketFd, data); ``` - 实现**sendChessPoint**接口,将本端的落子信息发送给对端 **sendChessPoint**函数在**fallChessInner**中被调用,参数如下: ``` // x:落子横坐标,y:落子纵坐标,color:棋子颜色,socketFd:软总线通信句柄,step:当前下的是第几步,clickCount:点击次数 async sendChessPoint(x: number, y: number, color: number, socketFd: number, step: number, clickCount: number) ``` - 修改完成后,使用USB连接线连接手机运行,即可将五子棋安装到手机上 ## 4.恭喜你 ​ 干得漂亮,您已经成功完成了”高速传输框架开发与应用“并学到了: - DevCO Studio开发鸿蒙应用; - 鸿蒙软总线高速传输框架的应用; - 分布式五子棋对战; ## 5.效果演示 [无网游戏-五子棋对战](https://b23.tv/c4O7EYW) ## 6.完整代码 [gitee地址](https://gitee.com/suntaostyle1/dsoftbus_gobang)