C++ 포켓몬 4주차

와다닥·2021년 11월 6일
0

(완) [C++] cpp푸키몬

목록 보기
2/6
post-custom-banner

3주차까지의 작업 상황

  • BGM 재생
  • 플레이어 이름 input 받아 사용
  • 매 턴 값을 받아 값에 연결된 액션을 실행
  • 객체
    • 포켓몬 -> 각각의 정보 저장
    • 트레이너 -> 포켓몬, 소지금 등 트레이너 정보 저장
  • 특정 문자열을 챔피언 코드로 지정해 플레이어와 챔피언 간 알맞은 포켓몬 풀 지정

4주차 작업 상황(~11/6)

  • 포켓몬 교체 시스템 -> 다만, 아직은 능동 교체만 가능함. (수정) 포켓몬을 꺼낼 때 이전의 정보를 유지하도록.
  • Call by Address 방식 전부 Call by Reference로 수정, Call by Value 사용해도 되는 Skill 객체들은 Call by Value 사용토록 수정.
  • 스킬 정보는 외부의 csv파일에서 읽어들여 parse method 통해 Skill type 배열로서 저장됨.
  • 선공과 후공을 판별하기 위해 fa와 la 객체에 포켓몬 객체를 지정하는 방식은 / 챔피언과 플레이어의 작동 매커니즘을 나눠 실행시키는 현재에 어울리지 않는 방식이라 삭제함.
    • 그러나, 두 매커니즘을 통일시킬 수 있다면 fa, la에 지정하는 방식이 훨씬 깔끔할 것 같음.

추가

  • 11/7 action method를 거치며 포인터가 제대로 전달되지 않아 교체 시 초기화되는 문제였으므로, pokemon은 Call by Address 형태로 사용하며 포켓몬 교체 함수를 action method 바깥으로 꺼내 사용.

5주차에 할 것

  1. 현재 포켓몬 기절 시 자동으로 교체 매커니즘 설계 -> 챔피언의 첫번째 포켓몬 격파 시 승리 판정 나는 것도 개선 가능함.
  2. 챔피언의 회복약 사용 알고리즘(각 포켓몬의 체력이 30% 미만일 경우 1회 한정, 총 6회 가능)
  3. 포켓몬 교체 시 이전 상태 기억하게
  4. 액션 관련 함수 통일하거나 축약할 수 있는 부분 정리
  5. enum 사용해 트레이너 타입 분류, 상황(배틀 내부) 분류, 포켓몬 속성 타입 분류.

고민중인 부분

  1. pp 구현 -> 전 기술 pp 소진 시 버둥거리기
  2. 상태변화 스킬 구현
  3. 일정 턴 후 종료되는 효과 구현
  4. 효과 시작 및 종료 안내 함수 통일
  5. 쓰러진 포켓몬 처리
  6. 속성 상성 구현
  7. enum 사용해 기술 기타사항(공격, 회복, 반동, 상태이상 등...) 구현
profile
I can't die I'm ALL IN
post-custom-banner

0개의 댓글