golang实现的一个小游戏–猜数字

原文同步至:http://www.waylau.com/golang-game-guess-numbe/


随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了,

代码如下:


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)
}


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是用golang语言编一个猜数字大小的程序的代码: ```go package main import ( "fmt" "math/rand" "time" ) func main() { // 初始化随机数种子 rand.Seed(time.Now().Unix()) // 生成一个 0-99 的随机数 number := rand.Intn(100) // 定义猜测次数计数器 count := 0 // 循环猜数字,直到猜对为止 for { // 提示用户输入数字 fmt.Print("请输入一个 0-99 的整数:") // 读取用户输入 var guess int _, err := fmt.Scanf("%d", &guess) if err != nil { fmt.Println("输入无效,请输入一个整数。") continue } // 判断猜测结果 if guess < number { fmt.Println("猜小了。") count++ } else if guess > number { fmt.Println("猜大了。") count++ } else { count++ fmt.Printf("猜对了!你用了 %d 次机会。\n", count) break } } } ``` 这个程序会生成一个 0-99 的随机数,然后提示用户输入一个数字。程序会根据用户输入的数字与随机数的大小关系给出相应的提示,然后再次提示用户输入数字。直到用户猜对为止,程序才会输出猜测次数并结束运行。 ### 回答2: package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) target := rand.Intn(100) // 生成0-99之间的随机数字 fmt.Println("猜数字游戏开始,请输入一个0-99的整数:") var guess int for { _, err := fmt.Scanf("%d", &guess) if err != nil { fmt.Println("输入错误,请输入一个有效的整数:") continue } if guess < target { fmt.Println("太小了,请继续猜:") } else if guess > target { fmt.Println("太大了,请继续猜:") } else { fmt.Println("恭喜猜对了!") break } } } 这个程序使用了golang语言来编一个猜数字大小的游戏。在游戏开始之前,会生成一个0-99之间的随机数作为目标数字。然后通过用户的输入来猜测这个数字,如果猜测的数字小于目标数字,程序会提示"太小了,请继续猜:",如果猜测的数字大于目标数字,程序会提示"太大了,请继续猜:",直到猜测的数字等于目标数字时,程序会提示"恭喜猜对了!"并结束游戏

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值