Go언어/Go언어 예제

(반복문 예제)추측 게임에서 반복문 사용하기

현준의코딩 2023. 10. 25. 16:55
package main

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

func main() {
    success := false // success라는 변수로 판별. true면 성공, false면 실패
    seconds := time.Now().Unix() // 시간 함수
    rand.Seed(seconds) // 시간별로 랜덤을 돌림
    target := rand.Intn(100) + 1 // 1~100까지의 수 중에 돌린다. 
    fmt.Println("1부터 100까지의 수 중에 추측해보세요!")

    var guess int // 입력받을 guess라는 변수 선언 

    for guesses := 0; guesses < 10; guesses++ { // 추측변수가 0부터 10이 넘기 전 까지 1씩 더하면서 돌겠다는 뜻
        fmt.Print("당신은 ", 10-guesses, "번의 기회가 남아있습니다.\n")

        fmt.Print("추측한 숫자는? : ")
        _, err := fmt.Scanln(&guess) // 입력함수
        if err != nil { // err이 nil이 아니면 에러이기 때문에 에러 출력 시켜주는 구문
            log.Fatal(err)
        }
        if guess < target {
            fmt.Println("업~")
        } else if guess > target {
            fmt.Println("다운~")
        } else {
            success = true // 정답이면 success를 true로 바꿔줌
            fmt.Print("정답입니다~ 종료합니다.")
            break
        }
    }
    if !success {
        fmt.Println("실패했습니다..")
    }
}