package stars;

// 다크템플러 DarkTempler, 리버 River

class Zealot {
	final String NAME; // 한번 초기화하면 Read Only , 대문자로 적는 것이 약속
	int hp;
	static int attack = 10;

	public Zealot(String name) {
		this.NAME = name;
		this.hp = 100;
	}

}

class Dragoon {
	final String NAME;
	int hp;
	static int attack = 15;

	public Dragoon(String name) {
		this.NAME = name;
		this.hp = 100;
	}

}

class DarkTempler {
	final String NAME;
	int hp;
	static int attack = 50;

	public DarkTempler(String name) {
		this.NAME = name;
		this.hp = 100;
	}

}

class River {
	final String NAME;
	int hp;
	static int attack = 70;

	public River(String name) {
		this.NAME = name;
		this.hp = 100;
	}

}

public class GameStart {

	// 질럿이 드라군을 때림
	static void attack(Zealot u1, Dragoon u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	// 오버로딩 - 추가적재 - 다른함수로 인식
	static void attack(Dragoon u1, Zealot u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Zealot u1, Zealot u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Dragoon u1, Dragoon u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Zealot u1, DarkTempler u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Zealot u1, River u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Dragoon u1, DarkTempler u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(Dragoon u1, River u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(DarkTempler u1, Zealot u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}
	
	static void attack(DarkTempler u1, DarkTempler u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(DarkTempler u1, Dragoon u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(DarkTempler u1, River u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(River u1, Zealot u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	static void attack(River u1, Dragoon u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 " + u1.NAME + "에 의해서 공격당하고 있습니다.");
		if(u2.hp <= 0) {
			System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
			System.out.println(u2.NAME+ "이 죽었습니다.");
		} else {			
			System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
		}
	}

	static void attack(River u1, DarkTempler u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}
	
	static void attack(River u1, River u2) {
		u2.hp = u2.hp - u1.attack;
		System.out.println(u2.NAME + "이 공격당하고 있습니다.");
		System.out.println(u2.NAME + "의 체력은 : " + u2.hp + "입니다.");
	}

	public static void main(String[] args) {
		// 공격력 업그레이드하기
		Zealot.attack++;

		// 질럿 생성하기
		Zealot z1 = new Zealot("1번질럿");
		System.out.println(z1.NAME + Zealot.attack);

		Zealot z2 = new Zealot("2번질럿");
		System.out.println(z2.NAME + Zealot.attack);

		Dragoon d1 = new Dragoon("1번드라군");
		Dragoon d2 = new Dragoon("2번드라군");

		DarkTempler dt1 = new DarkTempler("1번 다크템플러");
		DarkTempler dt2 = new DarkTempler("1번 다크템플러");

		River r1 = new River("1번 리버");
		River r2 = new River("1번 리버");

		// 공격하기
		attack(z1, d1);
		attack(z1, z2);
		attack(z1, dt1);
		attack(z1, r1);

		attack(d1, z1);
		attack(d1, d2);
		attack(d1, dt1);
		attack(d1, r1);
		
		attack(dt1, z1);
		attack(dt1, dt2);
		attack(dt1, d1);
		attack(dt1, r1);
		
		attack(r1, z1);
		attack(r1, r2);
		attack(r1, d1);
		attack(r1, dt1);
		
		

	}
}

+ Recent posts