본문 바로가기
💾 Backend/자바

💕자바 탐구 - 배틀게임 제작💕

by 정람지 2023. 5. 28.

🕹시나리오 🕹

의인화된 우주 이야기입니다. 

 

태양계 행성들이 무료하게 이어지는 긴 시간을 버티지 못하고 각자의 성질에 따라 두 파벌(지구형 행성 4개, 목성형 행성 4인)로 나뉘어 싸웁니다. 

지구형 팀 : 리더 행성 '지구', 팀원 행성 '수성', 행성 '금성', 행성 '화성'

목성형 팀 : 리더 행성 '목성', 팀원 행성 '토성', 행성 '천왕성', 행성 '해왕성'

 

위성 '달' 은 지구형 행성들의 조력자입니다. 지구팀의 리더 '지구'의 컨디션을 좋게 유지시켜줍니다.

혜성 'C/2022 E3 (ZTF)' 은 목성형 행성들의 조력자입니다. 태양계를 비교적 자유롭게 돌며 정보를 수집합니다.

 

부모 or 신격인 항성 '태양'은 싸움을 귀엽게 바라보며 이따금씩 관여합니다.

무기 "다이슨 구체" 이용

 

초거대질량 블랙홀 ' S5 0014-81 ' 는 태양계에 관심을 가지고 이따금씩 강력한 중력 공격을 합니다. 이때 지구형 팀과 목성형 팀은 동맹을 맺고 방어합니다.

무기 "스텔라 엔진" 이용

 

+

지구형 행성이란?

크기가 지구보다 작고 밀도는 지구와 비슷하며 표면과 지각이 고체로 되어 있다.

목성형 행성이란?

기체로 되어 있으며 밀도는 비교적 낮으며 고리가 있다.

다이슨 구체/스텔라 엔진이란?

 

☄️Universe⭐️ - 다이슨 구체/스텔라 엔진

태양 우리의 가장 효율적인 핵발전소의 1해 배나 더 강력 초당 1조개의 핵폭탄과 맞먹는 에너지 다이슨 구체 항성 전체를 둘러싸서 그것이 발하는 에너지를 받는 거대 구조물 행성 종에서 성간

junggoldchae-coding.tistory.com


🕹Player 🕹

( 몇 그림 웬디님 사진 참고, 일러스트레이터 감람 님 모작 등)

그림이...지금 보니 마음에 안 드네

태양계 전투의 관장자 
💫태양(Sun)
hp 1000000
power 100000
무기 태양풍, 스텔라 엔진

(공격을 받으면 상대방의 hp Player power + 무기 power 만큼 감소)

태양은 스텔라엔진 장착 시 + 10000


🌏지구형 행성 팀🌏

리더  
💫지구 (Earth)
hp 50000
power 2000
무기 생명력 

팀원
💫수성(Mercury), 💫금성(Venus), 💫화성(Mars)
hp 40000
power 1000
무기 핵(수성) / 반사광파(금성) / 유해가스(화성)

수성은 무기인 핵권총을 장착하면 위력이 (+500) 증가

화성은 무기인 과학기술 무기를 장착하면 위력이 (+500) 증가

지구형 행성 팀의 숨은 조력자
💫달(Moon)
hp 5000
power 200(+)
무기 지구 컨디션 상승용 중력안마~

달은 무기인 중력안마기를 장착하면 위력이 (+100) 증가


🪐목성형 행성 팀🪐

리더
💫목성(Jupiter)
hp 40000
power 5000
무기 대적점 폭풍

팀원
💫토성(Saturnus), 💫천왕성(Uranus), 💫해왕성(Neptune)
hp 30000
power 4000
무기 고리(토성) / 극저온파(천왕성) /  카이퍼벨트 메테오(해왕성)

토성은 무기인 고리채찍을 장착하면 위력이 (+500) 증가

목성형 행성 팀의 숨은 조력자
💫C/2022 E3 (ZTF)
hp 5000
power 200
무기 지구형 행성의 약점 알아오기

혜성은 무기인 최첨단도청기를 장착하면 위력이 (+100) 증가


강력한 외부 적
💫S5 0014-81 
hp 2,147,483,647
power 2,147,483,647
무기 중력파

 


🕹사용해 볼 것 🕹

 

클래스 (extends)  인터페이스 (implements) 적절히 사용하기
공격방식  팀전일 경우 target 지정  또는  랜덤대상 공격방식을 사용

 

java.lang 패키지

Object 클래스

equals() 메서드

hashCode() 메서드

clone() 메서드

String 클래스

compareTo() 메서드

concat() 메서드

trim() 메서드

length() 메서드

charAt() 메서드

StringBuffer, StringBuilder 클래스

Wrapper 클래스

valueOf()

오토박싱 / 언박싱

Calendar 클래스

 

예외처리

NullPointerException

IndexOutOfBoundsException

ClassCastException

ArithmeticException

try-catch-finally문

예외 처리 미루기(떠넘기기)throws

 

 

제네릭(Generic)

<T extends 클래스>

와일드카드 타입

제네릭 메서드

 

Collection 프레임워크

ArrayList 클래스

스택 큐

등등

공부이후추가

 

+

정적 클래스(Static Class)

내부(중첩) 클래스


🕹클래스 UML 🕹


🕹코드 🕹

생략


🕹실행 🕹

게임 시작.

태양계 싱글톤 생성.

처음애 전투 시작하면 행성들 전투 입장.

(어느 팀의 시비로 시작)(자기소개/생성)

 

각 플레이어마다, 정보 확인/공격(상대팀랜덤) 가능

무기 장착하면 더 강해짐 (무기장착 버튼누르면 무기메소드부르고/변수true로)

보조계 마찬가지(+응원)

한 팀의 플레이어가 다 죽으면 끝남.

 

태양 난입/블랙혹 난입 가능

 

'💾 Backend > 자바' 카테고리의 다른 글

💖자바 내부 클래스💖  (1) 2023.06.02
💖자바 스트림💖  (1) 2023.06.02
💗자바 ArrayList 클래스💗  (1) 2023.05.26
💖자바 컬렉션 🎞🚶‍♀️프레임워크💖  (1) 2023.05.24
💖자바 제네릭💖  (2) 2023.05.19