게임 캐릭터 관리 시스템_3

호떡·2022년 7월 24일
0

📝관련 실습: 객체배열관리_팀과제 (MonsterTest.java)


수업에서 다룬 Manager 클래스의 기능과 비슷하다. 거기에 한 가지 추가한 기능은 다음과 같다.

✍️캐릭터 조회 시 이름으로 조회할지, 공격력으로 조회할지 선택이 가능하다. 또한 공격력으로 조회할 때는 공격력의 최소값과 최대값을 입력받아 입력받은 수치 사이의 캐릭터들은 모두 조회할 수 있도록 구현했다.
✍️원래는 공격력, 방어력, 스피드로 조회가능하게 하고 싶었지만, 시간적 여유가 없어 일단 공격력으로 조회하는 기능만 구현했다.


import java.util.Scanner;

public class MonsterTest {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		MonsterManager monsterManager = MonsterManager.getInstance();
		int sel;
			
		do {
			System.out.println("======================================");
			System.out.println("번호를 입력해주세요");
			System.out.println("======================================");
			System.out.print("1. 몬스터등록\n2. 몬스터삭제\n3. 몬스터 목록\n4. 몬스터조회\n5. 종료\n>>>");
			sel = sc.nextInt();
            
			if(sel == 1) {
				System.out.print("몬스터 고유번호를 입력해주세요. \n>>>");
				int id = sc.nextInt();
				System.out.print("몬스터 이름을 입력해주세요. \n>>>");
				String name = sc.next();
				System.out.print("몬스터 공격력을 입력해주세요. \n>>>");
				int attack = sc.nextInt();
				System.out.print("몬스터 방어력을 입력해주세요. \n>>>");
				int defence = sc.nextInt();
				System.out.print("몬스터 스피드를 입력해주세요. \n>>>");
				int speed = sc.nextInt();
				Monster monster = new Monster(id, name, attack, defence, speed);
				monsterManager.addMonster(monster);
				System.out.println("몬스터가 등록되었습니다 !");
					
				Monster[] monsters = monsterManager.getList();
					
				for(Monster monsterList : monsters) {
					System.out.println(monsterList);
				}
			} else if (sel == 2) {
				System.out.println("삭제할 몬스터 고유번호를 입력해주세요");
				int id = sc.nextInt();
				monsterManager.removeMonster(id);
				System.out.println("몬스터가 삭제되었습니다 !");
				System.out.println("======================================");
				Monster[] monsters = monsterManager.getList();
				for(Monster monsterList : monsters) {
					System.out.println(monsterList);
				}
			} else if (sel == 3) {
				Monster[] monsters = monsterManager.getList();
				for(Monster m : monsters) {
					System.out.println(m);
				}
			} else if (sel == 4) {
				System.out.println("이름 또는 능력치로 검색해주세요");
				System.out.println("1. 이름\n2. 공격력");
				int sel2 = sc.nextInt();
				if(sel2 == 1) {
					System.out.println("몬스터 이름을 입력해주세요");
					String keyword = sc.next();
					Monster[] monster = monsterManager.searchByName(keyword);
					for(Monster m : monster) 
                    	System.out.println(m);
				} else if (sel2 == 2) {
					System.out.println("공격력 최소수치와 최대수치를 입력해주세요.");
					int min = sc.nextInt();
					int max = sc.nextInt();
					Monster[] monster = monsterManager.searchByAttack(min, max);
					for(Monster m : monster) 
                    	System.out.println(m);
				}	
			}
		} while(sel != 0);
			
	} //main
} //end class

0개의 댓글