您当前的位置:首页 > 计算机 > 编程开发 > Go语言

golang猜数字游戏

时间:04-02来源:作者:点击数:

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

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门