基于WiFi IoT套件开发的猜数字小游戏代码分享

猜数字是一个很经典的小游戏,也是编程开发入门的典型,如下为基于WiFi IoT套件开发的猜数字小游戏的具体开发过程和效果。编程

 

基本规则:
由甲方(玩家)默想一个1-99(包含)内的任意数字(整数),而后由乙方进行猜想,并询问甲方猜想的数字是大了仍是小了,甲方根据实际状况进行回复,则乙方最多问6个问题,就必定可以猜中甲方默想的数字。app

 

基本原理:
乙方问最多6次,包括最后一次说出猜中的数字,实际上乙方最多有7次猜想的机会。ide

而使用二分进行查找,2^7=128,则99之内的数字,彻底能够覆盖,所以乙方绝对能够猜中。post

 

实现概述:
以上的基本规则和基本原理明确了,咱们要在WiFi IoT套件上实现,而且甲方须要参与,须要处理如下三个部分:学习

  1. 猜数字的主逻辑
  2. 使用OLED屏幕显示提示信息,让玩家进行互动操做:咱们须要在屏幕上显示汉字,进行玩家当前猜想的数字,以及玩家按键后告知玩家结果
  3. 使用按键接收玩家操做(大了或者小了等):在这个实例中,咱们使用了ADC方式来读取按键信息,从而得到玩家具体操做。所使用的按键为核心板上的USR按键,和OLED板上的S1,S2按键。使用ADC方式读取的时候,他们所使用的输入端口为GPIO5/ADC2,具体的按键做用以下:
  • USR:开始游戏,或者确认
  • S1:若是猜小了,则玩家按S1告知
  • S2:若是猜大了,则玩家按S2告知

 

原始代码修改处理:【代码基础为code-1.0.tar.gz】ui

  • 开启I2C:vendor/hisi/hi3861/hi3861/build/config/usr_config.mk
    ## BSP Settings
    #
    # CONFIG_I2C_SUPPORT is not set
    CONFIG_I2C_SUPPORT=y
    # CONFIG_I2S_SUPPORT is not set
  • I2C复用端口设置:vendor/hisi/hi3861/hi3861/app/wifiiot_app/init/app_io_init.c
    #ifdef CONFIG_I2C_SUPPORT
        /* I2C IO复用也能够选择3/4; 9/10,根据产品设计选择 */
        // hi_io_set_func(HI_IO_NAME_GPIO_0, HI_IO_FUNC_GPIO_0_I2C1_SDA);
        // hi_io_set_func(HI_IO_NAME_GPIO_1, HI_IO_FUNC_GPIO_1_I2C1_SCL);
        hi_io_set_func(HI_IO_NAME_GPIO_13, HI_IO_FUNC_GPIO_13_I2C0_SDA);
        hi_io_set_func(HI_IO_NAME_GPIO_14, HI_IO_FUNC_GPIO_14_I2C0_SCL);
    #endif

 

主逻辑代码:guess.cspa


文章后续内容和附件能够点击下面的原文连接前往学习
原文连接:https://harmonyos.51cto.com/posts/1986#bkwz
设计


想了解更多内容,请访问:code

51CTO和华为官方战略合做共建的鸿蒙技术社区orm

https://harmonyos.51cto.com/#bkwz

相关文章
相关标签/搜索