package main import ( "fmt" "math/rand" "time" ) /* ·随机生成一个三位数 ·让用户输入其猜想 ·反馈给用户:猜大了,猜小了,猜对了 ·如果没猜对就继续猜 ·如果猜对了就退出游戏 ·如果用户输入"-1"就直接退出游戏 */ func GetRandom() int { /*获得随机数*/ //n := rand.Intn(1000) //当前时间距离1970年0时所逝去的时间纳秒数 seed := time.Now().UnixNano() //使用当前时间纳秒作为随机数种子 myrandom := rand.New(rand.NewSource(seed)) n := 100 + myrandom.Intn(900) //将结果随机数返回给调用者 return n } func main() { //调用随机数获取随机数,得到随机数 answer := GetRandom() START: var count int = 0 for{ //让用户输入猜想 var guess int fmt.Println("骚年请输入你的猜想(100-999):-1=退出,-2=重新输入,0=重玩") fmt.Scan(&guess) /*看看用户是否要退出*/ if guess == -1{ break }else if guess == 0 { //continue goto START }else if guess == -2{ //重新输入 //跳过本次循环剩余部分,开始下一次循环 continue } /*反馈给用户猜大了,猜小了,猜对了*/ count ++ if guess > answer{ fmt.Printf("猜大了,共用了%d次 ",count) }else if guess < answer{ fmt.Printf("猜小了,共用了%d次 ",count) }else { fmt.Printf("猜对了,共用了%d次 ",count) /*跳出循环*/ break } } fmt.Println("GAMEOVER!") }