ゲームキャラクター・ビルダー
CoddyのJavaScriptジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 53/56。
チャレンジ
これは、キャラクターが武器を装備して戦闘を行うことができるシンプルなゲームキャラクターシステムです。
あなたのタスクは、Characterクラスにこれら2つのメソッドを追加することです:
メソッド 1: takeDamage(amount)
- このメソッドは、キャラクターの体力をその量だけ減らします
- ログ出力:
${this.name} takes ${amount} damage
メソッド 2: equipWeapon(weapon)
- このメソッドは、キャラクターに武器を与えます(コンポジション:「has-a」関係)
- ログ出力:
${this.name} equipped ${weapon.name}
自分で試してみよう
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // 次のように出力されるはずです: "Knight equipped Sword"
hero.takeDamage(20); // 次のように出力されるはずです: "Knight takes 20 damage"
console.log(hero.health); // 80 と表示されるはずです