go语言实现猜数字小游戏的方法
更新时间:2015年03月03日 12:03:13 作者:tangxiao
这篇文章主要介绍了go语言实现猜数字小游戏的方法,实例分析了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语言程序设计有所帮助。
最新评论