象歩将棋
Webと将棋で何か具体的なもの作って行こうとしてます。
このまま記事を入力し[投稿する]ボタンを押せば当サイトに送信されます。
以下の文章は注意書きです。
名前はかならず記入してください。ハンドルネームでも構いません。
またパスワードを入力することをお勧めします。
その場合他人による *なりすまし* と区別出来るかもしれません。
さらにブラウザでクッキーを有効に設定してある場合あなたの記事は後で修正可能になります。
コメントスパム防止のため記事の内容を機械的にモデレート
(スパムである確率を計算)
する処理を通します。
どのような投稿であれ、たまたま計算誤差によりスパムとみなされ
秘密の場所
に収納される可能性があります。
その場合、管理人が手作業で正規の場所に移動しますのでお待ちください。
-
383
shu
2007/09/13 23:36
id: 3BVR6NRi4pQ
prob: 0.2%
-
-
1) 機能通りに移動 - の基本クラスを作成中
テストとして駒数 4 個で総可能手 17 通り程のデータで時間を計測してみました。
1,000,000 回繰返して約 0.75 秒。オプティマイズ (gcc -O3) かけても 0.2 秒くらい。
果たしてこれで "300,000局面/秒" 以上読めるソフトができるのでしょうか...?
駒クラス CPiece は後々コピーして使用するのでなるべく小さく作ろうとしています。
データは駒の種類と位置だけなので現状のインスタンスサイズは 2 バイトだけど。
試しにこれを仮想クラスにしてみると、それだけで 16 バイトになってしまう。スゲー;;
C だと多分テーブルや #define の嵐になります。一方 C++ は便利だけどリソースを浪費しがち。
なんやかんや、やっぱり C/C++ は面白い^^
-
382
shu
2007/09/12 15:23
id: 3BVR6NRi4pQ
prob: 0.1%
-
-
月並みですが CMovesRule というクラス名になっております^^
とりあえず条件 1)2)3)4) を実装する予定です。
彼の方は先ほど辞意を表明なされたようですが、
私は続けるつもりですのでご心配なさらずに居てください(笑
ロジックのみだと 1000 行くらいで済むと思うので、
ソースは完成したらご覧頂ければ幸いです。may be comming soon (;-p
-
381
pon
2007/09/12 13:00
id: .T8utNC06Zk
prob: 7.3%
-
-
getMoves:: を実装するクラスを教えてください^^
-
380
shu
2007/09/11 00:25
id: 3BVR6NRi4pQ
prob: 0.0%
-
-
将棋のライブラリ作ります。おっ
でも職責にはこだわりません。ははは;
まずは可能な手を返すメソッドが必要なので、おさらいになりますが;;
getMoves:: 任意局面でルール上可能な手の集合を返す
局面と手番はあらかじめ決まってるとする。
手とは自分の駒を移動すること(同時に成ることを含む)、または自分の持駒を打つこと。
可能な手の制約条件としては
1) 移動の場合は駒の機能通りに移動できる。もちろん将棋盤から落ちないこと。
2) 相手の駒がある位置に移動できる。味方の駒位置には移動禁止。桂馬は飛び越えて移動できる。
3) 手の結果その駒が次に(1)の条件で動けない場合は禁止。二歩は禁止。自玉が王手になる手は禁止。
4) 打ち歩詰めは禁止。
5) 手の結果が千日手になるものは禁止。
このくらいですかね。
今回は C/C++ で高速で堅固なルーチンを作ろうと思います。
-
379
shu
2007/08/20 10:49
id: 3BVR6NRi4pQ
prob: 1.2%
-
-
USIプロトコルに対応した将棋GUIソフトが登場
http://shogi.typepad.jp/brainstorm/2007/08/usigui_1eb1.html
将棋GUIソフト「将棋所」のページ
http://www.geocities.jp/shogidokoro/index.html
将棋ソフト用画像リソース置き場
http://mucho.girly.jp/bona/
Visual C++ 2005 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/...
-
378
shu
2007/08/16 23:57
id: 3BVR6NRi4pQ
prob: 0.4%
-
-
> PyZume
もう二年経ちました
http://owa.as.wakwak.ne.jp/zope/labs/bbs/300/244
> 流鏑馬一番(七手詰)は運よく 0.4 秒で解けました。
今、手元の x86_64 マシンで 0.2 秒くらいでした (^^;
そろそろ往きますか。Φ
-
377
shu
2007/08/14 22:36
id: 3BVR6NRi4pQ
prob: 0.0%
-
-
windows 版 (PyShogi-0.5.3.lzh) も作った。
ftp://owa.as.wakwak.ne.jp/pub/shogi/windows
解凍すると zbrowser.exe があるので、それをクリックすると起動するはず。
py2exe で作ったので、もしかして *.dll が無いとか怒られるかもしれない。
(多分フリーの) ランタイムライブラリなので、無ければベクタあたりから拾ってきてください。
うちの環境には既に VC++ が入ってるため調べるのが難しいのです。ごめんなさい。
-
376
pon
2007/08/14 12:56
id: .T8utNC06Zk
prob: 68.4%
-
-
PyZume
かっこいい名前ですね^-^
-
375
shu
2007/08/08 23:01
id: 3BVR6NRi4pQ
prob: 0.4%
-
-
棋譜ブラウザ ZBrowser を試験的にパッケージングしてみた。
ftp://owa.as.wakwak.ne.jp/pub/shogi/PyShogi-0.5.1.tgz
標準設定プログラム setup.py を作成。
いよいよ py2exe を試せる。余ってた PC に Win2K もインストールしたし。
ソースの主要部分は PyShogi という名前でライブラリ化した。
これに詰め将棋 PyZume のロジック部分だけ追加する予定。
そろそろ詰め将棋にとりかからないといかん。
-
374
shu
2007/08/07 23:51
id: 3BVR6NRi4pQ
prob: 0.1%
-
-
> なるほどねー
相手が自分より強けりゃ何を考えても無駄なのかぁ
では後手の手は広く考えないといけないのかな。
相手の手を予測し、自分勝手流に読むのじゃだめだろな。
手の組み合わせ数は盤面の可能手の手数乗だって? それじゃ無限大じゃないか。
人の場合、最初は漠然と可能な手を見てるけど、
次の段階では有意義な手の組み合わせを考えてるような気がする。
その場合でも同じ組み合わせ数になるんだろうか?
|