파이썬 입문자들을 위한 연습용 프로젝트

OWLS·2022년 8월 10일
post-thumbnail

서론

뭔가를 학습을 할때 단계적으로 쌓아올라가는 걸 좋아하는데 1학년 때 들었던 프로그래밍 과목은 숙제 1에서는 아주 쉽다가 숙제 2에서 갑자기 난이도가 하늘을 승천해서 빡셌음. 근처 지인한테 숙제 프로젝트를 보여줬는데 접근도 못하고 어버버 하길래 좀더 쉬운 프로젝트를 만들어 공유했더니 적어도 문법적으로 접근을 할 수 있었음. 따라서 이를 공유함.

가위바위보 게임

소개

이 게임은 파이썬 문법 연습하기 위한 프로젝트로서 파이썬의 기초 문법을 활용하고 연습하는 것을 목적으로 한다. 따라서 경우에 따라 비효율적인 지시가 내려질 수 있으나 문법을 활용하기 위함이므로 충실히 따라주기를 바란다.

구현 목록

구현해야하는 파트는 크게 3가지다.

메뉴 파트

프로그램 시작시 게임을 시작할지, 종료할지, 다른 옵션을 선택할지 결정하는 파트이다.

게임파트

실질적으로 컴퓨터와 가위바위보를 하는 부분으로 사용자가 손모양을 내고, 컴퓨터의 손모양은 랜덤 함수를 통해 고른다. 이후 비교를 통해 승패를 가르고 전적에 반영한다.

전적파트

메뉴에서 전적파트를 선택하면 총 플레이 횟수, 승수, 패수, 무승부수를 전부 보여준다.

메뉴파트

예시 사진

위 예시 사진을 참고한다.
입력은 1, 2, 3, 정수로 받으며 그 외 입력은 받지 않는다고 가정한다.

전적 파트

2 입력시 전적을 전체적으로 보여준다. 전적에 총 플레이 횟수, 승수, 패수, 무승부수를 보여준다. 예시는 아래와 같다.

게임종료

3 입력시 해당 게임을 그대로 종료한다.

게임파트

게임 파트는 별도의 함수로 구분하여 진행한다.

현재 플레이수 표시


반복해서 게임 실행할 수 있을텐디 현재 몇번째 플레이인지 맨위에 표시를 한다.

유저가 낼 손모양 선택

1부터 3 사이의 숫자를 지정하여 각 숫자에 맞게 손모양을 배치한다. 해당 내용을 안내 문구로 출력한 후 유저로부터 손모양의 코드를 정수로 입력받는다.

컴퓨터가 낼 손모양 선택

컴퓨터의 손모양은 함수의 반환값을 통해 얻어낸다.

구현할 함수

  • 이름 : computer_turn
  • 매개변수 : 없음.
  • 반환값 : 컴퓨터가 낼 손 모양에 해당하는 코드 값.

computer_turn 함수에서 import random 하여 random 라이브러리를 사용할 수 있도록 한다. 해당 라이브러리를 이용해 1 , 2 , 3 중 하나의 값을 랜덤하게 얻어내고 그 값을 반환한다.

승패 비교

가위바위보 승패를 비교하는 파트이다. 승패 비교 함수도 역시 함수로 구현한다.

구현할 함수

  • 이름 : duel
  • 매개변수 : 유저가 입력한 손 모양코드, 컴퓨터가 랜덤으로 뽑은 손 모양 코드
  • 반환 값 : 승패 결과 (type : String)

유저가 입력한 손모양과 컴퓨터가 뽑은 손모양을 비교하여 승패를 가리는 함수이다. 이 함수에서는 승패의 결과를 반환하여 해당 반환 값으로 누가 이겼는지, 혹은 비겼는지를 확인한다.

중요한 점은, 해당 함수 내에서 print() 함수를 사용하여 결과를 출력하면 안된다.

duel 함수를 호출한 곳에서 duel 함수의 반환 값을 받아서 print로 출력을 해야한다.

전적갱신

판이 끝난 이후 총 플레이한 게임수, 승리한 게임, 패배한 게임, 비긴 게임에 대해서 각각 갱신을 시도한다.

EX
기존 상태 : 총 플레이 한 게임 10판중 7판을 이기고 2판을 졌으며 1판을 비긴 상태

게임 결과 : 유저가 이겼음.

갱신된 상태 : 총 플레이 한 게임 11판중 8판을 이기고 2판을 졌으며 1판을 비긴 상태

profile
코딩에 관심 많은 사람

0개의 댓글