1と7のリビジョン間の差分 (その間の編集: 6回)
2020-11-21 15:01:41時点のリビジョン1
サイズ: 811
編集者: keitaroh
コメント:
2020-11-22 01:28:53時点のリビジョン7
サイズ: 5022
編集者: keitaroh
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 16: 行 16:
||'''グラフィック'''||'''名前'''||'''出現ウェイト'''||'''速度'''||'''攻撃力'''||'''HP'''||'''点数'''||'''リカバーポイント||
|| ||ブルー・ナイト||1型||1/f||1/f||24||1000||$18(24)/$09(09)||
||<:>'''グラフィック'''||<:>'''名前'''||<:>'''出現ウェイト'''||<:>'''速度'''||<:>'''攻撃力'''||<:>'''HP'''||<:>'''点数'''||<:>'''リカバーポイント||
||<:>{{attachment:knight_blue.png}}||<:>ブルーナイト||<:>1型||<:>1/f||<:>1/f||<:>24||<:>1000||<:>$18(24)/$09(09)||
||<:>{{attachment:knight_black.png}}||<:>ブラックナイト||<:>1型||<:>1/f||<:>1/f||<:>48||<:>1000||<:>$30(48)/$15(21)||
||<:>{{attachment:knight_mirror.png}}||<:>ミラーナイト||<:>2型||<:>ギルと同じ||<:>1/f||<:>48||<:>2000||<:>$30(48)/$15(21)||
||<:>{{attachment:knight_hyper.png}}||<:>ハイパーナイト||<:>2型||<:>1/f||<:>1/f||<:>96||<:>200||<:>$60(96)/$30(48)||
||<:>{{attachment:knight_lizardman.png}}||<:>リザードマン||<:>1型||<:>1/f||<:>2/f||<:>48||<:>1000||<:>$60(96)/$30(48)||
||<:>{{attachment:knight_red.png}}||<:>レッドナイト||<:>1型||<:>1/f||<:>1/f||<:>144||<:>1200||<:>$18(24)/$09(09)||
||<:>{{attachment:knight_hyper.png}}||<:>ハイパーナイト・スーパー||<:>3型||<:>2/f||<:>1/f||<:>96||<:>0||<:>$30(48)||

= 仕様 =

 * 全モンスターで唯一、ナイトだけ共通ルーチンがない。全て別々に書かれている。
 * ナイトの処理は、概ね以下のフェイズ/ステップから成る。
  * 出現前ウェイトフェイズ。
  * 初期化フェイズ。
  * メインフェイズ。
   * スプライト設定/攻撃判定ステップ。
   * 方向転換ステップ。
   * 移動ステップ。
  * 死亡フェイズ。
  * ギル死因演出フェイズ。
  * 処理終了フェイズ。
 * ★以下、まだ。

== 出現前ウェイトフェイズ ==

 * ナイトが出現するまでの待ち時間処理のフェイズ。
  * ナイトは(ハイパーナイト・スーパーを除き)フロア開始から出現までに若干の時間がかかる。
  * 負荷分散や重なりナイトの防止か?
 * ウェイト値の算出法は3種。
 * 定められた時間待ち終わると初期化フェイズへ移行する。

=== ウェイト値1型 ===

 * $2100から自身のワークエリア基準アドレスの値を引き、下位8ビットを 1/2 した値を基本ウェイト値とする。
  * 自身のワークエリア基準アドレスは $2100 + n * 32 + 16 である。
  * ※この値はタスク呼び出し時、Xレジスタにセットされる。
  * ※詳しくはスプライトワークエリアの項でと言いたいがまだ書いていない。
  * ウェイト値2型と違い、1/2する際は8ビット値で計算している点に注意。
  * たとえば基準アドレスが $2110 と $2210 のナイト(1型)は同じタイミングで出現する。
 * 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。
  * +1フレーム分のウェイト処理は、タスクの先頭に置かれている。

=== ウェイト値2型 ===

 * $2100から自身のワークエリア基準アドレスの値を引き、その値を 1/8 したものの下位8ビットを基本ウェイト値とする。
  * ウェイト値1型と違い、1/8する際は 16ビット値で計算している点に注意。
 * 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。

=== ウェイト値3型 ===

 * 1フレームだけ待つ。

== 初期化フェイズ ==

 * 以下の処理を行う。
  * 乱数による出現位置の決定。
  * 向きを下向きに設定。
  * 歩行中フラグを $01 に設定。
  * 剣動作番号を初期化。
  * 戦闘態勢フラグを初期化。
  * 倒した時の得点を設定。
   * ミラーナイト/ハイパーナイト/ハイパーナイト・スーパーは行わない。
  * HPの設定。
  * 攻撃中フラグの値を +1。
 * 初期化を終えたらメインフェイズへ移行する。

== メインフェイズ ==

 * 迷路を徘徊するフェイズ。スプライト設定/攻撃判定ステップ、方向転換ステップ、移動ステップに分かれる。

=== スプライト設定/攻撃判定ステップ ===

 * ★このステップを二つに分割するかどうか考え中。
 * フレームをまたぐから。

----

 * ★以下、まだ。
  • ナイトは、剣と盾で武装した人型の敵である。

概要

  • 迷路を右手法(亜種)で移動している。
  • ギルが同じ軸線上にいるとき、ギルに接近しようとする。
  • HP制。
    • ギルが剣を鞘から抜いていれば、ナイトに一撃で倒される事はない。
    • ナイトはギルに一撃で倒される事はない。
  • ナイトを倒すと、ギルの HPがいくらか増える。

ナイトの一覧

グラフィック

名前

出現ウェイト

速度

攻撃力

HP

点数

リカバーポイント

knight_blue.png

ブルーナイト

1型

1/f

1/f

24

1000

$18(24)/$09(09)

knight_black.png

ブラックナイト

1型

1/f

1/f

48

1000

$30(48)/$15(21)

knight_mirror.png

ミラーナイト

2型

ギルと同じ

1/f

48

2000

$30(48)/$15(21)

knight_hyper.png

ハイパーナイト

2型

1/f

1/f

96

200

$60(96)/$30(48)

knight_lizardman.png

リザードマン

1型

1/f

2/f

48

1000

$60(96)/$30(48)

knight_red.png

レッドナイト

1型

1/f

1/f

144

1200

$18(24)/$09(09)

knight_hyper.png

ハイパーナイト・スーパー

3型

2/f

1/f

96

0

$30(48)

仕様

  • 全モンスターで唯一、ナイトだけ共通ルーチンがない。全て別々に書かれている。
  • ナイトの処理は、概ね以下のフェイズ/ステップから成る。
    • 出現前ウェイトフェイズ。
    • 初期化フェイズ。
    • メインフェイズ。
      • スプライト設定/攻撃判定ステップ。
      • 方向転換ステップ。
      • 移動ステップ。
    • 死亡フェイズ。
    • ギル死因演出フェイズ。
    • 処理終了フェイズ。
  • ★以下、まだ。

出現前ウェイトフェイズ

  • ナイトが出現するまでの待ち時間処理のフェイズ。
    • ナイトは(ハイパーナイト・スーパーを除き)フロア開始から出現までに若干の時間がかかる。
    • 負荷分散や重なりナイトの防止か?
  • ウェイト値の算出法は3種。
  • 定められた時間待ち終わると初期化フェイズへ移行する。

ウェイト値1型

  • $2100から自身のワークエリア基準アドレスの値を引き、下位8ビットを 1/2 した値を基本ウェイト値とする。
    • 自身のワークエリア基準アドレスは $2100 + n * 32 + 16 である。
    • ※この値はタスク呼び出し時、Xレジスタにセットされる。
    • ※詳しくはスプライトワークエリアの項でと言いたいがまだ書いていない。
    • ウェイト値2型と違い、1/2する際は8ビット値で計算している点に注意。
    • たとえば基準アドレスが $2110 と $2210 のナイト(1型)は同じタイミングで出現する。
  • 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。
    • +1フレーム分のウェイト処理は、タスクの先頭に置かれている。

ウェイト値2型

  • $2100から自身のワークエリア基準アドレスの値を引き、その値を 1/8 したものの下位8ビットを基本ウェイト値とする。
    • ウェイト値1型と違い、1/8する際は 16ビット値で計算している点に注意。
  • 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。

ウェイト値3型

  • 1フレームだけ待つ。

初期化フェイズ

  • 以下の処理を行う。
    • 乱数による出現位置の決定。
    • 向きを下向きに設定。
    • 歩行中フラグを $01 に設定。
    • 剣動作番号を初期化。
    • 戦闘態勢フラグを初期化。
    • 倒した時の得点を設定。
      • ミラーナイト/ハイパーナイト/ハイパーナイト・スーパーは行わない。
    • HPの設定。
    • 攻撃中フラグの値を +1。
  • 初期化を終えたらメインフェイズへ移行する。

メインフェイズ

  • 迷路を徘徊するフェイズ。スプライト設定/攻撃判定ステップ、方向転換ステップ、移動ステップに分かれる。

スプライト設定/攻撃判定ステップ

  • ★このステップを二つに分割するかどうか考え中。
  • フレームをまたぐから。


  • ★以下、まだ。


カテゴリ:モンスター

ナイト (最終更新日時 2020-11-22 06:46:27 更新者 keitaroh)