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