正文
[GO]猜数字的小游戏
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
随机生成四位数字,然后用户输入四位数字,然后根据提示一步步猜到随机数
package mainimport (
"math/rand"
"time"
"fmt"
)func getNum(s[]int, n int) {
s[] = n /
s[] = n % /
s[] = n % /
s[] = n %
}func InitData(ininum *int) {
rand.Seed(time.Now().UnixNano())
var randomNum int
for {
randomNum = rand.Intn()
if randomNum > {
break
}
}
*ininum = randomNum
}func KeyNum(s []int, k *int) {
for {
fmt.Println("请输入一个四位数字: ")
var keynum int
fmt.Scan(&keynum)
if keynum > && keynum < {
getNum(s, keynum)
*k = keynum
break
}
}
}func gussNum(s []int, k []int, p *int) {
var n int
for i := ; i < ; i++ {
if s[i] > k[i] {
fmt.Printf("第%d小了一点\n", i+)
}else if s[i] < k[i] {
fmt.Printf("第%d大了一点\n", i+)
}else {
fmt.Printf("第%d猜对了\n", i+)
n ++
}
}
*p =n
}func main() {
var InitNum int
InitData(&InitNum)
fmt.Println("InitNum is ", InitNum)
InitNumSlice := make([]int, )
getNum(InitNumSlice, InitNum)
fmt.Println("InitNum Slice = ", InitNumSlice)
var keynum int
keyslice := make([]int, )
var n int
for {
n =
KeyNum(keyslice, &keynum)
gussNum(InitNumSlice, keyslice, &n)
if n == {
break
}
}
}
执行结果
InitNum is
InitNum Slice = [ ] //其实这里已经把答案打印出来了,可以在代码里将打印去掉
请输入一个四位数字: 第1小了一点
第2大了一点
第3猜对了
第4小了一点
请输入一个四位数字: 第1猜对了
第2猜对了
第3大了一点
第4小了一点
请输入一个四位数字: 第1猜对了
第2猜对了
第3大了一点
第4猜对了
请输入一个四位数字: 第1猜对了
第2猜对了
第3猜对了
第4猜对了