猜数字游戏,其游戏规则为:程序随机生成一个 100 到 999之间的三位数字作为猜测的结果,由用户猜测此数字。用户每猜测一次,由系统提示猜测结果:大了、小了或者猜对了;直到用户猜对结果,则提示游戏结束。
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
//生成三位数(100-999)的随机数
//rand.Seed(time.Now().Unix())
//random := make([]int,3)
//random[0] = rand.Intn(9) + 1 //百位数字在1-9之间不可以为0
//random[1] = rand.Intn(10)
//random[2] = rand.Intn(10)
//另一种生成三位数的随机数的方法
rand.Seed(time.Now().Unix())
randNun := rand.Intn(900) + 100
random := make([]int,3)
random[0] = randNun/100
random[1] = randNun/10%10
random[2] = randNun%10
userNum := make([]int,3)
var num int
var flag int = 0
for {
for{ //用户输入三位数字,如果有误,则继续
fmt.Println("请输入一个三位数:")
fmt.Scan(&num)
if num >=100 && num <= 999 {
break
}
fmt.Println("输入有误,请重新输入:")
}
userNum[0] = num/100
userNum[1] = num/10%10
userNum[2] = num%10
for i := 0; i<3; i++{ //循环比较输入数字与随机数字大小
if userNum[i] > random[i] {
fmt.Printf("您输入的第%d位数太大了\n",i+1)
}else if userNum[i] < random[i] {
fmt.Printf("您输入的第%d位数太小了\n",i+1)
}else{
fmt.Printf("恭喜你,第%d位数字相同\n",i+1)
flag++
}
}
if flag == 3{
fmt.Println("成功")
break
}else {
flag = 0
}
}
}