56将棋開発ブログ

5×6マスのミニ将棋、「56将棋」で遊べるものをいろいろ開発してます。

プログラミング

56将棋でPerft

はい。約10か月ぶりのブログ更新です。競技プログラミング(AtCoder)をしたり、ランニングしたりしてたらこんなに時間が経ってしまいました。最近はAperyを56将棋エンジンに改造すべく、ぼちぼちソースコードをいじっていました。 で、指し手生成はできる…

56将棋のAndroidアプリの開発をはじめました

56将棋のAndroidアプリの開発をはじめました。開発環境はAndroid Studioでやってます。Java自体ほぼ初めてなので大変ですが、自分にとって新しいことばかりで楽しいです。とりあえず56将棋の盤面を表示させることができました。ブラウザでの開発でもそうでし…

プチボナ 56shogi ver 2.0を公開しました

タイトルの通り、プチボナ 56shogi ver 2.0を公開しました。リンク先のページからダウンロードできます。将棋GUI「プチ将棋」の思考エンジンとして登録することで、対局ができます。 ver 1.0では手調整だった評価関数ですが、ver 2.0では自己対戦棋譜から学…

進捗いろいろ

せめて数ヶ月に1回くらいは開発状況を書いておくかな、という気分になったので更新してみます。最近取り組んでいるのは大きくわけて2つ、・ごーろく将棋 56shogi ブラウザ版への機能追加 ・プチボナ 56shogiの機械学習です。 ごーろく将棋 56shogi ブラウ…

「ごーろく将棋 56shogi ブラウザ版」をリニューアルしました

タイトルのとおり、「ごーろく将棋 56shogi ブラウザ版」をリニューアルしました。ごーろく将棋 56shogi リニューアルに伴いレンタルサーバを移転、URLを変更しました。追加した主な機能としては、1.COMレベル3、4、5 2.棋譜ツイート機能です。COMの…

近況

5ヶ月も放ったらかしてしまいましたが、心機一転、ブログタイトルを変えてみました。現在は、ブラウザ版ごーろく将棋 56shogi のリニューアルに向けて開発を進めています。追加する主な機能としては、1.COMのレベル3、4、5 2.棋譜ツイート機能 3.トライ…

プチボナ 56shogi を公開しました

【2015/10/28 追記】 ごーろく将棋 56shogi のページをリニューアル、移転したためリンク先を変更しました プチボナ 56shogiを公開しました。プチボナ 56shogi は、Bonanzaをベースにした5×6マス将棋盤で動作する 思考エンジンです。ミニ将棋GUI「プチ将棋」…

プチ将棋

3ヶ月ぶりにしれっと更新してみます。 去年から、Bonanzaを5×6マスの将棋盤に対応させる、ということをやってきました。 前回の更新で、コマンドプロンプト上で対局できるようにはなっていたのですが、プチ将棋という将棋GUIで対局できるようにしてみました…

Bonanza 56shogi とりあえず対局できるようにしてみた

はい。こんな感じです。Windowsのコマンドプロンプト上で、 指し手を入力するかたちで対局できるようにしてみました。探索は単純なAlphaBetaです。 探索の最大深さ7なら、数秒で指し手を決めてくれます。評価関数は、駒割 + 敵玉との相対位置によるボーナ…

Bonanza 56shogi 指し手生成

できました。 指し手生成祭り開催 - Bonanzaソース完全解析ブログを参考に、 局面は適当につくりました。ちなみに、自殺手(1五玉)を生成していますが、 これは本家Bonanzaでも生成します。 詳しいことは指し手生成祭り開催 - Bonanzaソース完全解析ブログ…

Bonanza 56shogi つくってます

ここしばらく、Bonanzaを「ごーろく将棋」のルールに対応させることに チャレンジしてます。ちなみに「ごーろく将棋」とは、5×6マスのあたらしいミニ将棋です。 こちらのページで遊べます。 とりあえず駒の利きを求められるようになったのでブログを更新し…

近況

Bonanzaを5*6マスのごーろく将棋に書き換えてみよう ↓ ビット操作、ビットレイアウト、指し手生成に必要な配列の初期化は だいたいできたっぽいので、そろそろ指し手生成にチャレンジだ ↓ そのまえにCSA形式の棋譜をとりこめるようにしないとデバッグできな…

ごーろく将棋

「ごーろく将棋」のサイトを引っ越しました。【2015/11/5 追記 さらに引っ越したのでリンク先を変更しました】ごーろく将棋 56shogi COMのレベル(レベル1とレベル2しかないけど)と、二枚落ちなどのハンデを選択できるようにしてみました。遊んでみていた…

あたらしいミニ将棋を考えて、COMと対局できるものをつくりました。( 仮 )

こんな感じです。こちらのページで対局することができます。 <2014.6.13 10:50 追記 ページを引っ越したのでリンク先を変更しました>【2015/10/30 追記】 さらに引っ越したのでリンクを変更しました。現在はこんな感じです バグなどあれば、この記事にコメ…

( とんでもなく弱いけど )将棋プログラムができました

びっくりしました。よわくて。2つのタブで、かわりばんこに自分でクリックするという、 かなりめんどうくさい方法で、こまおと対局させてみたところ、先手(手前): こまお 後手(奥) : つくったものという投了図ができあがりました。 はい。まけました…

JavaScriptで将棋のルール その4 ~ 局面の内部表現 ~

こんばんは、ただのあほです。今回は、JavaScript将棋盤の、局面の内部表現がどうなっているかについて書いてみようと思います。 まず、「 Position (局面)」というオブジェクトに、どんな情報をもたせているか、ですが、 ・ 盤 Board番兵(OUT_OF_BOARD)…

JavaScriptで将棋のルール その3 ~ 手の内部表現 ~

どうもこんばんは、ただのあほです。 前回、つぎは局面の内部表現について書くといっていたのですが、そのまえに、「 手 」の内部表現について書いておきます。 では、とりあえずコードをごらんください。 gist9363861 駒の位置をあらわすオブジェクト(とい…

将棋用語の英訳

どうも、ただのあほです。 JavaScript将棋盤の局面の内部表現について書こうとおもったのですが、そのまえに変数名をいろいろいじったので、将棋用語の英訳についてまとめておこうかなと思います。 参考にしたページがこちら。チェス用語小辞典(英和)Shogi…

JavaScript将棋盤 ほぼ完成したので公開してみる

おひさしぶりです。ただのあほです。JavaScriptで将棋盤の将棋のルールの部分がほぼ完成したので公開してみます。 JavaScript将棋盤 2014/03/04/15:41 追記 二歩の判定にバグがあったので修正しました 対応している将棋のルールがこちら。・駒の動き・手番・…

JavaScriptで将棋のルール その2 ~ 駒の動き ~

はいどうも、ただのあほです。今日は、駒の動きをチェックする関数をつくりました。 とにかくできたものを動かしたいというかたは、こちらのページへどうぞ。http://www54.atpages.jp/tetsuzuki/ まずは下準備として、駒が動ける方向を、配列にいれておきま…

JavaScriptで将棋のルール その1 ~ 駒の位置の内部表現 ~

おひさしぶりになってしまいましたが、どうも、ただのあほです。 さて、とりあえず駒が動かせるだけの将棋盤ができていたわけですが、今回から、将棋のルールを守った指し手(合法手)しか指せないような将棋盤をつくっていきたいと思います。 C++のほうでは…

将棋プログラムのつくりかた(C++) ~ 手の内部表現 ~

【2015/11/28 追記】 当時、プログラミング超初心者のわたしが勢いで始めたものの、完結させずに放置してしまっています。すみません。 コンピュータ将棋のアルゴリズム HTML版のリンクを貼っておくので、こちらを参考にしてください。コンピュータ将棋のア…

将棋プログラムのつくりかた(C++)  ~ 駒の内部表現 ~

【2015/11/28 追記】 当時、プログラミング超初心者のわたしが勢いで始めたものの、完結させずに放置してしまっています。すみません。 コンピュータ将棋のアルゴリズム HTML版のリンクを貼っておくので、こちらを参考にしてください。コンピュータ将棋のア…

JavaScriptで将棋盤 とりあえず公開してみる

駒をどこにでも動かせるという、しょぼしょぼ将棋盤ですが、せっかくつくったので公開してみます。 http://www54.atpages.jp/tetsuzuki/ 2014/2/5 0:52 追記 <現在の仕様ですが、・駒を好きなところに動かせてしまう(駒の種類に関係なく)・手番の概念はあ…

JavaScriptで将棋盤 まとめ

どうも、ただのあほです。JavaScriptで将棋盤ですが、成/不成の選択ウインドウを変更しました。 このウインドウのどちらかの駒の画像をクリックすると、 成/不成を選択することができます。 YouTubeに動画をアップしてみたのでごらんください。 プログラミ…

ソースコードの貼り付けテスト

gist8648219 コメントで紹介していただいたGistに登録して、 はてなブログと連携してコードを貼り付けてみました。 ただ、Javascriptで将棋盤のコードは、ひとつの関数に機能を詰めこみすぎてまして、 インデントがすごいことになっちゃっています。 なので…

JavaScriptで将棋盤 その10

ついにJavaScriptで将棋盤も10回目になりました。今日は持ち駒の表示を変更してみました。 数字で表示するよりこっちのほうがなんとなくカッコいいですね。 あと昨日の記事の動画で、さもちゃんと動くみたいに話してましたが、重大なバグがありました(笑…

JavaScriptで将棋盤 その9

少し間が空いてしまいましたが、JavaScriptの将棋盤の進行状況です。 ようやく取ったり成ったりできるようになりました。 プログラミング初心者がJavaScriptで将棋盤をつくってみた - YouTube ソースコードを貼りたいのですが、ブログの記事部分を広げたりだ…

JavaScriptで将棋盤 その8

とりあえず今日進んだところまで報告してみます。駒台に駒をのせることができるようになりました。 残念ながら、まだ駒台の駒を選択して置ける(駒を打てる)ようにはなってません。ニコ生で将棋ウォーズ王将戦を観ながら作業してたら、ありえないミスをした…

JavaScriptで将棋盤 その7

一昨日の記事では、王、飛車、金、歩しかできていなかったのですが、残りの駒と、選択した状態の駒の画像の編集がさっき終わったので、さっそく今までのしょぼい駒と差し替えてみました。 駒を選択するとこんな感じです。 やっぱり見た目だいじですね。 駒を…