トピック
げんや genya0519

前回の質問の続きです。

今度は敵キャラを作って、指定した通りに動かしたいです。どうすればいいですか?
0そうだね
プレイ済み
返信[1]
親投稿
natto- natto-3030
敵一人づつに行動パターンを作らせて常にその処理に向かうようにすればいいと思います。
1そうだね
プレイ済み
返信[2]
親投稿
ぴくと kanau1203
まず敵キャラをランダムに配置、移動方向を付加、分岐点があれば、どの方向に転換させるかを決める、移動させるのような繰り返しになるのかな
1そうだね
プレイ済み
返信[3]
親投稿
ツララ LongIceSword
行動パターンの作り方の手順を考える時の参考になるか分からないですけど、自動車教習所でだと車を運転する上で基本的なこととして「認知・判断・動作」っていう一連の流れを教わるんですが 認知「キャラクターの周りのマスの状態や、目標とするポイントの情報を集める」 判断「集めた情報を基に、どういう行動を取らせるか決定」 動作「実際にキャラクターを動かす」 って言うふうに、処理をブロック化してやれば上手く行くんじゃないでしょうか。 後はループを作ってこれの繰り返しで。 nattoさんの「敵一人づつに行動パターンを作らせて…」っていうのは、「判断」の部分を色んなパターン用意しておいて、上手いこと差し替えすれば可能かと。
2そうだね
プレイ済み
返信[4]
親投稿
ほしけん Hosiken
「ボタンで移動する」か「勝手に移動するか」の違い以外はプレイヤーキャラ(その子)と同じと考えます。 敵の処理と動きを一度に作ろうとするとこんがらがるので、まずはここからという目標を決めてみました。 ・「配列変数」とか「DIM」とかって何? という状態なら、敵はまず1体だけ出すつもりで作ってみてください。少し慣れたら、複数体出るようにに作り替えます。 ・プレイヤーキャラの移動処理をコピーして敵用とする ・座標の変数を、敵キャラ用のものを別途用意する ・動きはまだ考えず、とりあえずパッドで動くまま(プレイヤーと同じ方向に動く)か、ランダムで適当に動くところまで作ってみる 動きはここまでで来てから考えましょうか。
2そうだね
プレイ済み
返信[5]
親投稿
げんや genya0519
…今、ものすごい事が起きてます。 なんかニコチャンが壁を無視してすりぬけちゃってます・・・
0そうだね
プレイ済み
返信[6]
親投稿
げんや genya0519
敵(?)の「1」はちゃんと壁でとまります。
0そうだね
プレイ済み
返信[7]
親投稿
ツララ LongIceSword
ニコチャンの移動先を調べる変数と、敵1の移動先を調べる変数が同じ名前(CH)ですね。 敵1の方が処理が下の行に書いてあるので、上書きされてそっちが優先されてるんですね。 変数CHを使い回すなら、ニコチャンの方の処理を先に表示まで終わらせてから、敵1についても同様の処理を書けば大丈夫なはず。
0そうだね
プレイ済み
返信[8]
親投稿
ほしけん Hosiken
惜しいところまで来てますね! 今は敵の処理とニコちゃんの処理の、お互い似てる処理を混ぜていますが、それよりも「ニコちゃんの処理」と「敵の処理」は混ぜずに、完全に分けた方がわかりやすく、作りやすいと思います。ほとんどの場合はそういう分け方で作ります。 @SOUSA ニコちゃんの移動処理 ニコちゃんの壁との当たり判定 ニコちゃんをPRINTする処理 ↑ここまでは前からある分 ↓ここからは今回付け足す分 敵の移動処理 敵と壁との当たり判定 敵をPRINTする処理 ↑ここまで今回付け足した分 WAIT 10 GOTO @SOUSA 壁を突き抜けるのは、43~44行目でニコちゃんと敵のCHKCHRの結果を同じCHに入れてるからです。IFの判定もごっちゃになってますね。これはニコちゃんと敵の処理を混ぜて書いたことによるバグかなと思います。
0そうだね
プレイ済み