1. BaseballGameMain
- 속성:
BaseballGameLogic gameLogic
(게임 로직 처리)
- 메서드:
checkResult(int[] userNumbers)
(결과 확인)resetGame()
(게임 초기화)getFormattedScores()
(포맷된 점수 가져오기)clearScoreList()
(점수 리스트 초기화)main(String[] args)
(프로그램 시작점)
관계:
BaseballGameMain
은BaseballGameLogic
을 사용합니다.
2. BaseballGameLogic
- 속성:
int[] randomNumbers
(랜덤 숫자)int numberOfDigits
(숫자의 자리수)int attemptCount
(시도 횟수)BaseballGameScoreManager baseballGameScoreManager
(점수 관리)BaseballGameRandomNum randomGenerator
(난수 생성기)
- 메서드:
resetGame()
(게임 초기화)checkResult(int[] userNumbers)
(결과 확인)getFormattedScores()
(포맷된 점수 가져오기)clearScoreList()
(점수 리스트 초기화)setNumberOfDigits(int level)
(난이도 설정)getNumberOfDigits()
(현재 자리수 반환)
관계:
BaseballGameLogic
은BaseballGameScoreManager
를 가집니다.BaseballGameLogic
은BaseballGameRandomNum
을 사용하여 난수를 생성합니다.
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)
(결과 출력)
관계:
BaseballGameGUI
는BaseballGameMain
과 상호작용하여 게임 로직을 사용합니다.
관계 요약:
BaseballGameMain
은BaseballGameLogic
을 초기화하고 관리합니다.BaseballGameLogic
은 핵심 게임 로직을 관리하며,BaseballGameScoreManager
를 통해 점수를 기록하고BaseballGameRandomNum
을 통해 난수를 생성합니다.BaseballGameGUI
는 사용자 인터페이스를 담당하며BaseballGameMain
과 상호작용하여 게임 로직을 실행합니다.
'TIL > 스파르타 자바공부기간' 카테고리의 다른 글
[내일배움캠프] Spring 1차 숙제 (0) | 2024.09.30 |
---|---|
[내일배움캠프] 두번째 과제, ERD 다이어그램: BaseballGameCLI (0) | 2024.09.23 |
[내일배움캠프] 두번째 과제, 트러블슈팅: BaseballGameGUI (0) | 2024.09.13 |
[내일배움캠프] 첫번째 과제, 트러블슈팅: Calculator GUI (0) | 2024.09.07 |
[내일배움캠프] 첫번째 과제, 트러블슈팅: Calculator Console (0) | 2024.09.06 |