Skip to content

[2023-2024 동계학습프로젝트] XML과 Java로 구현한 벽돌 깨기 프로그램 및 저작도구

Notifications You must be signed in to change notification settings

flsrinn/MarioBrickBreaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarioBrickBreaker

gamePlayer 패키지

벽돌 깨기 게임을 플레이할 수 있는 프로그램


게임 메인 화면


벽돌에 쓰인 숫자만큼 공으로 맞춰 깨는 게임
⚪ : 1단계 벽돌
🔵 : 2단계 벽돌
🟢 : 3단계 벽돌
🟣 : 4단계 벽돌
🔴 : 미스터리 벽돌
✖️ : 숫자가 없는 벽돌 = 깨지지 않는 벽돌
높은 단계 벽돌일 수록 높은 숫자가 나옴

메뉴바 설명

Game 메뉴


Play: 게임 플레이 버튼
Setting: 게임 난이도 조절(상, 중, 하)
상: 5-15 사이의 숫자
중: 3-10 사이의 숫자
하: 1-7 사이의 숫자
Pause: 움직이는 공을 멈춤

Music 메뉴


On: 음악 재생 버튼
Mute: 음악 음소거 버튼

File 메뉴


Open: XML 파일을 오픈하여 맵을 변경할 수 있음


block5.xml을 선택했을 때

상단 메뉴바에서 Game->Play 버튼을 눌러야 게임을 진행할 수 있다.

a 또는 d 버튼을 눌러 공을 왼쪽 또는 오른쪽으로 발사
발사된 공은 대각선 방향으로 움직이고, 블록 또는 벽에 맞을 경우 방향 전환
공에 맞은 벽돌은 쓰여있는 숫자에서 -1 된 값으로 표시
공이 바닥에 떨어질 경우 생명 -1
패들을 마우스로 드래그하며 공이 바닥에 떨어지지 않게 컨트롤해야함

벽돌에 공을 맞출 때마다 +100원
돈을 이용해 상점에서 아이템 구매 가능

아이템

벽돌에서 나오는 아이템


미스터리 벽돌을 깰 경우 특정 아이템이 나오고, 최종 점수에 영향을 끼친다.
현재 오류 = 꽃의 리스폰 위치 조정 중
🌻 : 60% 확률, 점수 +30
👻 : 30% 확률, 점수 -50
⭐ : 10% 확률, 점수 +100

상점에서 구매 가능한 아이템

오른쪽 점수판 아래 버튼을 이용해 아이템을 구매할 수 있다.
🔫 : 총알 +1
❤️ : 생명 +1 (이미 최대치일 경우 증가하지 않음)

총알을 발사하려면 패들 하단에 위치한 초록색 발사대를 좌, 우 방향키로 원하는 곳으로 이동시키고,
스페이스바를 이용해 발사할 수 있다.

게임 클리어 화면


벽돌에서 얻은 아이템의 수로 최종 점수를 나타낸다.
RESTART 버튼을 누르면 재시작 가능

게임 오버 화면


RESTART 버튼을 누르면 재시작 가능

gameTool 패키지

게임의 기본 틀이 되는 XML 파일을 제작하는 프로그램

title에서 마우스의 현재 좌표 확인
원하는 벽돌/아이템을 선택해서 원하는 곳에 왼클릭하면 배치 가능
아이템의 왼쪽 하단 모서리를 드래그해서 크기 조정 가능
아이템을 드래그하면 위치 이동 가능

공 설정


BALL 버튼을 눌러 공의 속성을 설정할 수 있다.

생명 개수 설정


LIFE 버튼을 눌러 생명의 개수를 설정할 수 있다.

메뉴바 설명

벽돌 메뉴


벽돌을 우클릭으로 2번 클릭하면 메뉴가 나타남 Type : 벽돌 레벨이나 미스터리 블록, 깨지지 않는 블록으로 설정 가능
Copy : 해당 벽돌 속성, 크기 등을 클립보드에 복사하고
원하는 곳에 우클릭 한 번을 하면 붙여넣기 Image : 벽돌 이미지 변경
Delete : 벽돌 삭제

Edit 메뉴


Undo : 가장 직전에 배치된 아이템 삭제
Resize : 창 사이즈 변경
Reset : 모든 아이템 삭제

Music 메뉴


Setting : 배경 음악, 효과 설정

Image 메뉴


Change : 블록 이미지, 배경 사진 변경


적용 화면

File 메뉴


Save : 기본 파일명으로 저장 (바로 직전에 저장된 숫자 다음 수로 저장)
ex) block3.xml까지 저장되었을 경우, block4.xml로 저장
Save As : 파일 이름을 지정해서 저장
Load : 저장된 XML 파일을 불러와 수정
게임 플레이의 필수 요소인 벽돌, 패들, 대포를 무조건 하나 이상 배치해야 저장 가능
단 패들과 대포는 하나만 배치 가능하고, 2개 이상 배치할 경우 경고 메세지가 출력되며 배치 불가함.


Save As를 통해 저장된 hello.xml 파일

About

[2023-2024 동계학습프로젝트] XML과 Java로 구현한 벽돌 깨기 프로그램 및 저작도구

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages