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

【枯れ草エクササイズ】カルネージハートエクサ6機目   を含む(ツリー表示)

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除
402: 名前:枯れた名無しの水平思考 :2010/10/31(日) 11:08:55 ID:7JfTFoAw0(4)
カウンタをビット演算すればたぶん1個で32個のフラグとして使えるなこれ
てか上位下位とかに分ければ相当まで増やせるか
数値を2進数で指定出来ないのがやや面倒か

403: 名前:枯れた名無しの水平思考 :2010/10/31(日) 11:18:40 ID:+g3pxvrz0(16)
>>402
1個で使うと、計算時に上書きしちゃうから注意
マルチなフラグとして使うなら計算領域にもう1個欲しい

そこまでビット置きたいことが珍しいけど
移動方向計算とかはこれで工夫すれば行けそうだよね
 (移動方向は要素1つともいえるので計算領域は要らない)
進んではいけない方向をビットで潰していくとか・・・

410: 名前:枯れた名無しの水平思考 :2010/10/31(日) 11:31:54 ID:srkLrixt0(7)
>>402
なんどかこのスレで全く同じ意見を見たな。だが言ってることが全くわからん・・・
具体的にどうするの?よかったら教えてください
433: 名前:枯れた名無しの水平思考 :2010/10/31(日) 12:04:14 ID:NltF+UEB0(6)
>>410
例えば壁判定

10進数 2進数 指定範囲に壁は何処にあるか
0     0000  無し
1     0001  前に壁
2     0010  右に壁
4     0100  左に壁  
8     1000  後ろに壁

1が何処に立っているかで記憶しておく

で、判定で前方に壁発見した場合に壁判定カウンタ(A)の右から1桁に1を立てる
A=Aor1
これでAの中身は0001になる
更に後ろにも壁がある場合は
A=Aor8
これでAの中身は1001になる

後方に壁が無い位置まで移動して後方の壁判定が無くなったら
A=Axor8
これでAの中身は0001になる

で、カウンタAの中身を取り出すときはカウンタAと対応する壁の位置を表す値とandする
前方に壁があるかの判定だと
B=Aand1
Bが1なら前に壁がある、0なら無い

使い道があるかどうかは別として、後ろと右両方に壁があるかの判定は
B=Aand10
Bが10なら後ろと右に壁がある
Bが8なら後ろに壁がある
Bが2なら右に壁がある
つまり一個のカウンタで全ての方向の壁の情報が保持できる

470: 名前:枯れた名無しの水平思考 :2010/10/31(日) 12:56:30 ID:7JfTFoAw0(4)
>>433
あ、xor使えばいいのか
比較ビットの否定とand取ろうとしてたw

>>436
すまん、勘違いしてた
少数分の扱いがどうなってるか怖いから
-65536~65535までで17ビット使う事にする
563: 名前:枯れた名無しの水平思考 :2010/10/31(日) 18:00:05 ID:3v6jYETxP
>>433
なるほど・・・わからん
574: 名前:枯れた名無しの水平思考 :2010/10/31(日) 18:33:48 ID:NltF+UEB0(6)
>>563
説明下手でごめん・・・
wikiにでも詳しくビット演算の事書けばいいんだろうけどね
792: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:32:36 ID:wDuUX9WW0(9)
>>433

フラグ立てるのはわかったけど、フラグ消すのは消すのは?
0をセットするためにはどうしたらいいんだ。
795: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:42:35 ID:xiQxL6A+0(11)
>>792
いまいち言いたいことが分からなかったけど多分
該当ビットだけを0でANDすればそこだけ0にできる
つまり>>433の一番下の処理は右と前の壁の判定を消してるわけだ
969: 名前:枯れた名無しの水平思考 :2010/11/01(月) 18:53:01 ID:1HYweyd00(2)
>>797だけど>>792の質問みて、フラグ消す説明が間違えてることに気が付きました。
0にしたいビットを-1とxorして作ったマスクとandするの抜けてました・・・
混乱させてご免なさい><


795: 名前:枯れた名無しの水平思考 :2010/11/01(月) 01:42:35 ID:xiQxL6A+0(11)
>>792
いまいち言いたいことが分からなかったけど多分
該当ビットだけを0でANDすればそこだけ0にできる
つまり>>433の一番下の処理は右と前の壁の判定を消してるわけだ
971: 名前:枯れた名無しの水平思考 :2010/11/01(月) 18:54:17 ID:1HYweyd00(2)
何度もごめんなさい>>797じゃなくて>>433でした
477: 名前:枯れた名無しの水平思考 :2010/10/31(日) 13:19:44 ID:7JfTFoAw0(4)
>>474
カルポと同じ感覚で重量オーバーすると燃費かなり悪くなる印象
504: 名前:枯れた名無しの水平思考 :2010/10/31(日) 14:14:54 ID:7JfTFoAw0(4)
>>495
今作はまだ確かめてないけどカルポだと撃った分だけ軽くなってたはず
スプー組み込もうとして待ちフレームが変わって苦労した
510: 名前:枯れた名無しの水平思考 :2010/10/31(日) 14:32:22 ID:peAAf2wl0(2)
>>504
ACみたいに、撃ち切ったミサイルランチャー捨てられたら良かったかもね。
ホイリーみたいな固定武装ぽいやつはできなくて、
エッグノッグみたいに外装に取り付けるやつはできる、
そんな感じで。

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