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-4주차] 유호연 체스 미션 제출합니다 #820

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

Conversation

yuho9
Copy link

@yuho9 yuho9 commented Aug 4, 2024

요구사항

1단계

  • Array List 로 각 행 초기화 하기
    블랙과 화이트 빈공간 으로 나누어 초기화

  • 출력시 순서가 아래에서 위로 보이도록 출력

  • 열의 이름은 abcdefgh 로 인식되독로 하기

2단계

  • 체스게임 시작을 알리는 문장 출력

  • start end move 중 입력 받음

  • end가 입력될때까지 반복

  • 현재 상태의 체스판 출력

  • move 입력시 이동시킬 말의 위치와 이동시킬 곳의 위치 같이 입력

  • move (위치) (위치) 형태의 문자열을 분리

  • (위치) 또한 열과 행으로 분리

  • 열의 이름은 문자형태이므로 이를 변환해야함

  • 이동시킬 말의 위치는 비우고

  • 이동시킬 곳의 위치에 말이름으로 채움

3단계

  • King이 잡혔는지 확인

  • 둘중 한명의 King이 잡힌경우 보유한 쪽이 승리

  • 점수 출력 안함

  • 둘다 King이 있는경우

  • 리스트에 있는 모든 문자를 대문자와 소문자로 나누어 따로 저장

  • 각 말을 점수로 변환해 합함

  • 세로줄의 같은색 폰이 있는경우 찾음

  • 있을경우 합에서 0.5점을 뺌

  • 점수(이름) 형태로 더하는 식과 합을 출력

실행 결과 영상

https://drive.google.com/drive/folders/1316qDlUOu2umVqn3uqNBOaBYFkbkMKBS?usp=sharing

에러처리

  • 위치 입력시 i~z 중 하나가 있는 경우
  • 위치 입력시 음수나 8이상 을 입력하는 경우
  • move 입력시 첫번째 위치에 말이 없는경우

신경쓴 부분

  • 들여쓰기가 2단계가 되지 않도록 함수를 최대한 쪼개는데 신경썼습니다.

고민한 부분 (질문하고 싶은 부분)

  • 함수를 쪼개다 보니 너무 많아지는 거 같은 느낌이 들었습니다. 올바르게 쪼개고 있는지 모르겠습니다.

구현중 어려웠던 부분

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