忍者ブログ

ぐれーすけーるブログ

ゲームプログラミングを独習中なんだぜ☆

↑同人活動☆w
ホームページ☆
『きふわらべ』のダウンロード
は、ホームページへ飛ぶ↑☆

ぐれーすけーる は、ゲーム86パーセントでお送りするんだぜ☆↑押すと最新記事に飛ぶぜ☆



第25回世界コンピュータ将棋選手権1日目に
初出場した『きふわらべ』の記事はこちら↑☆
↑東方二次創作音楽
CD78サークル分買った
No image
(↑終了)
秋葉原裏通りの潰れそうなオリジナル同人
ソフト店『さんげっと』の記事はこちら☆

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【将棋】めざせ世界コンピュータ将棋選手権☆(18) プロジェクトダークさんのNameIntを使ってみるぜ☆ww

2014-11-30 10:28

わたしの『きふわらべ』では マスが0~201、 駒も0~39 と番号で
マスや駒を 指定するのだが、

プログラムで 10 という数字が出てきても、それが本当に マスなのか、駒なのか、
間違って マスの数字の10を 駒だと思って使ってるんじゃないか、

という ケアレスミス が心配だったんだぜ☆
それを 解消するために、プロジェクトダークさんから NameIntライブラリをもらったんだぜ☆
これを使ってみるんだぜ☆



今までは、



このように、駒が40個で固定だったので 困ってなかったのだが、



将棋盤の上には 40個以外のものも置きたいし、1個だけ置ければいいときもある☆ww

40個 固定では 使い方が広がらないんだぜ☆wwwww
そこで プロジェクトダークさんの NameInt なんだぜ☆www





このように書き直すんだぜ☆
  (※追記 public readonly じゃなくて、public static readonly の間違いだったぜ☆)

Sprite というのは、 NameInt なんだぜ☆



先手王は0、後手王は1、1個目の飛車は2…と、 ただの数字を付けているようだが、
この数字には Sprite という名前が 
結び付けられているんだぜ☆

あとで 2 という数字が出てきたときに、それが Sprite か、そうでないか

区別できる、ということを期待しているんだぜ☆



40縛りをやめる☆

ただし、本将棋のコマは40個、というのは よく使うので残したい☆
そこで Sprite を使って 40個の名残は 残す☆







修正を いきなり始めたいので、 少しずつ部分的に変更を進められるように
新しい部分と 旧い部分をつなぐコンバーターを 1個作っておくぜ☆


それで、



これを すみやかに 置き換えたい☆w






なんの工夫もなく 置き換えられた☆ww

この StarIndexOf を替えるより、この StarIndexOf を使っている今までの部分を
替えていくのが むずかしいのか☆? それとも 置き換えなんて 簡単なのか☆?




wwww☆ コンパイラーが気を利かせて int型と Sprite型数字を区別せずに
利用できるように していてくれているぜ☆www

暗黙の型変換☆ww してほしくないぜ☆wwww 余計なお世話なんだぜ☆wwww




2014-11-30 14:53

使い方に工夫がいるか☆ww



部分的に、 階段の踊り場で休みを はさみながら 改造していく、
ということは 妄言 に終わり、一斉 全とっかえだぜ☆wwwwww

コンバーターを使う場面が出てきた☆wwww



2014-11-30 18:18

K40を廃止して、Sprite にしたんだが、バグが出たんだぜ☆w




.Sort( ) を使うのを止めたら直ったぜ☆ww



バージョン更新に伴って、ライブラリ名が変わったぜ☆
  NameInt → NamedInt



2014-11-30 21:41

今月開発を進めた分の ソースコード付きの きふわらべ を ダウンロードできるように
しておいたぜ☆

  http://grayscale.iza-yoi.net/shogi/download.html


微速微進、遅々前進だぜ☆


拍手[0回]

PR

【将棋】めざせ世界コンピュータ将棋選手権☆(17) 先手なのか後手なのか☆ww 攻め手なのか受け手なのか☆ww

2014-11-25 21:26

わたしは 左と右の区別にも ワンテンポ かかってしまうんだが、
先手と後手の区別にも ワンテンポ かかってしまう☆wwwwwww

ひとより ひとくろう プログラムに難儀するぜ☆ww



2014-11-25 22:14

相手は 駒を打ってくるし、
相手の駒が 陣地に入ってきて成ってくる、陣地から出て行って成る、
というのにも気づいていない みたいなんだぜ☆



まだ 作っていないところが いっぱいあるんだぜ☆



持ち駒のデータの持ち方を確認できるように、
グラフィカル局面ログを 作りこむ予定だぜ☆

拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(16) 読みを深くする部分を作るぜ☆

2014-11-24 15:14

あっ☆ ブログを付けるのを忘れていたぜ☆

今までの きふわらべ は、1手先の被王手しか 読んでなかったんだが、
これをまず 3手先の被王手 まで読めるようにしたい☆

改造中なんだぜ☆



2014-11-24 15:58



とりあえず、勝手読みで3手先の自分の手を読み、王手に引っかかっていなければ
その1手目を指す、という ほんわかしたところから 始めてみるぜ☆



2014-11-24 18:52



なるべく 工夫が不要になるぐらい シンプルなツリー構造に改造中なんだぜ☆

3手先までは 読めるようになった☆

でも 駒を打ち込まれることに気づいてないんだぜ☆(^-^);;

直すんだぜ~☆



2014-11-24 19:13



そもそも、駒を持っていることを 認識していないのか☆orz



2014-11-24 19:44

ファイル名に 持ち駒の個数 を付けるという 変態的なことをやってみたんだが
なんなんだぜ これ☆



実行するときによって 持ち駒の数が 変わっているのか☆www



2014-11-24 20:07



このバラつきは 何なんだぜ☆wwwwww

局面を1手目、2手目と読んでるからか☆?ww



2014-11-24 20:34



同じ 手目 の中でバラついているんだな☆ww なぜ何だぜ☆ww

駒を打ったりしているのか??



2014-11-24 20:45



「JSON出力2」と書かれているところだけ 持ち駒がちゃんとカウントされているな☆
何が違うんだぜ☆ww


2014-11-24 20:58



どんどんさかのぼるか☆




グラフィカル局面ログ の中で、「先手玉王手」「後手玉王手」とか 局面ごとに
付けているんだが、そこだけ 持ち駒の数が合ってるんだぜ☆

というか、ログのほとんどは グラフィカル局面ログ に並べる局面ごとに
出てたのか☆ww

作った本人にも 分からなかったぜ☆ww



2014-11-24 21:32



うーむ☆

1手目に 歩を 5二 に飛ばし、
2手目に 歩を 取るから、
3手目のログを見なければならないのか☆?


2014-11-24 21:42



うーむ☆www




先手、後手の 指定が ぐるぐるしてるんだぜ☆ww



2014-11-24 22:47

どうも、大半のログは 先手番のものだから 駒を持っていなくて、
後手番のログは ちょびっとしか 出ていないみたいなんだぜ☆

というのも、王手を判定するときは、相手の駒の利きを判定するので、
コンピューターがログを出すときは、 反対側のわたしの駒の利きを大量に
出力するんだぜ☆






拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(15) 角の貫通バグを追うぜ☆ww!

2014-11-23 10:02

前まで貫通していなかった角が 貫通するようになったんだぜ☆

おそらく 飛車の貫通を直したときか、 王手回避漏れを直したときに
角のバグの扉を開けてしまったのかもしれない☆w



2014-11-23 12:07

香も貫通するようだ☆ww






全てのデータ構造は、グラフィカル局面ログ で出力することを前提に
作った方が テストしやすいのかも知らん☆

 データと 見た目の分離はしつつ、
 データ構造は 見た目を意識して作る、


みたいな☆



2014-11-23 18:34

飛車と、角を比べてみよう☆



まず、障害物がないときの動きなんだぜ☆




障害物があるときの動きなんだぜ☆

角だけ ぶっちゃけてるな☆ 確かに、角道は開いていたので味方の駒は途中になかった☆
「相手の駒」が障害物になってないのか☆

Minus_OverThere あたりが怪しいんだぜ☆



2014-11-23 21:09



うーむ☆ Masus_Setの Minus_OverThereメソッドで
a-b=c をやってみても、 aとc が同じで、bが無視されているんだぜ☆

単体テストでは うまくいっているように見えたんだが、何か違うのか☆



2014-11-23 21:17

単体テストに間違いがあったんだぜ☆



テストする内容を間違えていたんだが、
テストする内容を間違えていないか テストする、ということは
むずかしいんだぜ☆



2014-11-23 22:43



角貫通バグは直したんだぜ☆

バグがあったときは、
  a - b = c

というプログラムだったんだが、これを
  a - b の結果を a とする (C言語でいうところの a -= b)

という風に作り変え、さらに サブフォルダー全てに
  a - b の結果を a とする

という風に呼び出させることで、バグが再現しなくなった☆
処理が、フォルダー階層の1レベル目だけしか行われていなかったんだが、
全階層に行き渡ったんだぜ☆



2014-11-23 22:48

そして更なるバグを追うんだぜ☆




2014-11-23 22:57



確かに、駒台角 と 駒袋歩 は番号が隣り合っているので、
1でも ずれていれば、 前述のバグは起こりえるんだが☆



2014-11-23 23:01



あ、169は 打王なんだぜ~☆

グラフィック番号が 1つ ずれているんだぜ~☆



2014-11-23 23:19

むずでょ@『きふわらべ』将棋電王T24位@muzudho1
飛車は 1歩ずつではなく まっすぐ進み、王手回避もする、将棋のルールのうちメジャーなところ通りに「ランダム」に駒を動かしている きふわらべちゃん ができた☆ 今 Bonanza6.0 と連続対戦中☆ #電王トーナメント #コンピュータ将棋 #将棋ソフト #きふわらべ


むずでょ@『きふわらべ』将棋電王T24位@muzudho1
将棋のルール通りに駒を動かすまでに、実質 5ヶ月 かかっているじゃないか☆ 23:30と24:00に放流したいと思うんだぜ☆ #電王トーナメント #きふわらべ



フラッドゲート
  http://wdoor.c.u-tokyo.ac.jp/shogi/view/latest-table.cgi?event=LATEST&filter=floodgate&show_self_play=1





今日は 進捗大あり☆! なんだぜ☆

微速微進、遅々前進なんだぜ☆!


拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(14) HTML5を使った局面のログ出力を使っていくぜ☆ww ログファイル多すぎ☆ww

今日は 王手回避漏れ を少し直せたんだぜ☆

拍手[0回]

ブログ内検索

PR



絶版・品切れ本を皆さまからの投票で復刊させる読者参加型のリクエストサイト
復刊ドットコム

ネイフィールウォーター

応援フリーエリア

デジゲー博
むずでょは、第1回から毎年 出展しているんだぜ☆

ウサギのように新品入荷☆
カメのようにまだ置いてある既刊☆

同人ソフト一押し店 さんげっと
むずでょは、さんげっと を応援しているんだぜ☆

TVアニメ「Charlotte(シャーロット)」公式サイト
ニコ生の Angel Beats! 一挙放送が 面白かったので次のも応援するぜ☆ww

プロフィール

HN:
むずでょ
性別:
非公開

最新コメント

[01/02 Free Tax Marlboro Gold Regular Cigarettes Coupons 3 Cartons]
[12/30 Hot Selling Newport Regular Cigarettes Outlet 160 Cartons]
[12/29 http://www.patersonlabs.com/Marlboro/41.html]
[12/29 http://xz84.com/Marlboro/16.html]
[12/29 http://www.paragoninks.co.uk/Marlboro/93.html]

P R