猜数字游戏,其游戏规则为:程序随机生成一个 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
- }
- }
- }