- 17: 名前:枯れた名無しの水平思考 :2006/08/04(金) 09:17:58 ID:JOFZd+/nO(7)
- 前スレ>>937
基本的にそれで良いんだけど、ちょっとアドバイス
90度づつ4回にわけて回避後に索敵ルーチンへってあるんだけど
まず360度で判定してから回避ルーチンに行くか、索敵ルーチンに行くか決めれば
3パネル分早く索敵ルーチンに行けます
さらに言うと、4回に分けなくても3回目の判断で
例えば、前、後ろ、右ってチェックしたら残りは左しかないので、ここで最終判断が出来ます
さらにさらに言うと左右チェック後の行動が同じ場合は
前、後ろの2回のチェックが終わった段階で行動出来て、もう1パネル分早く動けます
最初はどうしてもプログラムサイズが大きくなっちゃうけど、こうやって最適化することで
些細な違いしかないけど、いかに少ないパネル数で判断させるかによって
性能も変わって来るんで、参考にしてもらえればと思います(´・ω・`)- 19: 名前:枯れた名無しの水平思考 :2006/08/04(金) 09:38:15 ID:I9qEJ2Bg0(28)
- >>17
まだ埋まってないんだし前スレに書けよ('A`;)
あと、もう>>3いらなくね?- 21: 名前:枯れた名無しの水平思考 :2006/08/04(金) 10:04:19 ID:mVnZon0y0(7)
- >>19
つ 未購入者検索チップ
- 79: 名前:枯れた名無しの水平思考 :2006/08/04(金) 12:48:52 ID:JOFZd+/nO(7)
- チラシ裏
新規OKEプログラマーの為にアドバイス
まずプログラムを組むに当たって、大まかに
回避→索敵→攻撃
の順で組むとわかりやすいです
慣れて来たら、その前後に自機の状態判断と移動、ターゲットの状態判断等を組みこんでいけば良いです
また、それぞれのルーチンを別々にブロック単位で作ると、後々、拡張、修正が楽になります
上級になると、無駄なチップを減らす為まとめて記述しますが、わかりにくいのと修正等が大変なのでお勧めしません
また使うCPUは可能な限り高速なもの(大型)を使って下さい
チップを全て埋める必要はありません、
プログラムの終わりは最寄の枠外へ逃がして下さい。スタート地点に近ければ近いほどベターです- 83: 名前:枯れた名無しの水平思考 :2006/08/04(金) 12:52:45 ID:WyWx9xl90(2)
- >>79
乙です。 - 88: 名前:枯れた名無しの水平思考 :2006/08/04(金) 12:59:33 ID:ncJwlBoQ0
- >>79
どこにも繋がってないとリターンされるから最後はいらなくね?- 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