Skip to content
/ EZ2JAVA Public

[JAVA] 리듬게임 EZ2DJ를 JAVA로 구현하였습니다.

Notifications You must be signed in to change notification settings

Damnun/EZ2JAVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZ2JAVA

[JAVA] 리듬게임 EZ2DJ를 JAVA로 구현하였습니다.

image 리듬에 맞게 떨어지는 노트를 정확한 박자에 맞추어야 하는 리듬게임입니다.

EZ2DJ는 누구나 쉽게 DJ를 할 수 있다 라는 뜻입니다. 기존 게임명에서 아이디어를 차용하여 누구나 쉽게 자바를 즐기며 배울 수 있다는 뜻으로 EZ2JAVA 로 프로젝트 명을 정했습니다.

인터페이스와 노트 등, 실제 게임의 그래픽 인터페이스를 직접 일러스트레이터로 만들며 구현하였습니다.

EZ2JAVA 작동 순서

image

사용한 라이브러리

JAVA 프로그램에서 .mp3 확장자를 사용하기 위한 라이브러리로 Jlayer를 사용하였습니다. javazoom.net 사이트에서 다운로드 가능합니다. 음악 재생을 관할하는 Music.java 클래스에 Thread를 상속하여 사용하였습니다.

시연 영상 링크

https://youtu.be/nnJ7nbTqlNA

클래스 소개

  1. Main : 메인 실행 클래스
  2. Game : 게임의 컨트롤 패널 클래스
  3. EZ2JAVA : 메인 프레임 클래스
  4. Beat : 노트 정보를 담은 클래스
  5. KeyboardListener : 게임 내 키보드 조작을 담당하는 클래스
  6. Music : 음악 재생을 위한 클래스로, JLayer 라이브러리를 사용하였습니다.
  7. Note : 노트 판정을 담은 클래스
  8. Track : EZ2JAVA의 ArrayList에 곡에 대한 모든 정보를 담기 위해 만든 클래스

개발 마무리 후, 느낀 점

  • 자바 그래픽과 이벤트 처리에 대해서 명확히 정리할 수 있었습니다.
  • 자바가 왜 손 꼽히는 프로그래밍 언어로 각광받고 있는 지 알 수 있었습니다.
  1. 객체 지향적인 프로그래밍
  • 복잡하고 지저분한 코드를 객체화 시켜 클래스별로 정리하여 가독성과 프로그래밍 능률을 향상
  1. 상속과 메소드 오버라이딩
  • 불필요한 동작과 선언을 없애고, 상황에 걸맞는 메소드로 변환하여 사용하여 메모리와 게임의 불완전성을 해결할 수 있었다.

이번 프로젝트를 통해 객체지향적 프로그래밍에 대한 개념을 바로 잡을 수 있었고, 그래픽과 이벤트 처리에 대해 심도 깊게 배울 수 있었습니다.

About

[JAVA] 리듬게임 EZ2DJ를 JAVA로 구현하였습니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages