2010-04-01から1ヶ月間の記事一覧

独り言

bitboard関連の記事を再度見直すと・・・・ なんだか自分の低脳さを浮き彫りにしているように思えてきた(笑)頭で考えて駄目なら、幾通りものパターンを作成して答えが一致するかを考えられるプログラムを考えてみるとか・・・・・ 時間が無いながらも一応…

ビット演算での考察 [第02局目]

bs = 000 010 000 ws = 010 101 010 // Surface Board sb = bs | ws sb -> 010 111 010 ■ 欲しい結果 横 = 000 010 000 縦 = 000 010 000 結果 = 000 010 000 ■ 式 (3路盤) // Horizontal Surface Board hsb = (sb > 1) // Vertical Surface Board vsb = (s…

オセロのbitboard処理について

囲碁のbitboardがまったく見当たらないので、とりあえずオセロのbitboardを参考にしてみたいと思います。 (たまたま見つけたサイト) やねうらお氏のサイトにリンクがあり、そのサイトに詳しくオセロの反転処理などが書かれています。 ループ版とループを使…

論理式と算術式

忙しくて何も出来ない! とりあえず式だけでも書き残します。 x=00000 00110 01010 01100 00000 y=01111 11001 10101 10011 11110 x & y x & !y !x & y x ^ y x | y !(x | y) (x & y) - (x | y) -1 x | !y !x | y !(x & y)

Texテスト

miniTexが使えるとかなんとか試しに書いてみます。 素晴らしい!!

ビット演算での考察 [第01局目]

まずは石の並びを定義します。 黒石のビットを入力してください。 00000 00110 01010 01100 00000 白石のビットを入力してください。 01111 11001 10101 10011 11110 ┌○○○○ ○○●●○ ○●○●○ ○●●○○ ○○○○┘ 上記の石の並びのbit表現 bs ws bs: 00000 00110 01010 01…

適当に作った bitboard 5路盤 碁盤表示

namespace Igo type Igo private() = member this.Print (bs : int) (ws : int) = let goban pos (bs : int) (ws : int) = if ((bs ^^^ ws) >>> pos) &&& 1 = 1 then [| "●"; "○"; |].[(bs >>> pos &&& 1 ^^^ 1 ||| ws >>> pos &&& 1)] else match pos with …

2進数、16進数、10進数確認

F#

open System let printNumber (num : int) = let bit = Convert.ToString(num, 2) let hex = Convert.ToString(num, 16).ToUpper() printf "%d\n 2 (%s)\n16 (%s)\n" num bit hex;;

石が取れるかどうか (ビット演算)

囲碁をビット演算考えてみる まずは石を取る為の式が必要なので考えてみました。 ■ データの持ち方とビット演算で考えるのは何故か 19路盤では置ける場所が 19*19=361 なので361桁の2進数を用意すればよい。 361桁のデータ型はないので、ビット演算が出来る…

リンク

NDS Program Room たろサ(Tarosa) http://www.geocities.jp/momoonga/