忍者ブログ

ぐれーすけーるブログ

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

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

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



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

[PR]

×

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

コメント

現在、新しいコメントを受け付けない設定になっています。

【将棋】目指せ電王戦(5) 将棋エンジンの通信方法には、USIプロトコル通信や、CSAプロトコル通信(など)があり、電王トーナメントはCSAプロトコルを使うというあたり理解してきた☆

2014/08/10 15:46

タイトルどおりなんだが、

将棋エンジンの通信方法には、

  ・USIプロトコル通信
  ・CSAプロトコル通信
    (など?)

があり、電王トーナメントは CSAプロトコル を使う。
というあたりを ようやく理解してきた☆wwww


土・日ぶっ続けで (途中、天下一プログラマーコンテスト2014予選Aに参加したり☆ww)
まだまだ 将棋GUIの開発途中だぜ☆

ソフトの見た目が変わらないので、アップするほどのスクリーンショットがないんだぜ☆


USIプロトコル通信
===============

  これは、「usi」とか、「usiok」(牛オッケー)といった挨拶に始まり、
  「bestmove 7g7f」とか、「position startpos moves 7g7f 3c3d」といった文章を
  やりとりする方のルールなんだぜ☆


CSAプロトコル通信
================

  これは、「LOGIN tiger 0123」とか、「LOGIN:tiger OK」といった挨拶に始まり、
  「+7776FU」とか、「+3334FU,T1」といった文章を
  やりとりする方のルールなんだぜ☆



プロトコルというのは、

  ・こっちが こう送る手はずなので、
  ・決まりだから 合わせろ

という意味なんだぜ☆ コンピューターに限った用語ではなく、

  ・ポンに合わせて チャンカンする
  ・司会に紹介されてから 舞台に上がる
  ・お賽銭は、祈る前でも祈った後でも どちらで入れてもよい

など、プロトコルは どこにでもある☆



もう1つ理解しておくべきことがあるんだぜ☆


USIプロトコル通信

===============

   標準入出力を使う。

   ・Console.ReadLine()
   ・Console.WriteLine( "7g7f" )


CSAプロトコル通信
================

   TCP/IPを使う。

   ・(ストリーム).Read( buffer, 0, buffer.Length )
   ・(ストリーム).Write( "+7776FU\n", 0, 8 )



何が違うのかと言うと、ざっくり まとめてみたぜ☆



標準入出力
=========

   ・超簡単。


TCP/IP
===========

   ・サーバーとク


…と書こうとしていたところで、『将棋所』にUSI通信ができれば、
あとは『将棋所』が TCP/IP 通信をしてくれるんだと
ツイッターで 教えてくれたので 将棋所を もっと調べてみよう☆wwwwww


『将棋所』を ただの将棋盤 ぐらいにしか思っていなかった私には
通信の仲介に利用できるというのは 無かった発想なんだぜ☆



確かに この画面は見たことがある☆wwwww

3日ぐらい前に rubyで shogi-server を立てて、
れさぴょんin将棋所 相手に、 SFIinわたし で
対局していたやつなんだぜ☆wwwww





8/10(土)・11(日)の間に


  ①マウスで駒の動きを入力する機能
  ②合法手を くじ運で 適当に選ぶ機能
  ③CSAプロトコル1.1.3対応   ←まずは これを終わらすぜ☆!

と意気込んでいたんだが、


  ①マウスで駒の動きを入力する機能   ←将棋所をつかえばよい☆

  ②合法手を くじ運で 適当に選ぶ機能


  ③CSAプロトコル1.1.3対応   ←将棋所で将棋エンジンが動いていれば
                      他のサーバーの将棋エンジンと対戦できる☆


まさか 2つも もう終わっていたとは☆


計画変更☆

  ①局面を与えると、くじ運で 合法手を1つ返してくる機能


この1個だけ まず作ろう☆ww



『れさかい1.3.6』と遊んでいるのだが、
電王戦で ちらちら みかける評価値バーが ナイアガラの滝 のようなんだぜ☆



わたしのプログラムでは、
送られてくる「position startpos move ~」みたいな文字から
駒の場所をセッティングするところまでは作れているので、
次は どんな合法手があるか、を得られる方法を 調べるんだぜ☆
うさぴょんや れさかいのソースのどこかにあるはずなんだぜ☆



『れさぴょん』には 次のようなコードがある☆ (kyokumen.cpp)


    int Kyokumen::IsLegalMove(int SorE,Te &te)
    {
      ・動かしているのは相手の駒だ    → ×
      ・駒を打つぜ
            そんな駒持ってないぜ  → ×
      ・駒を指すぜ
            そんな駒、盤上にないぜ → ×
      ・自分の駒を取った         → ×
      ・IsCorrectMove(~)
         ○→ 試しに1手動かす
            ・自玉が詰んだ     → ×
            ・自玉は詰んでいない  → ○
         ×              → ×
    }


    int Kyokumen::IsCorrectMove(Te &te)
    {
      ・駒を打つぜ
          ・駒を打とうとした先に駒があった → ×
          ・歩だぜ
             打った列には別の歩があったぜ→ × 二歩
             相手の王様を詰ませたぜ   → × 打ち歩詰め
          ・それ以外            → ○ 打てた☆
      ・王を動かすぜ
          ・敵の利きに飛び込むぜ      → ×
          ・それ以外            → ○
      ・桂馬は跳ね~るぜ~☆          → ○ なんの邪魔もない

      動かした距離を測るぜ☆

      ・動かしてないぜ☆            → ×
      ・1枡横(縦、ナナメ)へ動かしたぜ☆   → ○
      ・2枡以上動くんだぜ☆
          ・途中に、空でない枡があった☆  → ×
          ・それ以外            → ○
    }

といった感じなんだぜ☆ わたしが読んだ感じ、多分☆



2014/08/10 19:41

コンピューターに、

    ①駒の動きを覚えさせる。(前に進むだけ → ちゃんと動く
         → 味方の駒を取らない → 王手に突っ込んでいかない …など)
    ②好きな駒を指させる。(違法手・パスあり)
    ③好きな駒を指させる。(合法手のみ・パスなし)

といった 将棋のルールを作りこんでいく段階なんだぜ☆


今、わたしのコンピューター将棋が どんな感じかというと。

    ①将棋盤の上の、自分の駒を ランダムに選ぶ。
    ②その駒を 前に1つ 進ませる。
    ③敵・味方 関係なく駒を取れる。
    ④先手の駒が1段目より上に行こうとしたとき 棋譜の符号が壊れる。
    ⑤後手の駒が9段目より下に行こうとしたとき 棋譜の符号が壊れる。

という感じなんだぜ☆
将棋のルールを全部覚えさせるのは まだまだ だな☆


2014-08-10 23:11

これが土日の成果なんだぜ☆


  (1)将棋エンジンを起動できるボタンを付けた。
     9三の歩を ちょっと突く、ぐらいまでは やってくれる☆www

  (2)USIプロトコルで ゲームエンジンと “お会話” をするところが
     まだ きっちり できていない☆ だが、ぼんやり付けることはできた☆

  (3)「コンピューターの最善手(作りかけ)」ボタンを置いた☆
     やってることは 駒を直進させるだけだぜ☆wwwww

  (4)上の 1~3 ができるように、土曜日はぶっとおしで
     ソースコードを整理した☆ 下地整備というやつなんだぜ☆


このアプリは ホームページで公開しているんだぜ☆

       ・
    『きふならべ Ver 1.07.1』
    http://grayscale.iza-yoi.net/shogi/download.html




拍手[1回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

ブログ内検索

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