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

[Joy] step-5 수정 #207

Open
wants to merge 44 commits into
base: main
Choose a base branch
from
Open

Conversation

he2joojo
Copy link

LadderGame클래스의 start()에서 Ladder클래스의 메서드 호출 순서를 바꿔서 버그를 수정했다.
스크린샷 2023-03-17 오후 2 50 54

he2joo and others added 30 commits March 6, 2023 15:35
스트림을 사용해 이중for문을 제거했다. 또 메서드를 더 작은 단위로 나눴다.
사다리 모양을 '-'에서 "-----"로 변경하고 사다리 가로 줄이 연속적으로 나오지 않게 검사하는 메서드를 추가했다.
Player 클래스를 생성해서 플레이어 이름을 출력하게 했다. 또 PrintLadder 클래스를 생성하여 기존 Ladder 클래스에 있던 출력 메서드를 분리했다.
Player클래스를 만들어서 플레이어 이름을 출력하게 했다. 또 기존의 Ladder클래스의 printLadder메서드를 분리해서 별도의 클래스 PrintLadder클래스에 저장했다.
첫번째 플레이어, 가운데 플레이어(n), 마지막 플레이어 총 3부분으로 나누어 출력메서드를 수정했다.
메서드를 총 세부분으로 나누었다. 첫번째 플레이어, 가운데 플레이어(n명), 마지막 플레이어. 각 부분이 같은 공백으로 출력되게 메서드를 작성했다.
기존의 String[][]배열을 모두 ArrayList<ArrayList<String>>로 교체했습니다.
3월13~ 일주일간의 학습 키워드와 매일 할 일을 정리했다.
전체적인 설계를 변경하고 패키지를 domain과 view로 분리했다. LadderGame클래스를 추가해 Main과 Ladder 사이에서 협력하게 했다. 또 기존 Main클래스에 있던 입력함수를 Input 클래스로 이동시켰다.
Client 클래스를 추가하여 Client에서 LadderGame을 호출하고 LadderGame에서 Ladder를 호출하도록 설계를 변경하였다.
게임 시작 시 Main클래스에서 Client 인스턴스를 생성하여 startGame()을 호출하면 게임이 실행되게 했다.
Line클래스의 makeLine()에서 사다리 한 줄을 생성하게 했다. Line 생성자에서 makeLine을 호출하여 생성시 자동으로 한 줄이 만들어지게 하고  Ladder클래스에서 row만큼 Line객체를 생성하게 했다.
LadderGame에 pkayers의 이름을 간격에 맞춰 출력하는 메서드와 사다리를 출력하는 메서드를 추가했다.
LadderGame의 printPlayers 메서드를 간격에 맞게 출력하도록 수정하고, Line 클래스의 makeLine메서드의 오타를 수정했다.
플레이어의 정보를 따로 관리하는 Players클래스를 추가하여 기존의 설계를 개선하였다.
Players클래스에 사다리 게임의 결과를 걔산하는 getOneResult()메서드를 추가했다. 이 메서드는 매개변수로 받은 한 명의 플레이어의 결과를 계산한다.
getResult(String ladder)를 Players클래스에 추가하여 사다리 게임의 전체 결과를 계산하게 했다. 이 메서드는 Players클래스가 생성될 때 자동으로 호출된다.
Players클래스에 searchResult()메서드를 추가해 전체결과과 개별 결과를 String으로 반환하게 했다. InputLadder클래스에서 입력을 받아 Client가 LadderGame클래스로 넘기고 LadderGame클래스에서 이 메서드를 호출하게 했다.
Line클래스에서 사다리의 가로 줄이 연속으로 나오는지, 열이 맞게 출력되는지 확인하는 테스트 메서드를 작성했다.
he2joo added 14 commits March 16, 2023 00:33
Ladder클래스를 테스트 하기 위해 LadderTest에 사다리의 행과 열이 맞게 출력 되는지, 가로줄이 연속으로 나오는지 테스트하는 메서드를 작성했다.
원래 Players에 있던 사다리 결과를 계산하는 메서드를 삭제하고 결과를 받아 Map에 저장하는 sortResult()를 추가했다. 이 메서드는 생성자로 int[]를 받아 Map에 플레이어의 이름과 결과를 저장한다. Players의 생성자 매개변수가 변경되어 LadderGame도 변경하였다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants