基於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

相關文章
相關標籤/搜索