Java Swing으로 제작된 간단하면서도 재미있는 리듬 게임입니다.
4개의 레인에서 떨어지는 노트를 정확한 타이밍에 맞춰 타격하는 리듬 게임입니다. 점수와 콤보를 쌓아가며 높은 등급을 목표로 해보세요!
- 4레인 리듬 게임: D, F, J, K 키를 사용한 직관적인 조작
- 실시간 판정 시스템: PERFECT, GOOD, MISS 판정
- 콤보 시스템: 연속 성공 시 점수 보너스
- 등급 시스템: S부터 F까지의 성과 평가
- 일시정지 기능: ESC 키로 게임 일시정지/재개
- 깔끔한 UI: 현대적이고 직관적인 사용자 인터페이스
- D, F, J, K: 각 레인의 노트 타격
- ESC: 게임 일시정지/재개
- ENTER: 결과 화면에서 메뉴로 돌아가기
javaMax2/
├── src/
│ └── main/
│ ├── RhythmGame.java # 메인 클래스
│ ├── game/ # 게임 로직
│ │ ├── GameEngine.java # 게임 엔진
│ │ ├── GameState.java # 게임 상태 열거형
│ │ ├── Note.java # 노트 클래스
│ │ └── ScoreManager.java # 점수 관리
│ ├── ui/ # 사용자 인터페이스
│ │ ├── GameFrame.java # 메인 프레임
│ │ ├── MenuPanel.java # 메뉴 화면
│ │ ├── GamePanel.java # 게임 화면
│ │ └── ResultPanel.java # 결과 화면
│ ├── audio/ # 오디오 시스템
│ │ └── AudioManager.java # 오디오 관리
│ └── utils/ # 유틸리티
│ ├── Constants.java # 상수 정의
│ └── ImageLoader.java # 이미지 로더
├── resources/ # 리소스 파일
│ ├── images/ # 이미지 리소스
│ │ ├── backgrounds/ # 배경 이미지
│ │ ├── notes/ # 노트 이미지
│ │ └── ui/ # UI 이미지
│ └── audio/ # 오디오 리소스
│ ├── music/ # 배경음악
│ └── effects/ # 효과음
└── README.md # 프로젝트 설명서
- Java 8 이상
- Java 개발 환경 (IDE 또는 터미널)
-
컴파일:
javac -cp . src/main/*.java src/main/*/*.java
-
실행:
java -cp src main.RhythmGame
- 프로젝트를 IDE로 열기
src/main/RhythmGame.java파일의 main 메서드 실행
resources/images/backgrounds/: 배경 이미지 (.png, .jpg)resources/images/notes/: 노트 이미지 (.png)resources/images/ui/: UI 요소 이미지 (.png)
resources/audio/music/: 배경음악 (.wav)resources/audio/effects/: 효과음 (.wav)
- PERFECT: 정확한 타이밍 (±10 프레임)
- GOOD: 양호한 타이밍 (±20 프레임)
- MISS: 타이밍을 놓침 (±30 프레임 이상)
- PERFECT: 300점 + 콤보 보너스 (×10)
- GOOD: 100점 + 콤보 보너스 (×5)
- MISS: 0점, 콤보 리셋
- S등급: 98% 이상
- A등급: 95% 이상
- B등급: 90% 이상
- C등급: 80% 이상
- D등급: 70% 이상
- F등급: 70% 미만
- 60 FPS 타이머 기반 게임 루프
- 실시간 노트 생성 및 판정
- 동적 난이도 조절 (시간에 따른 노트 생성 빈도 증가)
- 카드 레이아웃을 이용한 화면 전환
- 부드러운 그라디언트와 안티앨리어싱
- 실시간 키 입력 피드백
- 시각적 판정 표시
- Java Sound API 기반
- 배경음악과 효과음 분리 관리
- 볼륨 조절 기능
- 실시간 사운드 재생
- 차트 시스템: 외부 파일에서 노트 패턴 로드
- 음악 동기화: 음악 비트에 맞춘 노트 생성
- 멀티플레이: 여러 플레이어 동시 플레이
- 스킨 시스템: 사용자 정의 테마
- 레벨 에디터: 사용자가 직접 패턴 제작
이 프로젝트는 교육 목적으로 제작되었습니다.
버그 리포트나 개선 제안은 언제든 환영합니다!
즐거운 리듬 게임 되세요! 🎵