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

Kmj452 #154

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

Kmj452 #154

wants to merge 10 commits into from

Conversation

kmj452
Copy link

@kmj452 kmj452 commented May 6, 2024

  1. 게임이 시작되면 컴퓨터가 1~9까지의 수 중 중복없는 3자리 수를 랜덤으로 생성
  2. "숫자를 입력해 주세요 : " 라는 문구와 함께 사용자로부터 입력 받기
  3. 사용자가 유효하지 않은 수를 입력했을시 예외처리
  4. 사용자가 입력한 수와 컴퓨터의 수를 비교하여 스트라이크, 볼 계산
  5. 2~4번을 반복문으로 돌리고, 만약 정답이라면 게임종료 문구를 출력, 아니라면 계속 진행
  6. 게임 종료 후 게임을 다시 시작하냐는 문구 출력, 사용자 입력 받음
  7. 사용자 입력에 따라 다시 시작 / 게임 종료 /
  8. 사용자가 유효하지 않은 숫자 입력 시 예외처리

에 맞춰 기능을 구현했습니다.
다만 발생한 오류가
인코딩이 제대로 되지 않아 출력되는 문자를 전부 영어로 바꿔줘야 했습니다. slack 에 올라온대로 해봤는데 잘 되지 않아서... 제출 후에도 더 시도해보겠습니다.
또한 Application 에서 System.exit()을 사용하면 안되서 return을 사용했는데 return이 회색으로 표시되며 제대로 작동하지 않았습니다. 이부분은 해결방법을 잘 모르겠습니다.

이 미니과제를 하며 느낀점은 코드를 단위별로, 함수별로 나눠서 구현한다는게 생각보다 까다롭다는걸 알게 되었고 코드의 전체적인 구조를 구상하는데 시간을 썼던것 같습니다. 또한 요구사항중 depth이 3 이상이 되지 않게 구현하는것도 까다로웠습니다. 제가 습관적으로 작성하는 코드는 3이 넘는 코드가 많은데 이는 가독성이 별로라는것을 알게 되었고 코드를 좀 더 깔끔하게 작성하는 법에 대해 배울 수 있었습니다. 마지막으로 테스트코드를 작성해보며 기존에 제 방식인 코드를 직접 실행해서 직접 입력하는 방식이 얼마나 비효율적인지 알게 되었고 기능 하나하나 테스트 할 수 있는 방법에 대해 알게 되었습니다.

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