Files
php-question/Question13-Inheritance/Ex07.php
2026-10-06 12:10:09 +09:00

34 lines
2.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* [Ex07 オブジェクト指向 - 装備付きSuperHeroとSlimeの戦闘シミュレーション]
*
*
* TODO:
* 1. 既に実装済みの "common/Item.php", "common/SuperHero.php"(または "common/super_hero.php")、"common/Slime.php"(namespace Common 使用)
* は変更不要です。
* ※SuperHero クラスは Hero クラスを継承し、attack() メソッドで装備品の追加ダメージを加算する実装になっています。
*
* 2. 本ファイル内で、require_once を使い以下のファイルを読み込んでください。
* - "common/SuperHero.php" (または "common/super_hero.php")
* - "common/Item.php"
* - "common/Slime.php"
*
* 3. namespace を利用して、Common\SuperHero, Common\Item, Common\Slime クラスを使用してください。
*
* 4. 以下の手順で処理を実装してください:
* a. Common\SuperHero のインスタンスを生成し、setName() メソッドで "勇者(装備あり)" を設定する。
* b. Common\Slime のインスタンスを生成し、setName() メソッドで "スライム" を設定する。
* c. Common\Item のインスタンスを生成し、コンストラクタの引数として ("こんぼう", 4) を指定する。
* d. 生成した Item インスタンスを SuperHero の装備品として設定する(setEquipment() を利用)。
*
* 5. 次に、以下の戦闘シミュレーションを実装してください:
* - SuperHero の攻撃 → Slime の damage() によるダメージ判定
* - もし Slime が倒れていなければ、Slime の攻撃 → SuperHero の damage() によるダメージ判定
* - 上記の攻撃とダメージ判定を、どちらかの体力が0になるまで繰り返す。
*
* 6. 戦闘終了後、勝者に応じたメッセージを出力してください。
* 例:"勇者(装備あり)はスライムとの戦闘に勝利した" または "スライムは勇者(装備あり)との戦闘に勝利した"
*
*/