//Member_A.java class Member_A { private String name;//名前 private int hp;//HP(ヒットポイント) private int attack;//攻撃力 private int defense;//防御力 /*コンストラクタ*/ public Member_A(String name, int hp, int attack, int defense) { this.name = name; this.hp = hp; this.attack = attack; this.defense= defense; printState(); } /*hitメソッドの引数時に使用*/ public int getAttack(){ return attack; } /*レベルアップ*/ public void levlUp() { System.out.println(name + " Levl Up"); hp += 3; attack += 2; defense+= 1; printState(); } /*敵の攻撃*/ public boolean hit(Member_A ene) { int damage = ene.getAttack() - defense; damage = damage<0 ? 0 : damage; hp -= damage; return hp>0; } /*ステータスの表示*/ public void printState() { System.out.println("--------------"); System.out.println("name\t"+name); System.out.println("hp\t"+hp); System.out.println("attack\t"+attack); System.out.println("defense\t"+defense); System.out.println("--------------"); } /*HPの表示*/ public void printHp() { System.out.println("--------------"); System.out.println("name\t" + name + "\tHP: "+hp); System.out.println("--------------"); } }
//Driver_A.java class Driver_A{ public static void main(String[] args){ Member_A p_01 = new Member_A("Kazuma",10,5,2);//インスタンス生成 Member_A p_02 = new Member_A("Aqua", 8,8,3);//インスタンス生成 boolean life = true; for(int i=0; i<5; i++){ System.out.println("\nround_" + (i+1)); life = p_01.hit(p_02); //殴られた hp>0 で life==true p_01.printHp(); p_02.printHp(); p_01.levlUp(); //レベルアップ if(!life)break; } if(life){ System.out.println("kazuma is alive."); }else{ System.out.println("kazuma is dead."); } } }
>cd ws ws>javac -encoding UTF-8 Driver_A.java ws>java Driver_A -------------- name Kazuma hp 10 attack 5 defense 2 -------------- -------------- name Aqua hp 8 attack 8 defense 3 -------------- round_1 -------------- name Kazuma HP: 4 -------------- -------------- name Aqua HP: 8 -------------- Kazuma Levl Up -------------- name Kazuma hp 7 attack 7 defense 3 -------------- round_2 -------------- name Kazuma HP: 2 -------------- -------------- name Aqua HP: 8 -------------- Kazuma Levl Up -------------- name Kazuma hp 5 attack 9 defense 4 -------------- round_3 -------------- name Kazuma HP: 1 -------------- -------------- name Aqua HP: 8 -------------- Kazuma Levl Up -------------- name Kazuma hp 4 attack 11 defense 5 -------------- round_4 -------------- name Kazuma HP: 1 -------------- -------------- name Aqua HP: 8 -------------- Kazuma Levl Up -------------- name Kazuma hp 4 attack 13 defense 6 -------------- round_5 -------------- name Kazuma HP: 2 -------------- -------------- name Aqua HP: 8 -------------- Kazuma Levl Up -------------- name Kazuma hp 5 attack 15 defense 7 -------------- kazuma is alive.