Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[보스 몬스터 잡기 미션] 김동우 미션 제출합니다. #23

Open
wants to merge 23 commits into
base: polarpolar914
Choose a base branch
from

Conversation

polarpolar914
Copy link

@polarpolar914 polarpolar914 commented Feb 15, 2024

보스 몬스터 잡기 미션

코드 설명

  • Controller / Service / Domain / exception / dto 로 나누어 구현하였습니다.
  • 게임에 필요한 정보들을 입력하는 부분과 게임진행상황 및 결과를 출력하는 부분을 Controller로,
    게임 로직과 관련된 부분들을 Service로,
    그 외 부분을 Domain으로 구분했습니다.
  • Game객체의 필드 중 turn을 제외한 Domain객체들의 모든 필드에 final키워드를 사용했습니다.
  • 잘못된 입력값으로 인한 Error들은 GlobalExceptionHandler에서 적절한 메소드를 반환하도록 처리했습니다.
  • GameService클래스의 run 메소드를 제외한 부분은 mock객체등을 활용해서 최대한 Test코드를 먼저 작성한뒤 개발하고자 했습니다.

질문사항

Setter사용을 최대한 지앙할려고 매번 객체를 새로 생성하도록 구현하였습니다. 이 게임의 구현과 같이 setter를 사용하지 않을 경우에는 객체 생성이 빈번해 질 경우에는 setter를 빈번히 사용하도록 타협하는 것이 오히려 좋을 지 궁금합니다.

Implement input validation for the boss monster's initial HP to ensure it's within the 100-300 range. If an invalid value is entered, throw IllegalArgumentException  and prompt for the input again.
Implement input validation for the player's initial HP and MP(sum is 200), and name. If an invalid value is entered, throw IllegalArgumentException and prompt for correct input.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant