Python과 Pygame으로 만든 숫자 블록 브레이커 게임입니다. 전통적인 아카노이드와 달리, 한 번에 여러 개의 공을 발사하여 숫자가 적힌 블록들을 파괴하는 퍼즐-캐주얼 게임입니다.
- 🎯 마우스 조준 시스템: 마우스로 발사 각도를 정밀하게 조정
- 🏀 다중 공 발사: 라운드가 진행될수록 더 많은 공을 발사
- 🔢 숫자 블록: 각 블록에 표시된 숫자만큼 맞아야 파괴됨
- 🎨 체력 기반 색상: 블록 체력에 따라 색상이 변화 (빨강→주황→노랑→초록→파랑)
- 📈 무한 라운드: 계속해서 도전할 수 있는 라운드 시스템
- ⚡ 물리 시뮬레이션: 현실적인 공의 움직임과 충돌
- 🏆 랭킹 시스템: SQLite 데이터베이스를 사용하여 상위 10명의 점수를 기록하고 보여주는 랭킹 보드
- 🌐 다국어 지원: 한국어와 영어를 지원하며, 설정 메뉴에서 변경 가능
- ⚙️ 설정 메뉴: 공 속도, 사운드, 난이도, 언어 등 다양한 게임 옵션 조정
- ✨ 네온 스타일 UI: 상점과 주요 화면에 적용된 세련된 네온 디자인
pip install -r requirements.txtpython main.py- 마우스 움직임: 발사 각도 조정 (15도~165도)
- 마우스 클릭: 공 발사 (모든 공이 떨어진 후에만 가능)
- R 키: 게임 재시작 (게임 오버 시)
- ESC 키: 타이틀 화면으로 돌아가기
- 블록 파괴: 블록에 표시된 숫자만큼 공이 맞아야 블록이 사라집니다
- 라운드 진행: 모든 공이 바닥에 떨어지면 다음 라운드로 진행
- 블록 이동: 매 라운드마다 기존 블록들이 한 줄씩 아래로 내려옵니다
- 공 개수 증가: 라운드가 지날수록 발사할 수 있는 공의 개수가 증가
- 게임 오버: 블록이 발사 영역(바닥)에 닿으면 게임 종료
- 점수: 블록을 파괴할 때마다 10점 획득
- 라운드 종료 후 상점이 등장하며, 점수(크레딧)로 아이템을 구매할 수 있습니다.
- 구매한 아이템은 해당 라운드에서 1, 2, 3번 키로 사용할 수 있습니다.
- 아이템 종류:
- 파워볼: 벽돌을 2배로 깸 (1번 키)
- 스피드볼: 공 속도 2배 (2번 키)
- 매그넘볼: 공이 1개 남았을 때 모든 블록 제거 (3번 키)
- 블록 삭제: 모든 블록 즉시 삭제 (구매 즉시 발동)
- 아이템 효과는 한 라운드 동안만 적용됩니다.
main.py: 게임 실행 파일 및 메인 루프game_objects.py: 게임 오브젝트 클래스 (Ball, Block, Game)shop.py: 인게임 상점 UI 및 로직 관리database.py: SQLite를 사용한 점수 랭킹 데이터베이스 관리language.py: 다국어 텍스트 지원constants.py: 게임 설정 상수 (화면 크기, 색상, 아이템 정보 등)requirements.txt: 필요한 라이브러리 목록achievements.json: 도전과제 데이터stats.json: 플레이어 통계 데이터images/: 게임 아이콘 등 이미지 애셋
무한히 계속되는 도전을 즐기세요! 🚀