《跟老卫学仓颉编程语言开发》实战:HarmonyOS鸿蒙Next猜数字游戏

《跟老卫学仓颉编程语言开发》实战:HarmonyOS鸿蒙Next猜数字游戏 《跟老卫学仓颉编程语言开发》实战:猜数字游戏

以前中央电视台财经频道推出过一档大型演播室互动娱乐节目《购物街》,该节目里面包含了一个叫做“高了低了”的游戏环节。笔者非常喜爱这个游戏。这个游戏环节设置了八个百元价位左右的商品,首先选手要选择编号1-8的商品,之后猜这个商品的价格。在选手猜价格的过程中,主持人会给出高了、低了的提示,直到帮助选手猜出正确价格为止。之后继续选择,以此类推,直到30秒时间到为止。

本节所要介绍的猜数字游戏也是类似的,程序给出一个1到100之间的随机整数,让用户猜。用户猜一个数并输入到程序,然后程序会提示猜测是大了还是小了。如果猜对了,它会打印祝贺信息并退出。

本节通过仓颉语言,来开发一个简单的猜数字游戏,综合运用了流程控制、标准输入、字符串的操作、整型的比较等知识。

本节示例可以在“guessing_game”应用下找到。

输入数字

在程序界面输入数字代表用户猜数字的实现。如何实现在程序界面输入数字?这里就需要用到std.console包,该模块包含许多在执行输入和输出时需要的常见操作。

import std.console.*

// 标准输入流(stdIn)读取一行
let line = Console.stdIn.readln()
var lineStr = line.getOrThrow();

上述代码实现了通过标准输入(stdIn)读取一行文本的功能。当然,还需要将读入的本文,转为整型数字,代码如下:

import std.convert.*

// 字符串转为整型
let guess: Int64 = Int64.parse(lineStr);

println("You guessed: ${guess}");

convert包提供从字符串转到特定类型的Convert系列函数。上述例子中,Int64.parse()接口用于实现将Int64类型字面量的字符串转换为Int64值的相关操作函数。

比较大小

比较大小的流程控制,可以采用前面章节所学习的if-else语句,代码如下:

// 被猜的数字
let secret_number = 41;

// 比大小
if (guess == secret_number) {
    println("You win!");
    break;
} else if (guess < secret_number) {
    println("Too small!");
} else {
    println("Too big!");
}

上述代码,比较输入的数字guess与被猜的数字secret_number比较大小。

  • 如果guess小于secret_number,则提示输入的数字太小了;
  • 如果guess大于secret_number,则提示输入的数字太大了;
  • 如果guess等于secret_number,则说明猜中,退出程序。

循环输入

如果没有猜中,程序应该支持循环输入。这里,我们用到了while循环。完整程序代码如下:

/// 猜数字游戏
import std.console.*
import std.convert.*

main() {
    println("Guess the number! 1-100");

    // 被猜的数字
    let secret_number = 41;

    while (true) {
        println("Please input your guess.");

        // 标准输入流(stdin)读取一行
        let line = Console.stdIn.readln()
        var lineStr = line.getOrThrow();

        // 字符串转为整型
        let guess: Int64 = Int64.parse(lineStr);

        println("You guessed: ${guess}");

        // 比大小
        if (guess == secret_number) {
            println("You win!");
            break;
        } else if (guess < secret_number) {
            println("Too small!");
        } else {
            println("Too big!");
        }
    }
}

运行效果

运行程序,输入数字进行猜测,运行效果如下:

Guess the number! 1-100
Please input your guess.
3
You guessed: 3
Too small!
Please input your guess.
50
You guessed: 50
Too big!
Please input your guess.
45
You guessed: 45
Too big!
Please input your guess.
35
You guessed: 35
Too small!
Please input your guess.
40
You guessed: 40
Too small!
Please input your guess.
42
You guessed: 42
Too big!
Please input your guess.
41
You guessed: 41
You win!

参考引用

免费开源书《跟老卫学仓颉编程语言开发》,源码见:https://github.com/waylau/cangjie-programming-language-tutorial

2 回复

《跟老卫学仓颉编程语言开发》实战中的HarmonyOS鸿蒙Next猜数字游戏,主要展示了如何使用仓颉编程语言进行鸿蒙应用开发。仓颉编程语言是华为为鸿蒙系统设计的一种新型编程语言,专为鸿蒙生态优化,具有高效、简洁的特点。

在猜数字游戏的开发中,首先需要创建一个鸿蒙应用项目,并选择仓颉作为开发语言。游戏的核心逻辑包括生成随机数、用户输入验证、以及结果反馈。仓颉语言提供了丰富的API,可以方便地实现这些功能。

具体实现步骤如下:

  1. 项目初始化:使用鸿蒙开发工具创建新项目,选择仓颉语言模板。
  2. UI设计:通过鸿蒙的UI框架设计游戏界面,包括输入框、按钮和结果显示区域。
  3. 随机数生成:利用仓颉语言的随机数生成函数,设置一个1到100的随机数作为目标数字。
  4. 用户输入处理:获取用户输入的猜测数字,并与目标数字进行比较。
  5. 结果反馈:根据比较结果,提示用户猜测是否正确,或者提示数字是偏大还是偏小。
  6. 游戏循环:允许用户多次猜测,直到猜中为止。

通过这个实战项目,开发者可以熟悉仓颉语言的基本语法和鸿蒙应用开发的基本流程,为进一步开发更复杂的鸿蒙应用打下基础。

更多关于《跟老卫学仓颉编程语言开发》实战:HarmonyOS鸿蒙Next猜数字游戏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在《跟老卫学仓颉编程语言开发》实战中,HarmonyOS鸿蒙Next猜数字游戏是一个经典案例。通过仓颉编程语言,开发者可以快速实现游戏逻辑。首先,生成一个随机数作为目标数字,然后通过用户输入进行猜测,程序会提示“大了”或“小了”,直到猜中为止。仓颉语言简洁高效,适合快速开发小型应用。此案例不仅帮助理解仓颉语言的基本语法,还能掌握HarmonyOS应用开发流程,为后续复杂项目打下基础。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!