Back-End/GUI

[JAVA] 2D GAME RANDOM MAZE RUNNER

Dev-RiQ 2024. 12. 18. 00:49

기존에 튜토리얼로 품앗이하던 2D GAME을 응용해서 오늘 작성한 랜덤 미로를 적용시켜 실제로 플레이 해보기로 결정..!

기 작성 랜덤 미로 생성 코드 관련 : https://w0n9.tistory.com/11

 

도트 찍어서 멋지게 해보려 했지만 처참한 미술 실력에 기존 png 사용하기로 결정..!

 

일단 필요없는 object와 tile들 제거하고 필요한 부분만 남기고 나머지는 재사용했다.

 

기존 랜덤 미로 생성 코드에서 사이즈 셋팅 부분과 기타 값 설정 메소드를 분리했다.

먼저, 사이즈 셋팅 부분에서 사이즈 변경에따른 맵 좌표를 연동시켰고,

출발지점과 종료지점에서 밖으로 나가며 에러가 나는 이슈를 해결하기 위해

키입력 시 움직이는 것에 제한을 두었다. 

 

 

더하여 매 시행마다 미로를 새로 생성하여 데이터를 바꾸기 위해 

FileWriter를 이용해 map 텍스트를 갱신해 주었다.

 

다만, 처음 발견한 문제가 해당 world01.txt 파일을 직접 열거나 갱신하지 않으면

실제로 외부 데이터가 바뀌어도 이클립스 내에서 적용이 안되는 점이었다.

 

해당 부분은 window > preferences > general > workspace의 

Refresh 어쩌고 하는 아래의 사진 부분을 체크해주면 된다고 하더라..

물론 인생은 생각보다 호락호락하지 않았다.

외부 데이터 변경 시 자동 갱신이 되긴 하지만

나는 이미 실행을 했고, 실행한 후 데이터가 변경되고 갱신이 되기에..

어쩔 수 없이 재실행을 해주어야 변경된 값이 적용이 된다.

하지만 뭐 매번 변경이 되니까 재실행 할 때마다 맵이 바뀌긴 하니.. 얼추 목적에 맞췄다

 

아래는 size 50으로 설정한 맵의 일부이다. 

이미 복잡한데 이거 게임으로 확대해서 보면 작살날거 예상.

 

 

하지만 깨버렸고? 거의 9분 걸렸다.. 정신건강을 위해 size는 30 언더로 하도록 하자

저 바깥의 검은 부분도 어떻게 하고싶은데 아직 정확히 뭘 건드려야할지 몰라서 보류

 

영상은 너무 길까봐 짧게 사이즈 10짜리로 찍어봤다. (재시작 이슈..)

 

와중에 길 막혀서 멈추는 나.. 저때 끌뻔했따.

그래도 재밌는 체험했다..!

 

💌관련 코드 : https://github.com/Dev-RiQ/RandomMaze.git