| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 1,844 | 1,632 | ||
| hvigor/ | 06-May-2025 | - | 23 | 22 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 56 | 5 | 5 | |
| README_zh.md | D | 06-May-2025 | 3.8 KiB | 89 | 63 | |
| build-profile.json5 | D | 06-May-2025 | 1.1 KiB | 43 | 42 | |
| hvigorfile.ts | D | 06-May-2025 | 159 | 2 | 1 | |
| hvigorw | D | 06-May-2025 | 2 KiB | 62 | 28 | |
| oh-package.json5 | D | 06-May-2025 | 842 | 28 | 26 |
README_zh.md
1# ArkTS卡片Canvas小游戏 2 3### 介绍 4 5本示例展示了如何通过ArkTS卡片的Canvas自定义绘制能力实现一个简单的五子棋游戏卡片。 6 7- 使用Canvas绘制棋盘和黑白棋子的落子。 8- 通过卡片支持的[点击事件](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-click.md)进行交互,让用户在棋盘上进行黑白棋子的对局。 9- 通过TS的逻辑代码实现五子棋输赢判定、回退等逻辑计算,整个游戏过程无需拉起FormExtensionAbility。 10 11### 效果预览 12 13| 添加卡片 | 卡片预览 | 操作卡片 | 14| ------------------------------------------------ | -------------------------------------------------------- | -------------------------------------------------- | 15|  |  |  | 16 17使用说明: 18 191.部分设备的桌面不支持卡片,可以通过自己开发的卡片使用方,进行卡片的创建、更新和删除等操作。 20 212.安装应用,并在桌面上长按本应用的桌面图标,长按后弹出选项列表。 22 233.点击弹出列表中的**服务卡片**选项进入卡片预览界面。 24 254.点击正下方的**添加到桌面**按钮,卡片就会出现在桌面上。 26 275.卡片添加到桌面后就可以在桌面进行五子棋游戏,包含黑白棋子的落子、重新开始、悔棋等操作。 28 29### 工程目录 30 31``` 32entry/src/main/ 33├── ets 34│ ├── entryformability 35│ │ └── EntryFormAbility.ts // FormExtensionAbility生命周期调度入口 36│ ├── entryability 37│ │ └── EntryAbility.ts // UIAbility生命周期调度入口 38│ ├── model 39│ │ └── Logger.ts // 日志打印工具类 40│ ├── pages 41│ │ └── Index.ets // 入口页面 42│ └── game 43│ └── pages 44│ └── GameCard.ets // 卡片页面,使用Canvas实现了一个简单的五子棋小游戏 45├── module.json5 46└── resources 47 └── base 48 ├── element 49 │ ├── color.json // 配置文件中$color对于的资源文件 50 │ └── string.json // 配置文件中$string对于的资源文件 51 ├── media 52 │ └── icon.png // 桌面安装图标 53 └── profile 54 ├── form_config.json // 卡片配置文件 55 └── main_pages.json // 页面配置文件 56``` 57 58### 具体实现 59 60- 界面绘制:通过Canvas画布组件进行绘制,在Canvas组件收到onReady回调时取出context的width和height作为画布的大小。 61- 逻辑处理:通过注册Canvas画布onClick点击事件,并取出回调中的ClickEvent入参,这个对象中包含了点击的x轴和y轴坐标,通过坐标信息进行点击位子匹配就可以实现黑白棋子的落子。 62 63### 相关权限 64 65不涉及。 66 67### 依赖 68 69不涉及。 70 71### 约束与限制 72 731.本示例仅支持标准系统上运行,支持设备:RK3568。 74 752.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。 76 773.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 78 79### 下载 80 81如需单独下载本工程,执行如下命令: 82 83```shell 84git init 85git config core.sparsecheckout true 86echo ability/ArkTSCard/CanvasGame/ > .git/info/sparse-checkout 87git remote add origin https://gitee.com/openharmony/applications_app_samples.git 88git pull origin master 89```