プレイ日記
まりを tomoyaTT88
とりあえず今のところは分からなくても筋を立てておこうと考えた RPGの思考ルーチンはどうやって作ろうか!!!な!! RND命令なのかな。でもそれだと A=RND(5)+1 IF A=1 THEN ………… IF A=2 THEN……… …… と長くなってしまうなぁ。皆さんは思考ルーチンをどう作りますか?
7そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
特別なAI機能をつけない限りはRPGの敵キャラの思考は乱数で問題ないと思います。 例えば直接攻撃、特技1、特技2、特技3という4つの行動パターンがあるならばそれをまずはIFで記述すれば良いですね。処理の効率化は一旦普通に動作するものができてそれで不満があったときに行うと良いでしょう。 行動パターンが4種類だとしたらA=RND(4)としてAの値を元に行動パターンを実行でも良いのですが行動パターン0(直接攻撃)が40%、特技1が20%、特技2が30%、特技3が10%のようにモンスターごとに異なる確率で特技を出すのもそれっぽくてよさそうだですね。 これが難しければまずは最初に書いたように均等に行動パターンをIFを使って行うプログラムを作ると良いと思います。
2そうだね
プレイ済み
返信[2]
親投稿
しろ sshiro1shiro
RPGを完成が目的なのにソースコードが長くなるのが嫌だと言ってるとコーディングが終わらないよ。まあ初心者はソースコードが長くなるのは嫌うけど慣れないと完成しないよりマシ(どうでもいいがプログラマの面接で今まで作った一つのプログラムで最大何行位のソースコードを書いたか聞かれるが、あれって技術力の確認より結局長いコードが苦にならないのかの確認なのかな)。
3そうだね
プレイ済み
返信[3]
親投稿
ツララ LongIceSword
別にRND()関数を使わなくてもRPGだとステータス管理用の変数があるはずですから、その値に依存で場合分け出来るんじゃないです? アクションゲームの敵キャラのルーチンも同じ様な感じでいやらしい感じに出来ますし。 パワーアップしてる時は逃げるけど、弱っている時は逆に集まって来るとか。
0そうだね
プレイ済み
返信[4]
親投稿
特技の発動をサブルーチンにして @S1,@S2みたいに連番にすると… GOSUB "@S"+STR$(A) 綺麗になるんだよなぁ… 欠点はラベルの名前が縛られるので分かりやすくないこと
0そうだね
プレイ済み
返信[5]
親投稿
始めてならとりあえず力押しでもいいんじゃないかな? 例のIFがズラズラが嫌なら、ON〜GOTOやON〜GOSUBを見てみるといいかも? まあでも後に確率分岐させたくなると思うので、その場合はIFの方が変更はしやすいかな…。まあ確率で求めた値をON〜の範囲に丸めればいいんだけど。
2そうだね
プレイ済み
返信[6]
親投稿
ツララ LongIceSword
>あまさと しおんさん ラベル名の横にでもREM命令で注釈文を書いておけば、読み難い欠点はフォロー出来そうじゃないです?
1そうだね
プレイ済み
返信[7]
親投稿
SEKI22 rcftgrsfrr578
自分の場合、敵の行動は物理攻撃だけです。(作りかけなので) ダメージはRNDを使ってます。(プログラムが汚いのは許して)
1そうだね
プレイ済み
返信[8]
親投稿
古いけど掘り出したので ※MSG_PUTはメッセージウインドウにPRINTしてると思ってOK
0そうだね
プレイ済み