go语言实现猜数字小游戏的方法
程序员文章站
2022-05-26 11:20:57
本文实例讲述了go语言实现猜数字小游戏的方法。分享给大家供大家参考。具体分析如下:
随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了
复制代...
本文实例讲述了go语言实现猜数字小游戏的方法。分享给大家供大家参考。具体分析如下:
随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了
复制代码 代码如下:
package main
import (
"bufio"
"fmt"
"math/rand"
"os"
"strconv"
"time"
)
var (
endnum int //设置生成数的范围
)
func main() {
i := createrandomnumber(endnum)
//fmt.println("生成规定范围内的整数:", i) //本句调试用
fmt.println("请输入整数,范围为:0-", endnum)
flag := true
reader := bufio.newreader(os.stdin)
for flag {
data, _, _ := reader.readline()
command, err := strconv.atoi(string(data)) //string to int,并作输入格式判断
if err != nil {
fmt.println("格式不对,请输入数字")
} else {
fmt.println("你输入的数字:", command)
if command == i {
flag = false
fmt.println("恭喜你,答对了~")
} else if command < i {
fmt.println("你输入的数字小于生成的数字,别灰心!再来一次~")
} else if command > i {
fmt.println("你输入的数字大于生成的数字,别灰心!再来一次~")
}
}
}
}
func init() {
endnum = 10
}
//生成规定范围内的整数
//设置起始数字范围,0开始,endnum截止
func createrandomnumber(endnum int) int {
r := rand.new(rand.newsource(time.now().unixnano()))
return r.intn(endnum)
}
import (
"bufio"
"fmt"
"math/rand"
"os"
"strconv"
"time"
)
var (
endnum int //设置生成数的范围
)
func main() {
i := createrandomnumber(endnum)
//fmt.println("生成规定范围内的整数:", i) //本句调试用
fmt.println("请输入整数,范围为:0-", endnum)
flag := true
reader := bufio.newreader(os.stdin)
for flag {
data, _, _ := reader.readline()
command, err := strconv.atoi(string(data)) //string to int,并作输入格式判断
if err != nil {
fmt.println("格式不对,请输入数字")
} else {
fmt.println("你输入的数字:", command)
if command == i {
flag = false
fmt.println("恭喜你,答对了~")
} else if command < i {
fmt.println("你输入的数字小于生成的数字,别灰心!再来一次~")
} else if command > i {
fmt.println("你输入的数字大于生成的数字,别灰心!再来一次~")
}
}
}
}
func init() {
endnum = 10
}
//生成规定范围内的整数
//设置起始数字范围,0开始,endnum截止
func createrandomnumber(endnum int) int {
r := rand.new(rand.newsource(time.now().unixnano()))
return r.intn(endnum)
}
希望本文所述对大家的go语言程序设计有所帮助。