使用go语言猜拳游戏程序 功能:1、要有一个游戏主界面 2、提示用户输入石头剪刀布 三个选项之一 3、用户输入与系统内置随机结果比较 4、输出比较的结果谁赢谁输 5、统计用户赢的次数多还是机器赢的次数多关键代码必须要有注释注释不能少于总代码 23
package main
import ( "fmt" "math/rand" "time" )
func main() { // 初始化随机数种子 rand.Seed(time.Now().UnixNano())
// 初始化用户和机器的分数
userScore := 0
machineScore := 0
fmt.Println("欢迎来到猜拳游戏")
// 循环进行游戏
for {
// 输出游戏主界面
fmt.Println("请输入石头(1)、剪刀(2)、布(3)中的一个数字:")
// 获取用户输入的选项
var userOption int
fmt.Scan(&userOption)
// 生成机器的选项
machineOption := rand.Intn(3) + 1
// 输出用户和机器的选项
fmt.Printf("你出了%s,机器出了%s\n", optionToString(userOption), optionToString(machineOption))
// 比较用户和机器的选项,输出比较结果
result := compare(userOption, machineOption)
fmt.Println(result)
// 根据比较结果更新用户和机器的分数
if result == "你赢了" {
userScore++
} else if result == "机器赢了" {
machineScore++
}
// 输出当前的分数情况
fmt.Printf("当前的分数是:你 %d - %d 机器\n", userScore, machineScore)
// 判断是否达到游戏结束的条件
if userScore == 3 {
fmt.Println("恭喜你,你赢了")
break
} else if machineScore == 3 {
fmt.Println("很遗憾,你输了")
break
}
}
}
// 将数字选项转换为字符串选项 func optionToString(option int) string { switch option { case 1: return "石头" case 2: return "剪刀" case 3: return "布" default: return "" } }
// 比较用户和机器的选项 func compare(userOption int, machineOption int) string { if userOption == machineOption { return "平局" } else if userOption == 1 && machineOption == 2 || userOption == 2 && machineOption == 3 || userOption == 3 && machineOption == 1 { return "你赢了" } else { return "机器赢了" }
原文地址: https://www.cveoy.top/t/topic/fUpQ 著作权归作者所有。请勿转载和采集!