package ch10;
public class Zergling {
private String name;
private int power;
private int hp;
public Zergling(String name) {
this.name = name;
this.power = 5;
this.hp = 100;
}
public String getName() {
return this.name;
}
public int getPower() {
return this.power;
}
public int getHp() {
return this.hp;
}
public void showInfo() {
System.out.println("====정보창(" + this.name + ")====");
System.out.println("이름 : " + this.name);
System.out.println("공격력 : " + this.power);
System.out.println("체력 : " + this.hp);
System.out.println("===========");
}
// // 저글링이 질럿을 공격합니다.
// public void attackZealot(Zealot zealot) {
// System.out.println(this.name + "이 질럿을 공격합니다");
// zealot.beAttacked(this.power);
// }
//
// // 저글링이 마린을 공격합니다
// public void attackMarine(Marine marine) {
// System.out.println(this.name + "이 마린을 공격합니다");
// marine.beAttacked(this.power);
// }
public void attack(Marine marine ) {
System.out.println(this.name + " 이 " + marine.getName() + " 을 공격 합니다.");
marine.beAttacked(this.power);
}
public void attack(Zealot zealot ) {
System.out.println(this.name + " 이 " + zealot.getName() + " 을 공격 합니다.");
zealot.beAttacked(this.power);
}
public void beAttacked(int power) {
this.hp -= power;
if (this.hp <= 0) {
System.out.println(this.name + "은 사망하였습니다.");
this.hp = 0;
}
}
}
package ch10;
public class Zealot {
private String name;
private int power;
private int hp;
public Zealot(String name) {
this.name = name;
this.power = 10;
this.hp = 100;
}
// getter
public String getName() {
return this.name;
}
public int getPower() {
return this.power;
}
public int getHp() {
return this.hp;
}
public void showInfo() {
System.out.println("====정보창("+this.name+")====");
System.out.println("이름 : " + this.name);
System.out.println("공격력 : " + this.power);
System.out.println("체력 : " + this.hp);
System.out.println("===========");
}
// // 질럿이 마린을 공격합니다.
// public void attackMarine(Marine marine) {
// System.out.println(this.name + "이 마린을 공격합니다");
// marine.beAttacked(this.power);
// }
// //질럿이 저글링을 공격합니다.
// public void attackZergling(Zergling zergling) {
// System.out.println(this.name + "이 저글링을 공격합니다");
// zergling.beAttack(this.power);
//
// }
public void attack(Marine marine ) {
System.out.println(this.name + " 이 " + marine.getName() + " 을 공격 합니다.");
marine.beAttacked(this.power);
}
public void attack(Zergling zergling ) {
System.out.println(this.name + " 이 " + zergling.getName() + " 을 공격 합니다.");
zergling.beAttacked(this.power);
}
// 공격을 받습니다.
public void beAttacked(int power) {
this.hp -= power;
if (this.hp <= 0) {
System.out.println(this.name + "은 사망하였습니다.");
this.hp = 0;
}
}
}
package ch10;
public class Marine {
private String name;
private int power;
private int hp;
public Marine(String name) {
this.name = name;
this.power = 5;
this.hp = 100;
}
public String getName() {
return this.name;
}
public int getPower() {
return this.power;
}
public int getHp() {
return this.hp;
}
public void showInfo() {
System.out.println("====정보창("+this.name+")====");
System.out.println("이름 : " + this.name);
System.out.println("공격력 : " + this.power);
System.out.println("체력 : " + this.hp);
System.out.println("===========");
}
// // 마린이 질럿을 공격합니다
// public void attackZealot(Zealot zelot) {
// System.out.println(this.name + " 이 질럿을 공격합니다.");
// zelot.beAttacked(this.power);
// }
//
// // 마린이 저글링을 공격합니다
// public void attackZergling(Zergling zergling) {
// System.out.println(this.name + "이 저글링을 공격합니다.");
// zergling.beAttack(this.power);
// }
//메서드 오버로딩을 이용해 봅시다.
//attack 이라는 같은 메서드를 사용하지만 매개변수가 달라 사용이 가능하다
public void attack(Zealot zealot ) {
System.out.println(this.name + " 이 " + zealot.getName() + " 을 공격 합니다.");
zealot.beAttacked(this.power);
}
public void attack(Zergling zergling ) {
System.out.println(this.name + " 이 " + zergling.getName() + " 을 공격 합니다.");
zergling.beAttacked(this.power);
}
// 마린이 공격당합니다.
public void beAttacked(int power) {
this.hp -= power;
if (this.hp <= 0) {
System.out.println(this.name + "은 사망하였습니다.");
this.hp = 0;
}
}
}
'Java > chapter2' 카테고리의 다른 글
ch11 ArrayMainTest (0) | 2021.08.26 |
---|---|
ch10 StarCraft MainTest (0) | 2021.08.26 |
ch09 FormainTest3 (0) | 2021.08.26 |
ch09 Company (0) | 2021.08.25 |
ch09 Employee (0) | 2021.08.25 |