HOME | ドキュメント |  ブログ  |  BBS  |  瓦版  | 将棋プロジェクト |  物置小屋   

ドキュメント 象歩 Web瓦版
 BBSボード RDF
こんにちは (23)
おためし板 (321)
質問箱 (94)
テスト (30)
You散歩 (4)
建築 DIY (6)
MTB (32)
(9)
節電対策 (2)
このサイトに関する話 (184)
Linux (396)
PC用ハードウェア (6)
Vine Linux 野良系 (64)
PC 工作 (31)
ドローン (0)
自家製GAFA (0)
BBS の改良 (105)
Vine Seed (520)
Zope とプロダクト (95)
Web の利用技術 (131)
DB とファイルシステム (63)
Python と C/C++ と... (29)
Zopeプロダクト開発メモ (3)
UTF-8 化 (42)
Mail 環境 (8)
COREBlog (109)
Zope3 (51)
Windows 64bit (18)
Mac (2)
Squeak スクイーク (67)
Django ぶらり一人旅 (3)
64bits (52)
Mono 思いにふける (10)
Mint Linux (6)
CentOS (2)
ディスクトップ (4)
象歩将棋 (478)
将棋よもやま (210)
サイトのデザイン (31)
心配な話 (66)
うそ (21)
うそ総集編 (0)
昔のゲストブック (20)
ボート部 (23)
Web 日記 (199)
 スパム
逮捕しる (83)
スパムお溜り (229)
ごみ箱 (6)
 リンク
kiyoさんのサイト
ペンタ郎の漫漕ブログ
端艇部員日記
TIT漕艇部の練習動画 @YouTube
墨堤の雄 @FaceBook
ペンタ(五大学ミドル) @FaceBook
Facebook
Vine Seed パッケージビルド状況
Vine Linux パッケージ情報
VineLinux バグトラッキングセンタ
VineSeed 開発用 Trac
VineSeed Specs
RPMパッケージの作成方法
Linux Standard Base
Planet Vine
Vine Linux ユーザーフォーラム
Vine Users ML アーカイブ
VineSeed ML アーカイブ
twitter#VineLinux
勝手に将棋トピックス
詰将棋おもちゃ箱

象歩将棋

Webと将棋で何か具体的なもの作って行こうとしてます。


全476件 - 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
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: z8JdElQ3bds  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: z8JdElQ3bds  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%
> なるほどねー
相手が自分より強けりゃ何を考えても無駄なのかぁ
では後手の手は広く考えないといけないのかな。
相手の手を予測し、自分勝手流に読むのじゃだめだろな。

手の組み合わせ数は盤面の可能手の手数乗だって? それじゃ無限大じゃないか。
人の場合、最初は漠然と可能な手を見てるけど、
次の段階では有意義な手の組み合わせを考えてるような気がする。
その場合でも同じ組み合わせ数になるんだろうか?
全476件 - 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49