1. 程式人生 > 其它 >Go語言實現猜數字小遊戲的方法

Go語言實現猜數字小遊戲的方法

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