1. 작업 계획
① 사용자에게 가위, 바위, 보 정보 입력받기
- while, input()
② 컴퓨터는 랜덤으로 가위, 바위, 보 선택
- random.choice
③ 사용자 승패 여부 가리기
- 사용자 입력값과 컴퓨터 랜덤값 비교
④ 게임 실행
- 위에서 정의해둔 함수 모두 불러와 이용
- while, score 계산, 승패여부 출력
- 최종 게임 score 출력
2. Code
# 라이브러리
import random
# user가 선택한 값 입력받기
def get_user_choice():
while True:
user_choice = input("가위, 바위, 보 중에서 선택하세요 (게임 종료: '게임종료'): ")
if user_choice in ['가위', '바위', '보', '게임종료']:
return user_choice
else:
print("유효한 선택지를 입력해주세요.")
# 컴퓨터 값 추출
def get_computer_choice():
choices = ['가위', '바위', '보']
return random.choice(choices)
# 사용자 승패 여부 결정
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "비겼습니다!"
elif (user_choice == '가위' and computer_choice == '보') or (user_choice == '바위' and computer_choice == '가위') or (user_choice == '보' and computer_choice == '바위'):
return "사용자가 이겼습니다!"
else:
return "컴퓨터가 이겼습니다!"
# 게임 실행
def play_game():
user_score = 0
computer_score = 0
tie_score = 0
while True:
# 사용자 값 불러오기
user_choice = get_user_choice()
if user_choice == '게임종료':
break
# 컴퓨터 값 불러오기
computer_choice = get_computer_choice()
print(f"사용자: {user_choice}")
print(f"컴퓨터: {computer_choice}")
# 승패 여부 불러오기
result = determine_winner(user_choice, computer_choice)
print(result)
# 승점 계산
if result == "사용자가 이겼습니다!":
user_score += 1
elif result == "컴퓨터가 이겼습니다!":
computer_score += 1
else :
tie_score += 1
# 결과 출력
print(f"현재 점수 - 승: {user_score}, 패: {computer_score}, 무승부: {tie_score}")
print()
# 게임 종료시 최종 게임 스코어 출력
print("게임 종료")
print(f"최종 점수 - 승: {user_score}, 패: {computer_score}, 무승부: {tie_score}")
play_game()
'Python' 카테고리의 다른 글
[Flask] 생활코딩 강의 요약 (0) | 2023.06.26 |
---|---|
[기초] Class 생성과 상속 (0) | 2023.05.27 |