본문 바로가기
코딩 따라하기

올려내려 게임 따라하기 (Coding Game Up&Down)

by 전자남성 2020. 11. 23.

올려내려 게임 따라하기 (Coding Game Up&Down)

 

이번에 따라 해 볼 코드는 올려내려 게임입니다.

학창 시절이나 술자리에서 많이 했던 게임으로 기억합니다.

 

간단히 규칙을 설명하자면 술래와 도전자가 일정한 숫자 범위를 같이 정합니다.

그리고 나서 약속한 범위 내에서 술래가 정한 숫자를 도전자가 맞추는 게임입니다.

도전자가 말한 숫자가 정답보다 아래이면 술래는 "올려(Up)"를 외칩니다.

도전자가 말한 숫자가 정답보다 위이면 술래는 "내려(Down)"를 외칩니다.

 

예를 들어 술래가 35를 정합니다.

도전자가 30을 외친다면, 술래는 "올려"를 외칩니다.

그다음 도전자가 36을 외친다면, 술래는 "내려"를 외칩니다.

술래가 35를 외치면 게임이 종료됩니다.

 

보통 "올려내려" 게임에는 숫자를 맞출 수 있는 한도가 정해져 있습니다.

이번 코드에서는 그 한도를 10번으로 맞췄습니다.

, 도전자는 10번의 기회 안에서 술래의 숫자를 맞춰야 합니다.

 

UD.py로 파일 이름을 만들어봤습니다.

 

 

import random

 

num = random.randint(1, 100)

print(num)

print("게임 숫자는 컴퓨터만 볼 수 있습니다.")

 

for i in range(10):

user = input("숫자를 입력하세요: ")

user = int(user)

 

if num == user:

print("훌륭합니다.")

break

elif num > user:

print("Up")

else:

print("Down")

 

 

1행은 파이썬에서 랜덤 패키지를 읽어옵니다.

 

2행은 random.radint(1,100) 함수를 사용하여 1에서 100까지의 숫자 중 한 숫자를 랜덤으로 호출합니다.

그 호출된 랜덤 값은 'num'이 됩니다.

 

3행에서는 그 랜덤 값을 출력합니다.

굳이 랜덤 값을 출력하지 않아도 되지만, 코드가 어떻게 실행되는지 확인하기 위해서 랜덤 값을 출력해보았습니다.

4행은 3행의 설명을 적어놓았습니다. 굳이 꼭 있어야 할 코드는 아니지만 친절하게 넣어봤습니다.

 

5행은 range(10)range(0,10)을 의미합니다. range(10)처럼 0을 생략하고 range를 사용하는 경우도 흔합니다.

여기서 괄호는 range(start, stop)이 됩니다. 따라서 range(0,10)0,1,2,3,4,5,6,7,8,9 가 됩니다.

앞에 for문이 있습니다. for문은 분명 반복하라는 코드입니다.

, 10번의 기회 안에서 숫자를 맞추지 못하면 게임이 종료된다는 의미입니다.

 

6행은 input함수로 이곳에 도전자가 숫자를 넣게 됩니다.

7행은 도전자가 넣은 숫자가 코드 내에서 user라는 변수가 됩니다.

 

8행은 num==user의 의미는 1행의 random.radint(1,100)7행의 int(user)를 가져오게 됩니다.

random.radint(1,100)==int(user)를 만족하느냐 아니냐를 묻는 것입니다.

 

num==user 가 만족할 시, 9행에서 "훌륭합니다"라는 문구를 출력하고 코드가 끝나게 됩니다.

10행에 break를 넣지 않으면 도전자가 술래의 숫자를 넣어도 코드가 자동 종료되지 않습니다.

5행에서 for문을 넣었기 때문에, 코드가 최소 10번 반복하게 됩니다. 그러니 10행에서 break를 넣어주세요.

 

 

num==user 가 만족되지 않으면 11"num > user :"이 실행됩니다. 술래의 숫자가 도전가 부른 값보다 큰 경우입니다.

그러면 12행의 "Up"이라는 문구가 출력됩니다.

 

9if문도 11elif문도 만족하지 않는다면 코드는 자연스레 else문으로 넘어옵니다.

그리고 자동으로 13행의 "Down"이라는 문구가 출력됩니다.

 

 

 

이번 시간에도 VSCodeTERMINAL을 사용했습니다.

 

 

 

C:\Users\ATIV\Downloads\myworks>python .\UD.py

22

정해진 숫자는 술래만 볼 수 있습니다.

숫자를 입력하세요: 21

Up

숫자를 입력하세요: 30

Down

숫자를 입력하세요: 29

Down

숫자를 입력하세요: 28

Down

숫자를 입력하세요: 27

Down

숫자를 입력하세요: 26

Down

숫자를 입력하세요: 25

Down

숫자를 입력하세요: 24

Down

숫자를 입력하세요: 23

Down

숫자를 입력하세요: 22

훌륭합니다.

 

 

코드를 작성할 때 코드의 간결함도 중요합니다. 이점에 있어서 저는 아직 갈길이 먼 것 같습니다.

코드를 어떻게 더 간결하고 가독성 있게 만들지 한 번쯤 고민해보는 것도 좋은 공부인 것 같습니다.

댓글