가위, 바위, 보 게임 만들기
가위, 바위, 보 게임 만들기
조건
조건
문제를 코드로 구현할때는 항상 기획먼저! (feat. if문 else문)
- 조건 2, 3, 5를 구현하기 위해 두 갈래 또는 세 갈래로 나눠야 한다.
- 나눌땐
정?이 아니고 if문! - 변수를 몇 개나 선언 할 것인가에 대한 고민
- 머릿속 고민? NO!
펜이라도 들고 직접 메모지에 끄적거리면서 기획해보기 - 그러고 나서 타이핑!
import random # 가위, 바위, 보 중 랜덤으로 선택해야 하므로 랜덤모듈 불러옴
computer_choice = ['가위', '바위', '보'] # 컴퓨터가 랜덤으로 선택 할 가위, 바위, 보를 리스트로 만듬
player_point = 0 # 플레이어 승리 수
player_defeat = 0 # 플레이어 패배 수
computer_point = 0 # 컴퓨터 승리 수
computer_defeat = 0 # 컴퓨터 패배 수
print('가위, 바위, 보 게임을 시작합니다') # 게임 시작 문구
game_mode = input('게임 모드를 선택하세요\n'
'5판 3선승 - 숫자 1을 눌러주세요. \n'
'3판 2선승 - 숫자 2를 눌러주세요. ') # 모드 선택
if game_mode == '1': # 게임 모드 1번 선택 (5판 3선)
print('5판 3선승을 시작합니다.')
while True: # 몇번 반복될지 알 수 없어 while 문으로 무한 반복
if player_point == 3 or computer_point == 3: # 무한 반복 탈출 (플레이어 또는 컴퓨터가 3승시)
if player_point == 3: # 플레이어 3선승으로 승
print(f'플레이어가 최종 스코어 {player_point}승 {player_defeat}패로 승리 하였습니다!') # 조건 6번 (최종스코어 표시)
print('게임을 종료합니다.')
break
elif computer_point == 3: # 컴퓨터 3선승으로 승
print(f'컴퓨터가 최종 스코어 {computer_point}승 {computer_defeat}패로 승리 하였습니다!')
print('게임을 종료합니다.')
break
player = input('가위, 바위, 보 중 입력하세요: ') # 플레이어에게 가위, 바위, 보 중 선택 하라는 메세지
computer = random.choice(computer_choice) # 컴퓨터는 computer_choice 중에서 랜덤으로 선택
if player == '가위': # 플레이어 가위 선택
if computer == '가위':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]') # 조건 5번 (무얼 선택했는지 출력)
elif computer == '바위':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '보':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
elif player == '바위': # 플레이어 바위 선택
if computer == '바위':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]')
elif computer == '보':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '가위':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
elif player == '보': # 플레이어 보 선택
if computer == '보':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]')
elif computer == '가위':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '바위':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
else: # 플레이어가 가위, 바위, 보를 제외한 단어를 입력할 시 다시 입력하라는 문구
print('경고: 다시 입력하세요!!!')
elif game_mode == '2': # 게임 모드 2번 선택 (3판 2선)
print('3판 2선승을 시작합니다.')
while True: # 몇번 반복될지 알 수 없어 while 문으로 무한 반복
if player_point == 2 or computer_point == 2: # 무한 반복 탈출 (플레이어 또는 컴퓨터가 2승시)
if player_point == 2: # 플레이어 2선승으로 승
print(f'플레이어가 최종 스코어 {player_point}승 {player_defeat}패로 승리 하였습니다!')
print('게임을 종료합니다.')
break
elif computer_point == 2: # 컴퓨터 2선승으로 승
print(f'컴퓨터가 최종 스코어 {computer_point}승 {computer_defeat}패로 승리 하였습니다!')
print('게임을 종료합니다.')
break
player = input('가위, 바위, 보 중 입력하세요: ') # 플레이어에게 가위, 바위, 보 중 선택 하라는 메세지
computer = random.choice(computer_choice) # 컴퓨터는 computer_choice 중에서 랜덤으로 선택
if player == '가위': # 플레이어 가위 선택
if computer == '가위':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]')
elif computer == '바위':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '보':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
elif player == '바위': # 플레이어 바위 선택
if computer == '바위':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]')
elif computer == '보':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '가위':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
elif player == '보': # 플레이어 보 선택
if computer == '보':
print(f'플레이어 : {player} , 컴퓨터 : {computer} [비겼습니다.]')
elif computer == '가위':
computer_point += 1
player_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [컴퓨터 승!]')
elif computer == '바위':
player_point += 1
computer_defeat += 1
print(f'플레이어 : {player} , 컴퓨터 : {computer} [플레이어 승!]')
else: # 플레이어가 가위, 바위, 보를 제외한 단어를 입력할 시 다시 입력하라는 문구
print('경고: 다시 입력하세요!!!')
요약: 어렵고 복잡한 문법이 멋있는게 아니다. 조건문과 반복문으로도 웬만한건 다 구현 가능!
Author And Source
이 문제에 관하여(가위, 바위, 보 게임 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lkdfj6/미니-프로젝트-가위-바위-보-게임-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)