- 786: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:15:38 ID:xiQxL6A+0(11)
- 低速CPUでのミサイル回避ルーチンが難物過ぎる
バッタで省スペースな回避アイデアをくれ・・・ - 795: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:42:35 ID:xiQxL6A+0(11)
- >>792
いまいち言いたいことが分からなかったけど多分
該当ビットだけを0でANDすればそこだけ0にできる
つまり>>433の一番下の処理は右と前の壁の判定を消してるわけだ - 796: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:48:10 ID:xiQxL6A+0(11)
- 1でorすると無条件でフラグ立って
0でandすると無条件でフラグが折れる
1でxorするとフラグが反転する
これだけ憶えとけばフラグ管理したいのなら十分だと思う - 798: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:59:49 ID:xiQxL6A+0(11)
- >>797
1の補ビットとandするなんてandチップ一つでできちゃうじゃないか - 804: 名前:枯れた名無しの水平思考 :2010/11/01(月) 02:16:02 ID:xiQxL6A+0(11)
- >>799
マイナス六万くらいの値だったとしても大丈夫だろw - 810: 名前:枯れた名無しの水平思考 :2010/11/01(月) 02:29:46 ID:xiQxL6A+0(11)
- >>805
intの仕様は知らないけど負の数が二の補数で表現されてるだけでしょ
あと14=1100な - 812: 名前:枯れた名無しの水平思考 :2010/11/01(月) 02:41:09 ID:xiQxL6A+0(11)
- wikiあさってたら使えそうなの見つけた
2の補数では、ビットの立っている最下位ビットだけを残して残りのビットを0にするには、C言語で x & -x により、可能である。
これフラグに優先度つけて順番に処理したいときに便利そう - 814: 名前:枯れた名無しの水平思考 :2010/11/01(月) 02:44:28 ID:xiQxL6A+0(11)
- >>813
なぜか14を12と勘違いしてたorz - 818: 名前:枯れた名無しの水平思考 :2010/11/01(月) 03:09:16 ID:xiQxL6A+0(11)
- >>816
たとえば開幕ミサイルしたかったらカウンタが0のときにミサイル撃ってカウンタに1入れたりするじゃん?
そのほかにもカウンタが0のとき普通に流して1のときに分岐するみたいなしていくとカウンタが足りなくなることあるじゃん?
けど論理演算でちょこちょこすればカウンタ一つでそういう0と1の分岐分をいっぺんに保存しとくことが出来る
まぁ確かに壁検出はその場でやってもあんまり変わらない
むしろチップ余計に使う - 819: 名前:枯れた名無しの水平思考 :2010/11/01(月) 03:12:02 ID:xiQxL6A+0(11)
- >>817
そこで>>812ですよ
カウンタコピーとandがかなり短縮できる
カウンタいっぱい使うときにしか効果ないと思うけど - 824: 名前:枯れた名無しの水平思考 :2010/11/01(月) 03:24:55 ID:xiQxL6A+0(11)
- >>821
カウンタコピー→and→分岐→カウンタコピー→and→分岐→
が
最初の処理する→分岐→分岐→
になる
■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー表示 dat