この人頭いいなと思ったエピソード

格闘ゲームで、プレーヤーが入力したキーに対して動きを与えるときに、プログラム的にはどのように実現すればよいでしょうか?
配列に順に入れていって、それを判定するとか言う方法でしょうか?

どなたかおねがいします。

A 回答 (2件)

コマンド体系にもよりますが、「配列に溜め込んで入力終了後に判定」というやり方では難しいと思います。



たとえばストリートファイター系のコマンド体系で←→Pを1コマンドとした場合、←(ガード)なのか←→Pなのかを判定するのは「配列の溜め込むやり方」では難しくなります。
タメ系のキャラを採用するとなるとタメ時間判定が加わるため、単純にキー操作だけを配列に入れても役に立ちません。

これが「バーチャファイター的2択あり」になるともっとややこしいことになります。

#1の回答とかぶりますが、UMLに「状態図」という書式があります。
体系化された状態遷移図としては最もポピュラーで参考書も多いので状態遷移をUML状態図で書いてみるのはどうでしょう。
    • good
    • 0
この回答へのお礼

お答えどうもです。
友達と、あれは配列じゃないのか、いやもしかしたらリストかも・・・とかいう話をしていたのですが、タメ系のキャラを考えると確かに厳しいですね。。
UML状態図、がんばって勉強しようと思います。
ありがとうございました。

お礼日時:2002/10/05 12:41

こういうのは「状態遷移表」を使って実装します。



・今の状態
・状態毎に、あるイベントを受け付けたときの
  ・すべき挙動
  ・次の状態

を持つように作ります。

どんな情報処理の教科書でも、状態遷移については記述されているはずなので、
詳しくは、そちらを勉強してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
状態遷移表・・・去年、習ったような覚えがあるのでなんとなくイメージはつかめました。
ただ、うる覚えなので、本を読んでみます。
ありがとうございました。

お礼日時:2002/10/05 12:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報