go語言實現(xiàn)猜數(shù)字小游戲的方法
更新時間:2015年03月03日 12:03:13 作者:tangxiao
這篇文章主要介紹了go語言實現(xiàn)猜數(shù)字小游戲的方法,實例分析了Go語言流程判斷與處理的技巧,需要的朋友可以參考下
本文實例講述了go語言實現(xiàn)猜數(shù)字小游戲的方法。分享給大家供大家參考。具體分析如下:
隨機生成一個數(shù)字,輸入一個數(shù)字看是否匹對,匹配則結(jié)速,反之提示是大了還是小了
復制代碼 代碼如下:
package main
import (
"bufio"
"fmt"
"math/rand"
"os"
"strconv"
"time"
)
var (
endNum int //設(shè)置生成數(shù)的范圍
)
func main() {
i := createRandomNumber(endNum)
//fmt.Println("生成規(guī)定范圍內(nèi)的整數(shù):", i) //本句調(diào)試用
fmt.Println("請輸入整數(shù),范圍為: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("格式不對,請輸入數(shù)字")
} else {
fmt.Println("你輸入的數(shù)字:", command)
if command == i {
flag = false
fmt.Println("恭喜你,答對了~")
} else if command < i {
fmt.Println("你輸入的數(shù)字小于生成的數(shù)字,別灰心!再來一次~")
} else if command > i {
fmt.Println("你輸入的數(shù)字大于生成的數(shù)字,別灰心!再來一次~")
}
}
}
}
func init() {
endNum = 10
}
//生成規(guī)定范圍內(nèi)的整數(shù)
//設(shè)置起始數(shù)字范圍,0開始,endNum截止
func createRandomNumber(endNum int) int {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
return r.Intn(endNum)
}
import (
"bufio"
"fmt"
"math/rand"
"os"
"strconv"
"time"
)
var (
endNum int //設(shè)置生成數(shù)的范圍
)
func main() {
i := createRandomNumber(endNum)
//fmt.Println("生成規(guī)定范圍內(nèi)的整數(shù):", i) //本句調(diào)試用
fmt.Println("請輸入整數(shù),范圍為: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("格式不對,請輸入數(shù)字")
} else {
fmt.Println("你輸入的數(shù)字:", command)
if command == i {
flag = false
fmt.Println("恭喜你,答對了~")
} else if command < i {
fmt.Println("你輸入的數(shù)字小于生成的數(shù)字,別灰心!再來一次~")
} else if command > i {
fmt.Println("你輸入的數(shù)字大于生成的數(shù)字,別灰心!再來一次~")
}
}
}
}
func init() {
endNum = 10
}
//生成規(guī)定范圍內(nèi)的整數(shù)
//設(shè)置起始數(shù)字范圍,0開始,endNum截止
func createRandomNumber(endNum int) int {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
return r.Intn(endNum)
}
希望本文所述對大家的Go語言程序設(shè)計有所幫助。
相關(guān)文章
詳解Golang中errors包如何返回自定義error類型
這篇文章主要為大家詳細介紹了Golang中errors包如何返回自定義error類型,文中的示例代碼簡潔易懂,有需要的小伙伴可以跟隨小編一起學習一下2023-09-09
Go+Vue開發(fā)一個線上外賣應(yīng)用的流程(用戶名密碼和圖形驗證碼)
這篇文章主要介紹了Go+Vue開發(fā)一個線上外賣應(yīng)用(用戶名密碼和圖形驗證碼),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11

