본문 바로가기

Go/[Go]Up Down Counting 게임 만들기

for 문을 이용해 Counting 기능 구현하기

본 포스팅을 하게된 목적은 기존 언어들과는 다른 Go 언어만의 특징을 기술하고자 시작하게 되었습니다.

따라서, for문은 기존 C/C++과 다른 것이 없기 때문에 단순 구현한 내용에 대해서만 기술하겠습니다.

(단, Go 언어는 for문을 작성할 때 '(', ')' 괄호를 사용할 필요가 없습니다. go fmt를 실행하면 모든 괄호는 사라질 것입니다.)

 

앞전에 설명드린 포스팅 내용을 for문 안에 삽입하여 응용할 것입니다.

https://devhsops.tistory.com/8

 

Up Down Counting Game 키보드 입력하기(정수값 입력하기)

Up Down Counting 게임을 시작하기 앞서 사용자가 키보드에 어떻게 입력할지에 대해 설명하겠습니다. 위 그림은 사용자가 input을 어떻게 하게될지에 대해 보여주는 결과물입니다. 위 그림과 같이 입

devhsops.tistory.com

 

주석을 달아 이해하기 쉽게 구현하였습니다. 그럼에도 불구하고 이해가 가지 않는다면 댓글로 달아주세요!

잘못된 내용이 있다고 알려주시는 것은 더욱 환영합니다. :)

// 3. 사용자가 추측한 숫자가 목표값보다 낮다면 -> "목표값은 입력 숫자보다 높은 숫자입니다."
// 							   높다면 -> "목표값은 입력 숫자보다 낮은 숫자입니다."
isFind := false
for x := 1; x <= 10; x++ {
	fmt.Println("남은 횟수 ->", 11-x)
	// 2. 사용자가 추측한 숫자를 입력할 수 있게 만들고, 추측한 값을 저장합니다.
	fmt.Print("사용자 추측 숫자 : ")
	reader := bufio.NewReader(os.Stdin)
	input, err := reader.ReadString('\n')
	if err != nil {
		log.Fatal(err)
	}
	input = strings.TrimSpace(input)
	userNum, err := strconv.Atoi(input)
	if err != nil {
		log.Fatal(err)
	}

	if userNum < target {
		fmt.Println("목표값은 입력 숫자보다 높은 숫자입니다.")
		fmt.Println()
	} else if userNum > target {
		fmt.Println("목표값은 입력 숫자보다 낮은 숫자입니다.")
		fmt.Println()
	} else {
		isFind = true
		break
	}

}
if isFind {
	fmt.Println("당신이 이겼어요!")
} else {
	fmt.Println("아쉽네요ㅠㅠ 정답은", target, "입니다.")
}