2ちゃんねるログビューア

【設計】カルネージハートポータブル Ver.7【戦闘】   を含む(ツリー表示)

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー表示
17: 名前:枯れた名無しの水平思考 :2006/08/04(金) 09:17:58 ID:JOFZd+/nO(7)
前スレ>>937
基本的にそれで良いんだけど、ちょっとアドバイス

90度づつ4回にわけて回避後に索敵ルーチンへってあるんだけど

まず360度で判定してから回避ルーチンに行くか、索敵ルーチンに行くか決めれば
3パネル分早く索敵ルーチンに行けます

さらに言うと、4回に分けなくても3回目の判断で
例えば、前、後ろ、右ってチェックしたら残りは左しかないので、ここで最終判断が出来ます
さらにさらに言うと左右チェック後の行動が同じ場合は
前、後ろの2回のチェックが終わった段階で行動出来て、もう1パネル分早く動けます

最初はどうしてもプログラムサイズが大きくなっちゃうけど、こうやって最適化することで
些細な違いしかないけど、いかに少ないパネル数で判断させるかによって
性能も変わって来るんで、参考にしてもらえればと思います(´・ω・`)
79: 名前:枯れた名無しの水平思考 :2006/08/04(金) 12:48:52 ID:JOFZd+/nO(7)
チラシ裏

新規OKEプログラマーの為にアドバイス

まずプログラムを組むに当たって、大まかに
回避→索敵→攻撃
の順で組むとわかりやすいです
慣れて来たら、その前後に自機の状態判断と移動、ターゲットの状態判断等を組みこんでいけば良いです

また、それぞれのルーチンを別々にブロック単位で作ると、後々、拡張、修正が楽になります
上級になると、無駄なチップを減らす為まとめて記述しますが、わかりにくいのと修正等が大変なのでお勧めしません

また使うCPUは可能な限り高速なもの(大型)を使って下さい
チップを全て埋める必要はありません、
プログラムの終わりは最寄の枠外へ逃がして下さい。スタート地点に近ければ近いほどベターです
116: 名前:枯れた名無しの水平思考 :2006/08/04(金) 13:29:23 ID:JOFZd+/nO(7)
>>88
ヤバイ、本気で知らなかった
そんな便利な機能が搭載されてたんだな・・・

まぁ、意識的に枠外に出す事でプログラムミスを防ぐって事で・・・ダメ?

まあ、リターンさせたほうが効率的だけどね
210: 名前:枯れた名無しの水平思考 :2006/08/04(金) 15:48:44 ID:JOFZd+/nO(7)
>>197
これはこれは
すばらしものだ
248: 名前:枯れた名無しの水平思考 :2006/08/04(金) 17:15:59 ID:JOFZd+/nO(7)
>>237
いけるけど、レーダーが生きてるか死んでるかの判断をちゃんとしないと
反応なくなる=ターゲット死亡
になって、敵のいないところをひたすらに、、、
で、複雑な分岐作ると反応が遅く

以下ループ
317: 名前:枯れた名無しの水平思考 :2006/08/04(金) 20:57:03 ID:JOFZd+/nO(7)
俺も気分で使い分けかな、乱射と通常

ただ、狙撃は余程じゃないと使わない
一次停止で撃つと、ただの的になるし
通過で撃つと回避行動とかに邪魔されて発射出来ず

撃てる条件指定すれば良いんだけど、ルーチンを複雑にするぐらいなら
使わずに簡略化を目指す
324: 名前:枯れた名無しの水平思考 :2006/08/04(金) 21:27:55 ID:JOFZd+/nO(7)
唯一の使い分けは、範囲内に敵が複数いたら乱射してるかな

ちなみにロケットとミサイル積んでる機体も、範囲内に複数いたらロケット、1体ならミサイルってしてる

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー表示 dat