본문 바로가기

JAVA/객체 코드

스타크래프트 ( Me)

입력받아 실행 될 수 있게 만들던중이고

class의 형변환을 시켰다

public class main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("작동시킬 아이를 선택해 주세요 : 1.Marine 2.Tank 3.Dropship");
		int u_num = sc.nextInt();
		
		Unit u1 = new Marine();
		Unit u2 = new Tank();
		Unit u3 = new Dropship();
	
		Marine m = (Marine)u1;//*Class의 형변환
		Tank t = (Tank)u2;//*Class의 형변환
		Dropship ds = (Dropship)u3;//*Class의 형변환
		
		switch (u_num) {
		case 1:
			System.out.println("1. 지정된 위치로 이동합니다");
			System.out.println("2.현재 위치에 정지합니다");
			System.out.println("3.스팀팩을 사용합니다");
			int choice = sc.nextInt();
			System.out.println();
			if (choice == 1) {
				m.move(m.getX(), m.getY());
			}if(choice == 2) {
				m.stop();
			}if(choice == 3) {
				m.stimPack();
			}
			break;
		case 2:
			break;
		case 3:
			break;
		}
	}
}
-----------------------------------------
public class Unit {

	public Unit() {
		// TODO Auto-generated constructor stub
	}
	public void move(int x, int y) {
	}
	public void stop() {
		// TODO Auto-generated method stub
	}
} 
-------------------------------------------------
public class Marine extends Unit {
	// 보병
// 	int x, y; // 현재 위치
//	void move(int x, int y) { /* 지정된 위치로 이동 */ }
//	void stop() { /* 현재 위치에 정지 */ }
//	void stimPack() { /* 스팀팩을 사용한다.*/}
	private int x, y;
	
	public int getX() {
		return x;
	}
	public int getY() {
		return y;
	}
	public Marine() {
		// TODO Auto-generated constructor stub
	}
	public void move(int x, int y) {
		System.out.println("Marine이"+x+"와"+y+" 이동하였습니다");
	}
	public void stop() {
		System.out.println("Marine이 멈췄습니다");
	}
	public void stimPack() {
		System.out.println("Marine이 스팀팩을 사용합니다");
	}
}
---------------------------------------------
public class Tank extends Unit {
	// 탱크
//	int x, y; // 현재 위치
//	void move(int x, int y) { /* 지정된 위치로 이동 */ }
//	void stop() { /* 현재 위치에 정지 */ }
//	void changeMode() { /* 공격모드를 변환한다. */}
	public Tank() {
		// TODO Auto-generated constructor stub
	}
	public void move(int x, int y) {
		System.out.println("Tank가"+x+"와"+y+" 이동하였습니다");
	}
	public void stop() {
		System.out.println("Tank이 멈췄습니다");
	}
	public void changeMode() {
		System.out.println("Tank가 공격모드를 변환한다");
	}
}
---------------------------------------------
public class Dropship extends Unit {
	// 수송선
//	int x, y; // 현재 위치
//	void move(int x, int y) { /* 지정된 위치로 이동 */ }
//	void stop() { /* 현재 위치에 정지 */ }
//	void load() { /* 선택된 대상을 태운다.*/ }
//	void unload() { /* 선택된 대상을 내린다.*/ }
	
	public Dropship() {
		// TODO Auto-generated constructor stub
	}
	public void move(int x, int y) {
		System.out.println("Dropship이"+x+"와"+y+" 이동하였습니다");
	}
	public void stop() {
		System.out.println("Dropship이 멈췄습니다");
	}
	public void load() {
		System.out.println("선택된 대상을 태운다");
	}
	public void unload() {
		System.out.println("선택된 대상을 내린다");
	}
}

'JAVA > 객체 코드' 카테고리의 다른 글

Robot 로봇  (0) 2020.06.03
스타크래프트 (정답)  (0) 2020.06.03
final Class  (0) 2020.06.03
class 기초순서 문제  (0) 2020.06.03
static  (0) 2020.06.03