使用Go语言实现猜数字游戏程序

本教程将使用Go语言实现一个经典的猜数字游戏,并提供完整的代码和运行示例。游戏将随机生成一个数字,玩家需要猜测,程序会给出提示,最终猜中即可获胜。

功能:

  1. 游戏主界面
  2. 程序自动生成随机数
  3. 用户输入数字,与随机数比较
  4. 提示用户输入的数大于、小于内置随机数值
  5. 多次比较并记录比较次数
  6. 用户输入等于内置随机数,游戏结束并打印胜利信息,否则继续比较直到游戏结束。

代码实现:

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().UnixNano()) // 生成随机数种子
    num := rand.Intn(100) + 1 // 生成1-100的随机数
    fmt.Println("欢迎来到猜数字游戏!")
    fmt.Println("系统已经随机生成了一个1-100之间的数字,请输入你的猜测:")
    var guess int
    count := 0 // 记录猜测次数
    for {
        fmt.Scanln(&guess)
        count++
        if guess > num {
            fmt.Println("你猜的数字太大了,请重新输入:")
        } else if guess < num {
            fmt.Println("你猜的数字太小了,请重新输入:")
        } else {
            fmt.Printf("恭喜你,猜对了!你一共猜了%d次。\n", count)
            break
        }
    }
}

运行结果:

欢迎来到猜数字游戏!
系统已经随机生成了一个1-100之间的数字,请输入你的猜测:
50
你猜的数字太大了,请重新输入:
25
你猜的数字太小了,请重新输入:
38
你猜的数字太大了,请重新输入:
31
你猜的数字太小了,请重新输入:
35
你猜的数字太大了,请重新输入:
33
恭喜你,猜对了!你一共猜了6次。

代码解析:

  1. rand.Seed(time.Now().UnixNano()) 用于生成随机数种子,确保每次运行生成的随机数不同。
  2. rand.Intn(100) + 1 生成一个1-100之间的随机整数。
  3. 使用 fmt.Println() 打印欢迎信息和游戏规则。
  4. 使用 fmt.Scanln() 获取用户输入的数字。
  5. 使用 if-else 判断用户输入的数字与随机数的大小关系,并给出相应的提示。
  6. 使用 count 记录用户猜测的次数。
  7. 使用 for 循环不断重复游戏过程,直到用户猜中为止。
  8. 使用 fmt.Printf() 打印游戏结果。

总结:

本教程提供了一个完整的Go语言实现猜数字游戏的代码示例,并详细解析了代码逻辑。你可以根据自己的需求对代码进行扩展和修改,例如增加游戏难度、限制猜测次数等。

Go语言实现猜数字游戏:完整代码及运行示例

原文地址: http://www.cveoy.top/t/topic/ojHj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录