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

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

隨機生成一個數字,輸入一個數字看是否匹對,匹配則結速,反之提示是大了還是小了

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