体验Hi3861开发版的太空人避障游戏 精华

发布于 2021-8-24 14:00
浏览
7收藏

8月23日,OpenHarmony代码仓新上线了一个运行在Hi3861 WLAN模组上的小游戏程序,同时上线还有“分布式搜索”,“分布式购物车”,“井字过三关”三款分布式应用开发程序。今天我们体验一下运行在Hi3861上的“太空人避障游戏”。

准备

1.开发环境: Windows + DevEco Device Tool2.2 Beta1,参考官网Windows开发环境准备Windows平台源码编译
2.源码框架: OpenHarmony 2.0 Canary
3.硬件: HiSpark Wi-Fi IoT 开发套件的 主控板 + 底板 + OLED拓展板 + 带蜂鸣器的交通灯板,装配好如图所示。
体验Hi3861开发版的太空人避障游戏-开源基础软件社区

工程

  1. 下载代码
    https://gitee.com/openharmony/app_samples/tree/master/CompleteApps/AstronautsGame
  2. 将解压后 app_samples-master/CompleteApps/AstronautsGame 下的astronauts_game和common两个文件夹复制到OpenHarmony 系统源码中的applications/sample/wifi-iot/app目录下。
  3. 修改applications/sample/wifi-iot/app/BUILD.gn 文件,使astronauts_game模块参与编译。添加deps = [ “//applications/sample/wifi-iot/app/common/hals:hals” ],如下:
import("//build/lite/config/component/lite_component.gni")
    
    lite_component("app") {
    features = [
        "astronauts_game",
    ]
    deps = [ "//applications/sample/wifi-iot/app/common/hals:hals" ]
}
  1. 游戏中OLED显示要用到I2C功能,音效要使用PWM驱动蜂鸣器,系统源码OpenHarmony 2.0 Canary默认I2C和PWM是关闭的,如果首次使用,请打开 device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk 文件,修改hi3861 内核配置。
    将 CONFIG_I2C_SUPPORT is not set这一行, 改为CONFIG_I2C_SUPPORT=y
    将 CONFIG_PWM_SUPPORT is not set这一行, 改为CONFIG_PWM_SUPPORT=y
  2. 完成后保存,在PROJECT TASKS中,点击工程的“Clean”按钮,然后编译,烧录,就可以试用了。

使用

  1. 上电后进入游戏初始界面,按下开发板中的user按键开始游戏。
  2. 使用OLED拓展板上的按键1、按键2左右移动来躲避随机落下的障碍物。
  3. 屏幕右上角会记录得分,难度会随着分数的增加而提高。
  4. 如果碰撞到障碍物和OLED屏左右末端,则游戏结束。
  5. 按下user按键重新开始游戏。
    体验Hi3861开发版的太空人避障游戏-开源基础软件社区

改进

试用后,编译烧录顺利,游戏功能正常。唯独交通灯板的黄灯常亮,查程序中并无对黄灯的控制代码,可以在music.c中增加少量代码,把黄灯关闭。

void StartBeepMusicTask(void)
{
    IoTGpioInit(12);
    HalIoSetFunc(12, 0);
    IoTGpioSetDir(12,IOT_GPIO_DIR_OUT);
    IoTGpioSetOutputVal(12,0);

重新编译烧录后,消除了黄灯常亮的现象

已于2021-8-24 21:02:35修改
9
收藏 7
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐