Go语言实现猜数字游戏:完整代码及运行示例
使用Go语言实现猜数字游戏程序
本教程将使用Go语言实现一个经典的猜数字游戏,并提供完整的代码和运行示例。游戏将随机生成一个数字,玩家需要猜测,程序会给出提示,最终猜中即可获胜。
功能:
- 游戏主界面
- 程序自动生成随机数
- 用户输入数字,与随机数比较
- 提示用户输入的数大于、小于内置随机数值
- 多次比较并记录比较次数
- 用户输入等于内置随机数,游戏结束并打印胜利信息,否则继续比较直到游戏结束。
代码实现:
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次。
代码解析:
rand.Seed(time.Now().UnixNano())用于生成随机数种子,确保每次运行生成的随机数不同。rand.Intn(100) + 1生成一个1-100之间的随机整数。- 使用
fmt.Println()打印欢迎信息和游戏规则。 - 使用
fmt.Scanln()获取用户输入的数字。 - 使用
if-else判断用户输入的数字与随机数的大小关系,并给出相应的提示。 - 使用
count记录用户猜测的次数。 - 使用
for循环不断重复游戏过程,直到用户猜中为止。 - 使用
fmt.Printf()打印游戏结果。
总结:
本教程提供了一个完整的Go语言实现猜数字游戏的代码示例,并详细解析了代码逻辑。你可以根据自己的需求对代码进行扩展和修改,例如增加游戏难度、限制猜测次数等。
原文地址: http://www.cveoy.top/t/topic/ojHj 著作权归作者所有。请勿转载和采集!