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);
}
}
'Programming Language > Java' 카테고리의 다른 글
자바 오버라이드, 상속, 동적 바인딩 (0) | 2020.03.30 |
---|---|
200327 객체지향 프로그래밍, 오브젝트, STATE, PUBLIC, PRIVATE (0) | 2020.03.27 |
자바 메서드(함수)의 의미와 중요성 (0) | 2020.03.27 |
자바 public, private 비교 (0) | 2020.03.27 |
자바 생성자 자동 생성하는법 (0) | 2020.03.27 |