이전에 만들었던 가위바위보 게임에서 기존 5번 이겨야만 종료되었던 게임을 computer_count를 추가해 player_count와 computer_count를 각각 카운팅해서 3판 2선승제로 내용을 변경할 수 있었고, player가 입력하는 함수를 만들어서 다른 파일로 분리한 후 main.py 에서 임포트하고
user_value = get_user_value(option)로 호출하여 사용할 수 있었다.
이렇게 모듈을 만든다면 나중에 option 값을 변경할 경우 한 곳에서만 수정하면 다른 곳은 수정할 일이 없기 때문에 업데이트 하기가 용이한 것 같다.
main.py
import random
from get_input import get_user_value
option = ['가위', '바위', '보']
player_count = 0
computer_count = 0
while True:
print(f'현재 스코어는 {player_count}:{computer_count}')
if player_count == 2 or computer_count == 2:
if player_count == 2:
print('컴퓨터 상대로 승리하셨습니다.')
else:
print('컴퓨터 상대로 졌습니다.')
break
user_value = get_user_value(option)
computer = random.randint(0, 2)
computer_value = option[computer]
print(f'플레이어는 {user_value}를 선택, 컴퓨터는 {computer_value}를 선택했습니다')
if computer_value == user_value:
print('비겼습니다')
elif user_value == '가위':
if computer_value == '바위':
print('졌습니다')
computer_count += 1
else:
print('이겼습니다')
player_count += 1
elif user_value == '바위':
if computer_value == '보':
print('졌습니다')
computer_count += 1
else:
print('이겼습니다')
player_count += 1
elif user_value == '보':
if computer_value == '가위':
print('졌습니다')
computer_count += 1
else:
print('이겼습니다')
player_count += 1
else:
print('예상치 못한 경우입니다')
print('게임이 끝났습니다.')
get_input.py
def get_user_value(option):
while True:
user_value = input("가위 바위 보?")
if user_value in option:
return user_value
else:
print("값을 정확히 입력해주세요!")
option = ['가위', '바위', '보']코드를 입력하세요