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

妖狐艹你老母 2022-04-14 04:07 237阅读 0赞

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

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

代码如下:

  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "math/rand"
  6. "os"
  7. "strconv"
  8. "time"
  9. )
  10. var (
  11. endNum int //设置生成数的范围
  12. )
  13. func main() {
  14. i := createRandomNumber(endNum)
  15. //fmt.Println("生成规定范围内的整数:", i) //本句调试用
  16. fmt.Println("请输入整数,范围为:0-", endNum)
  17. flag := true
  18. reader := bufio.NewReader(os.Stdin)
  19. for flag {
  20. data, _, _ := reader.ReadLine()
  21. command, err := strconv.Atoi(string(data)) //string to int,并作输入格式判断
  22. if err != nil {
  23. fmt.Println("格式不对,请输入数字")
  24. } else {
  25. fmt.Println("你输入的数字:", command)
  26. if command == i {
  27. flag = false
  28. fmt.Println("恭喜你,答对了~")
  29. } else if command < i {
  30. fmt.Println("你输入的数字小于生成的数字,别灰心!再来一次~")
  31. } else if command > i {
  32. fmt.Println("你输入的数字大于生成的数字,别灰心!再来一次~")
  33. }
  34. }
  35. }
  36. }
  37. func init() {
  38. endNum = 10
  39. }
  40. //生成规定范围内的整数
  41. //设置起始数字范围,0开始,endNum截止
  42. func createRandomNumber(endNum int) int {
  43. r := rand.New(rand.NewSource(time.Now().UnixNano()))
  44. return r.Intn(endNum)
  45. }

发表评论

表情:
评论列表 (有 0 条评论,237人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java实现数字游戏

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 在利用Java中猜数字的小游戏,可以深度理解Java中的许多知识,譬如Random,条件语句,数