AWS CLOUD FRAMEWORK/Java
[Day11] Unit_Upgrade
JWJ_Hub
2023. 4. 5. 18:04
package oop;
class Marine {
// static은 여러 객체가 공유하는 요소
static String name = "Marine";
static int atk = 5;
static int def = 0;
// non-static은 객체마다 서로 다른 값을 가질 수 있는 요소
int hp = 40;
void atk(Ultralisk target) {
target.hp -= (atk - Ultralisk.def);
}
static void upgradeAtk() {
if(atk < 8) {
atk += 1;
System.out.println("Upgrade Complete");
return;
}
System.err.println("더 이상 업그레이드 할 수 없습니다");
}
}
class Ultralisk {
static String name = "Ultralisk";
int hp = 400;
static int atk = 20;
static int def = 2;
}
public class Ex04_Unit_Upgrade {
public static void main(String[] args) {
Ultralisk ob = new Ultralisk();
Marine player = new Marine();
System.out.println("1. 노업 마린은 몇번공격해야 울트라를 잡는가");
int cnt = 0;
while(ob.hp > 0) {
player.atk(ob);
cnt++;
}
System.out.println("cnt : " + cnt + "\n");
System.out.println("2. 공격력 업그레이드를 1회 수행하면 어떻게 바뀌는가");
Marine.upgradeAtk();
cnt = 0;
ob = new Ultralisk();
while(ob.hp > 0) {
player.atk(ob);
cnt++;
}
System.out.println("cnt : " + cnt + "\n");
System.out.println("3. 공격력 업그레이드를 2회 수행하면 어떻게 바뀌는가");
Marine.upgradeAtk();
cnt = 0;
ob = new Ultralisk();
while(ob.hp > 0) {
player.atk(ob);
cnt++;
}
System.out.println("cnt : " + cnt + "\n");
System.out.println("4. 공격력 업그레이드를 3회 수행하면 어떻게 바뀌는가");
Marine.upgradeAtk();
cnt = 0;
ob = new Ultralisk();
while(ob.hp > 0) {
player.atk(ob);
cnt++;
}
System.out.println("cnt : " + cnt + "\n");
System.out.println("5. 새로 생성한 마린의 공격력과 기존 마린의 공격력은 각각 얼마인가");
System.out.println("기존 마린의 공격력 : " + player.atk);
Marine player2 = new Marine();
System.out.println("신규 생성한 마린의 공격력 : " + player2.atk);
Marine.upgradeAtk();
}
}