TIL/내일배움캠프 숙제

[내일배움캠프] 두번째 과제, ERD 다이어그램: BaseballGameGUI

통촏하여주시옵소서 2024. 9. 21. 06:26

1. BaseballGameMain

  • 속성:
    • BaseballGameLogic gameLogic (게임 로직 처리)
  • 메서드:
    • checkResult(int[] userNumbers) (결과 확인)
    • resetGame() (게임 초기화)
    • getFormattedScores() (포맷된 점수 가져오기)
    • clearScoreList() (점수 리스트 초기화)
    • main(String[] args) (프로그램 시작점)

관계:

  • BaseballGameMainBaseballGameLogic사용합니다.

2. BaseballGameLogic

  • 속성:
    • int[] randomNumbers (랜덤 숫자)
    • int numberOfDigits (숫자의 자리수)
    • int attemptCount (시도 횟수)
    • BaseballGameScoreManager baseballGameScoreManager (점수 관리)
    • BaseballGameRandomNum randomGenerator (난수 생성기)
  • 메서드:
    • resetGame() (게임 초기화)
    • checkResult(int[] userNumbers) (결과 확인)
    • getFormattedScores() (포맷된 점수 가져오기)
    • clearScoreList() (점수 리스트 초기화)
    • setNumberOfDigits(int level) (난이도 설정)
    • getNumberOfDigits() (현재 자리수 반환)

관계:

  • BaseballGameLogicBaseballGameScoreManager가집니다.
  • BaseballGameLogicBaseballGameRandomNum사용하여 난수를 생성합니다.

3. BaseballGameRandomNum

  • 속성:
    • Random random (난수 생성기)
  • 메서드:
    • generateRandomNumbers(int numberOfDigits) (난수 생성)
    • contains(int[] arr, int num) (숫자 포함 여부 확인)

관계:

  • BaseballGameLogic은 난수 생성을 위해 BaseballGameRandomNum사용합니다.

4. BaseballGameScoreManager

  • 속성:
    • ArrayList<Integer> scores (점수 리스트)
  • 메서드:
    • addScore(int attemptCount) (점수 추가)
    • getFormattedScores() (점수 포맷 반환)
    • clearScores() (점수 리스트 초기화)

관계:

  • BaseballGameLogic은 점수 관리를 위해 BaseballGameScoreManager사용합니다.

5. BaseballGameGUI

  • 속성:
    • JTextArea resultArea (결과 출력 영역)
    • BaseballGameMain gameMain (게임 메인 객체)
    • StringBuilder userInput (사용자 입력)
  • 메서드:
    • BaseballGameGUI(BaseballGameMain gameMain) (생성자)
    • createResultArea() (결과 영역 생성)
    • createButtonPanel() (버튼 패널 생성)
    • createButton(String label) (버튼 생성)
    • handleButtonAction(String label) (버튼 액션 처리)
    • handleNumberButton(int number) (숫자 버튼 처리)
    • handleSubmit() (입력 제출)
    • handleDelete() (입력 수정)
    • handleRestart() (게임 재시작)
    • handleExit() (게임 종료)
    • handleScore() (점수 보기)
    • handleClearScore() (점수 초기화)
    • handleLevelChange() (난이도 변경)
    • updateUserInputDisplay() (사용자 입력 업데이트)
    • appendResult(String text) (결과 출력)

관계:

  • BaseballGameGUIBaseballGameMain과 상호작용하여 게임 로직을 사용합니다.

관계 요약:

  • BaseballGameMainBaseballGameLogic을 초기화하고 관리합니다.
  • BaseballGameLogic은 핵심 게임 로직을 관리하며, BaseballGameScoreManager를 통해 점수를 기록하고 BaseballGameRandomNum을 통해 난수를 생성합니다.
  • BaseballGameGUI는 사용자 인터페이스를 담당하며 BaseballGameMain과 상호작용하여 게임 로직을 실행합니다.