1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-applications_app_samples

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README_zh.md

游戏2048

介绍

本示例使用Grid组件,实现了2048小游戏功能。

需要系统存储信息,运用了用户首选项接口ohos.data.preferences ,

屏幕属性接口@ohos.display

效果预览

首页 游戏中 游戏结束

使用说明

1.每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块, 相同数字的方块在靠拢、相撞时会相加。

2.当所有数字方块都无法有效滑动时,游戏结束。

工程目录

entry/src/main/ets/
|---muck
|   |---GameData.ets                        //  mock游戏数据
|---pages
|   |---index.ets                           // 首页
|---model                                  
|   |---GameRule.ets                        // 2048游戏的规则逻辑
|   |---GameModuel.ets                      // 游戏模型定义
|---resources/base                          // 存放游戏资源
|   |---element                             
|   |---media                               

具体实现

  • 界面编写步骤
    1、使用Grid编写网格界面,并在下方编写start按钮触发gameStart()函数生成gridItem所需数据,并且将游戏状态修改为游戏中,触发游戏规则Init()初始化游戏规则。
    2、循环渲染gridItem,去生成网格数据,MyGridItem会根据每一个数据渲染每一个网格的数字颜色(<=4?黑:白)和背景色(通过自然对数计算出颜色数组中的当前索引)。
    3、grid通过gesture()去绑定一组手势up,down,left,right函数, 源码参考
  • 游戏规则编写
    1、init()函数初始化游戏规则,将所有网格数字设置为0,游戏状态为开始,分数为0,并生成网格数字。源码参考
    2、触发up/down函数,网格沿着colnum移动,最多可移动三次(row大小-1次),如果当前网格数字===要移动到的网格上的数字,就将要移动的网格数字 + 当前网格数字,将结果加上旧score赋值给最新的score, 如果移动前的总数字不等于移动后的总数字,生成空白网格数字,源码参考
    3、触发left/right函数,网格沿着row移动,最多可移动三次(column大小-1次),如果当前网格数字===要移动到的网格上的数字,就将要移动的网格数字 + 当前网格数字,将结果加上旧score赋值给最新的score, 如果移动前的总数字不等于移动后的总数字,生成空白网格数字,源码参考

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持在标准系统上运行。

2.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 , built on April 7, 2023)及以上版本才可编译运行。

3.本示例已适配API version 9版本SDK,版本号:3.2.11.9。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/Solutions/Game/Game2048/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openharmony-applications_app_samples.git
git@gitlife.ru:oschina-mirror/openharmony-applications_app_samples.git
oschina-mirror
openharmony-applications_app_samples
openharmony-applications_app_samples
master-v