go語言學習筆記14------猜數字遊戲

猜數字遊戲

需求:要求用戶輸入3位數,與系統隨機產生的3位數,進行每一位比較,如果不相等,提示用戶輸入的數字是大了還是小了,如果相等,提示一致。最後每一位上的數字都一致,退出程序。
package main

import (
   "math/rand"
   "time"
   "fmt"
)

func main() {
//創建隨機數種子
   rand.Seed(time.Now().UnixNano())
  //系統隨機出一個三位數並放入切片中
   s := make([]int, 3)
   s[0] = rand.Intn(9) + 1
   s[1] = rand.Intn(10)
   s[2] = rand.Intn(10)

   var num int
   //統計正確次數
   var cons int
   //定義一個空切片用來接收用戶輸入的數字
   temp := make([]int, 3)

   for {

      fmt.Println("請輸入一個三位數")
      fmt.Scan(&num)
      if num >= 100 && num <= 999 {
         temp[0] = num / 100
         temp[1] = num / 10 % 10
         temp[2] = num % 10
         //將用戶的數字和系統數字進行比較
         for i := 0; i < 3; i++ {
            if s[i] > temp[i] {
               fmt.Printf("第%d位的數字小了\n", i+1)
            } else if s[i] < temp[i] {
               fmt.Printf("第%d位的數字大了\n", i+1)
            } else {
               cons++
               fmt.Printf("第%d位的數字輸入正確\n", i+1)
            }
         }
         //三次正確,遊戲結束,不正確,次數歸零,重新計數
         if cons==3{
            fmt.Println("答案正確,遊戲結束")
            break
         }else {
            cons=0
         }
      } else {
         fmt.Println("輸入錯誤")
      }
   }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章