2022.09.05
사용언어 :Java
개발시간 : 진행 중
📋 문제 설명
🕹️ 텍스트 RPG 게임 프로그램 만들기
거대한 세계관과 화려한 그래픽을 갖고 있는 지금의 게임은 과거 TRPG 시절로 올라가게 됩니다. 게임을 수행하는 사용자들은 텍스트 기반으로 캐릭터의 이름, 공격력, 방어력, 체력 등을 직접 입력하며 상대방과 겨루거나 혹은 텍스트 기반의 모험 시나리오를 진행하게 됩니다.
📢 입출력 예
[안내] TRPG 스타크래프트 시작합니다.
[안내] 자신의 유닛 정보를 입력해 주세요.
[시스템] 유닛 [이름] 을 입력해 주세요 :레이스
[시스템] 유닛 [공격력] 을 입력해 주세요 : (Ex 50)50
[시스템] 유닛 [방어력] 을 입력해 주세요 : (Ex 1)1
[시스템] 유닛 [체력] 을 입력해 주세요 : (Ex 100)100
[안내] 생성된 유닛 정보는 다음과 같습니다.
[안내] 레이스 유닛이 게임에 참여하였습니다.
[공격력] : 50
[방어력] : 1
[체력] : 100
========================================
[안내] 상대 유닛 정보를 입력해 주세요.
[시스템] 유닛 [이름] 을 입력해 주세요 :히드라
[시스템] 유닛 [공격력] 을 입력해 주세요 : (Ex 50)50
[시스템] 유닛 [방어력] 을 입력해 주세요 : (Ex 1)1
[시스템] 유닛 [체력] 을 입력해 주세요 : (Ex 100)100
[안내] 생성된 유닛 정보는 다음과 같습니다.
[안내] 히드라 유닛이 게임에 참여하였습니다.
[공격력] : 50
[방어력] : 1
[체력] : 100
========================================
----------------------------------------
[안내] [레이스]유닛이 [공격] 하였습니다.
[안내] 상대 유닛의 남은 [체력]은 50 입니다.
----------------------------------------
[안내] [레이스]유닛이 [공격] 하였습니다.
[안내] 상대 유닛의 남은 [체력]은 0 입니다.
----------------------------------------
[안내] 더 이상 공격할 수 없습니다.
[안내] 상대 유닛이 제거되었습니다.
🔑 문제 풀이
우선 배열을 통해 각 객체를 생성 하려 했다
ex} {이름,공격력,방어력,체력} 의 배열을 생성,
그러나 두번째 입력 값을 받으면 첫번째의 배열이 초기화 되었다.
분명 객체는 따로 선언했는데 객체명이 달라도 메서드가 같으면 같이 동작하는거 같다.
흐름을 보고 싶어 하나하나 출력해보면서 진행했지만 해결책은 다차원배열로
{1},{이름,공격력,방어력,체력} 식으로 저장되게 프로그래밍 하는게 좋아 보이나,
(실제로도 유닛넘버가 필요하기 때문에 다차원 배열을 많이 활용하는 걸로 앎)
객체의 각각 배열을 선언했을때 배열을 별도로 둘 다 저장할 수 있으면 쉽게 해결이 가능할 것 같기도하다.
확실히 이렇게 하나를 해보면, 정말 부족함이 많았음을 느끼고 정말 열심히 해야겠다는 생각이 든다.
https://github.com/frontLine-kim/be-sprint-lol_program.git