タグ

ブックマーク / qiita.com/turanukimaru (1)

  • ゲーム(FEH)におけるダメージ管理で学ぶメソッド設計 - Qiita

    FEHの能力値はHP,攻撃、速さ、守備、魔防の4種類です。武器には物理攻撃と非物理攻撃がありisMaterial()などのメソッドで判別できるものとします。今回速さは使いません。なおHPは現在値と最大値の2種類を持つのが現実的です。同じオブジェクトが持つべきかはまた別問題ですが。 基式 ダメージ=攻撃側の攻撃 - (攻撃側が物理攻撃の時は被害側の守備 | そうでないときは被害側の魔防) ダメージがマイナスの時は0とする 攻撃された側はダメージの分だけHPが減少する HPがマイナスの時は0とする 攻撃側をAttacker, 被害側をTargetとします これをシンプルにコード化して、例えばattacker.attack(target)メソッドと名付けると次のようになるでしょう data class Hero(var hp: Int, var atk: Int, var spd: Int,

    ゲーム(FEH)におけるダメージ管理で学ぶメソッド設計 - Qiita
    mak_in
    mak_in 2018/03/01
  • 1