問題タブ [bitboard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
61 参照

chess - このコードを Python で記述するより良い方法はありますか? (UCI-move をビットボード、チェスに変換)

UCI ムーブをビットボードに変換したい。

たとえば、a2a3 -> 32768、8388608

[7,6,...,0] を [a,b,...,h] に割り当てる必要があるため、文字ごとに 2^n を計算するための番号 (n) が割り当てられます

これは、開始または終了フィールドに応じて、uci[1] または uci[3] *8 の値だけ左シフトできます。

これは私のアプローチであり、あまり見栄えがよく冗長に見えません。

0 投票する
1 に答える
794 参照

bit-manipulation - チェスでビットボードを使用する方法?

私はビットボード ベースのチェス エンジンを作成しています。質問したいのですが、すべての駒にビットボードを作成したと仮定すると、どうすればよいでしょうか? ポーンのビットボードを左に 7 と 9 だけシフトすると、ポーンが攻撃する正方形を表すビットボードが得られるなど、いくつかのテクニックについて少し読みましたが、どのように使用すればよいでしょうか? または、ルーク ビットボードまたはビショップ ビットボードの使用方法を教えてください。彼らのターゲットは何ですか?それを見つけた場合、それを他のビットボードとどのように接続しますか?私は何日もそれを探してきましたが、十分な答えが見つかりませんでした...ありがとう

0 投票する
1 に答える
118 参照

python - int 内の特定の位置のビットを左から右に変更します。

私は、ビット単位の操作を使用して特定の位置でビットを変更する int が与えられた関数を考え出そうとしています:

例えば:

modify_bit(int, pos)

modify_bit(0b10000, 1) は 0b11000 を返す必要があります

または、modify_bit(0b10000, 6) は 0b100001 を返す必要があります

私は調査を行いましたが、ビットボードの特定の位置を左から右に少し変更する関数は見つかりませんでした左。

前もって感謝します!