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

[java-bridge] gib.son(손수환) 미션 제출합니다. #2

Open
wants to merge 77 commits into
base: gib/java-bridge
Choose a base branch
from

Conversation

swandevson
Copy link

No description provided.

- 프로그램 동작 방식
- 기능 목록 (예외사항 포함)
- 클래스 설계
- 주의사항 체크 리스트
- 프로그램 동작 방식
- 기능 목록 (예외사항 포함)
- 클래스 설계
- 주의사항 체크 리스트
- 빈 문자열, 숫자가 아닌 경우 IlleglArgumentException을 에러메세지와 함께 발생
- 범위를 벗어나는 사이즈일시 예외를 throw
- 범위 내일 경우 게임에 사용할 다리를 생성
- 다리와 플레이어를 필드로 설정
- 사이즈를 인자로 받는 생성자
- 다음에 갈 위치, 마지막 선택, 생존 여부를 멤버로 가짐
- getter와 setter 작성
- 선택한 다리 칸이 무너지는 경우 플레이어 사망 처리
- 사이즈, U/D을 잘못입력할 시 제대로 입력할 때 까지 반복
- 사이즈를 입력받고 BridgeGame을 생성
- U/D를 입력받고 사용자 상태 업데이트
- 다리를 모두 건너거나 사용자가 죽으면 일단은 종료하도록 구현
- 필요한 정보 및 업데이트를 BridgeGame의 getter/setter 메소드 구현
- 재시도 횟수 필드 추가
- 게임 승리 조건 수정
- InputView, OutputView를 정적 변수로 변경
- 게임 재실행을 위해 실행을 메소드로 분리
- 올바르지 않은 입력에 대한 검증 및 예외 throw
- View를 static으로 수정했으므로 인자로 넘겨줄 필요 X
- 게임을 이기거나 죽으면 게임 종료
- 죽었을 경우, 재시작할지 종료할지 입력받고 이를 처리
- 재시작할 경우, 다리는 그대로 두고 플레이어는 처음부터 다시 시작한다.
- 게임에서 이길 시 갱신
- 게임에서 재시도하거나 종료할 시 갱신
- 확장성을 위해 player가 아닌 지나간 칸 수를 인자로 넘김
- 의미 혼란을 막기 위한 메소드명 변경
- 변하면 치명적인 오류가 발생하는 멤버 final로 지정
- BridgeGame에서 게임 종료 여부를 확인
- run에서 재시작 처리 가능하도록 수정
- BridgeGame을 인자로 받아 player 생존 여부를 체크하는 것이 아닌, player 생존 여부만을 인자로 전달하도록 변경
- 위/아래를 나타내는 숫자 1/0을 상수로 생성
- constructor를 제외한 불필요한 this 키워드 제거
- Collections.unmodifiable() 메소드를 사용해 최초 생성 후 값이 변경될 수 없도록 수정
- 최초 할당 후, 변경되어서는 안됨
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