[TIL #11] 팀 프로젝트 텍스트 게임 고도화

안떽왕·2023년 3월 31일
0

Today I Learned

목록 보기
11/76

텍스트 게임 고도화

저번 개인과제에서 진행했던 텍스트 게임에 이어 팀프로젝트로 텍스트 게임의 고도화를 주제로 발제가 나왔습니다.

사실 못 넣은 기능이 많은 저로서는 화색이 도는 주제였습니다. 팀프로젝트는 총 3일간 진행되지만, 오전마다 있는 알고리즘 강의와 풀이시간, 그리고 오늘 5시 제출이라는 제한 때문에 사실상 이틀에 걸쳐 진행된 느낌입니다.

그제부터 팀프로젝트가 있었는데 이틀간의 TIL에는 관련 내용이 담기지 않고 강의 요약본만 올리게 되었는데, 생각보다 할 게 많고 시간이 촉박하다보니 제대로 TIL을 쓰지 못했습니다. 작성하는 지금 이 순간에도 11시를 넘긴 시각에 작성하고 있습니다.

발제내용

이번 발제에 적혀있는 게임 내 들어가야 할 요소는 다음과 같습니다.

  • 규칙
    • 협업을 위해 코드 컨벤션을 정해야 합니다.
    • 기능별로 파일을 나눠 작업해야 합니다.
    • 함수, 클래스를 사용해 중복된 코드 사용을 최소화해야 합니다.
  • 기능
    • 플레이어의 직업이 있고 직업별 특수 능력이 있어야 합니다.
    • 몬스터와 1:N or N:M 전투가 가능해야 합니다.
    • 몬스터 사냥 성공시 보상에 따른 게임 진행이 되어야 합니다.

규칙

저희 조는 클래스에는 파스칼 케이스, 함수와 변수에는 스네이크 케이스를 체택했습니다. 파스칼로 잘 만들어 놓고 주석에는 카멜 케이스라고 적은건 비밀..

클래스를 지정할 파일과 함수와 실행이 담긴 파일 총 2개로 분리 작업하였습니다.

중복된 코드 사용을 줄이기 위해 클래스를 만들고 반복문을 이용해 불필요하게 많은 if문을 축약했습니다.

기능

플레이어 클래스를 만들고 그 클래스를 상속 받는 직업 3개를 구성했으며 각각 특수공격을 넣었습니다.
몬스터와의 1대 다 전투는 가능하지만, 다 대 다 전투는 구현하지 못했습니다..
몬스ㅓ 사냥 성공 시 보상으로 경험치 및 아이템을 만들어 게임에 몰입감을 더했습니다.

마치며

이번 과제는 여러모로 역경이 많았던 프로젝트였습니다. 욕심이 많더라고 제출 기한이 있고 버려야할 건 버리고 반드시 들어가야 할 것은 들어가야하는 선택을 굉장히 많이 했습니다.

그리고 클래스의 사용법이 너무나도 부족하다는 것을 느꼈습니다. 많은 시간을 쏟아 넣었지만 결국 성공하지 못한 것이 아직도 화가 납니다.

딕셔너리를 자유자재로 사용할 수 있도록 공부를 더 해야겠습니다. 이번 과제는 클래스와 딕셔너리만 잘 사용했다면 코드의 볼륨을 획기적으로 줄일 수 있었다고 생각하고 있습니다.

팀프로젝트에 대한 코드리뷰는 WIL에서 추가 진행하겠습니다.

profile
이제 막 개발 배우는 코린이

0개의 댓글