IT/Java

[JAVA] 게임 캐릭터 공격 프로젝트

eternitys 2020. 12. 15. 13:52

객체 지향 기법을 활용한 게임 캐릭터 공격 만들기입니다.

 

 

 

Hero class 생성

 

public class Hero {

	String name;

	public Hero(String name) {
		this.name = name;
	}
 
	public void attack() {
		System.out.println("주먹 지르기!");
	}

}

 

 

Warrior class 생성

 

public class Warrior extends Hero {

	public Warrior(String name) {
		super(name);
	}
	
	public void groundCutting() {
		System.out.println("대지 가르기!");
	}

}

 

 

Archer class 생성 

 

public class Archer extends Hero {

	public Archer(String name) {
		super(name);
	}

	public void fireArrow() {
		System.out.println("불화살!");
	}

}

 

Wizard class 생성

 

public class Archer extends Hero {

	public Archer(String name) {
		super(name);
	}

	public void fireArrow() {
		System.out.println("불화살!");
	}

}

 

Main class 생성

 

public class Main {

	public static void main(String[] args) {

		Hero[] heros = new Hero[3];
		heros[0] = new Warrior("전사");
		heros[1] = new Archer("궁수");
		heros[2] = new Wizard("마법사");

		for (int i = 0; i < heros.length; i++) {
			heros[i].attack();

			if (heros[i] instanceof Warrior) {
				Warrior temp = (Warrior) heros[i];
				temp.groundCutting();
			} else if (heros[i] instanceof Archer) {
				Archer temp = (Archer) heros[i];
				temp.fireArrow();
			} else if (heros[i] instanceof Wizard) {
				Wizard temp = (Wizard) heros[i];
				temp.freezing();
			}
		}
	}

}

 

 

출력 결과

 

주먹 지르기!
대지 가르기!
주먹 지르기!
불화살!
주먹 지르기!
얼리기!