TIL(14일차)

김규현·2022년 9월 20일
0

이전에 만들었던 가위바위보 게임에서 기존 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 = ['가위', '바위', '보']코드를 입력하세요
profile
웹개발 회고록

0개의 댓글