• 締切済み

sgfファイル(囲碁)の中身を変更したい…してほしいんですが

囲碁の盤面の棋譜のファイルという物なんですが… その事はどうでもいいんですが、 さっそくなんですが、sgfファイルの中身は↓ _____________________________ (; GM[1]SZ[9] PB[Human] PW[GNU Go 3.6] DT[2008-12-05] RE[W+6.5] KM[6.5]TM[]RU[Japanese]PC[]EV[]GN[]AP[CgfGoBan 1.04] C[Time 0:12,0:00] C[Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz] C['T' means thinking time per a move.] ;B[cc]T[ 2];W[gg]T[ 0];B[cg]T[ 2];W[gc]T[ 0];B[ec]T[ 0];W[eg]T[ 0] ;B[de]T[ 8];W[ge]T[ 0]) _______________________________ というものなんです。(OSはXPです。メモ帳で開くと↑のように表示されます。) これを以下のように変換して表示したいんです。(メモ帳で開く) ________________________________ +++++++++ +++++++++ ++@+@+O++ +++++++++ +++@++O++ +++++++++ ++@+O+O++ +++++++++ +++++++++ ________________________________ (都合上↑のファイルを囲碁ファイルと呼びます) どういう事かというと、sgfファイルの ;B[cc]T[ 2];W[gg]T[ 0];B[cg]T[ 2];W[gc]T[ 0];B[ec]T[ 0];W[eg]T[ 0] ;B[de]T[ 8];W[ge]T[ 0]) と書かれている行が囲碁ファイルに関連します。 例えばB[cc]は@が左上から右に向かって3番目、左上から下に向かって3番目 です。つまり、+++という事になります。          +++          ++@ つまり、座標で考えると(3,3)は(c、c)という事です。 他の例だとW[ge]→座標で考えると(7、5)で(g、e)という事です。 +++++++ +++++++ +++++++ +++++++ ++++++O となります。このようにして ;B[cc]T[ 2];W[gg]T[ 0];B[cg]T[ 2];W[gc]T[ 0];B[ec]T[ 0];W[eg]T[ 0] ;B[de]T[ 8];W[ge]T[ 0]) を +++++++++ +++++++++ ++@+@+O++ +++++++++ +++@++O++ +++++++++ ++@+O+O++ +++++++++ +++++++++ となるんです。 流れはこんな感じです。 java言語でこのように読み込んだsgfファイルを別のファイルで囲碁ファイルとして作成するプログラムがほしいんです。 出来れば作っていただいてソースを公開してほしいです。 厚かましいとは思いますが、どうぞよろしくお願いします。

みんなの回答

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

> 出来れば作っていただいてソースを公開してほしいです。 ここは自分でJavaプログラミングをやる人のための質問の場です。 やりかたを説明します。 まず +の列と最後の改行だけのデータを、文字列(JavaのStringオブジェクト、いや、StringBufferのほうが書き換え用としては便利)として必要な数だけArrayListに入れてください。 次に、sgfファイルのデータをひとつひとつ読みながら、上のArrayList内のデータ(String内の各文字)を書き換えてください。 書き換えが終了したら、その内容をファイルに出力してください。 これで、あなたの言う「囲碁ファイル」ができあがります。 ArrayListなど、Javaのデータ構造オブジェクトの使い方や、基本的なファイルI/Oのやり方等は、基礎からちゃんと勉強&練習してください。

e238082h
質問者

お礼

どうもありがとうございます。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 囲碁棋譜ファイル-パスの変換

    パンダネットのUGIファイルを囲碁KIdsの検討で使いたいのでUGIからSGFのファイルに変換するいろいろソフトやサイトで変換しましたが、どの方法でも片方がパスをした後の再開がうまく表示されません。 どの変換ツールでも例えば黒がパスならW[座標]の後B[座標]ではなくW[座標]が来ていますがネットでSGFの仕様を調べたらパスは座標をttにするとあり、たしかに手動でB[tt]を挿入したところ正確に動作しました。ただ大変なのでどなたかパスもちゃんと変換するソフトや違った手順があれば教えてください。

  • Yahoo 囲碁ゲーム棋譜のメール受信

    Yahoo 囲碁ゲームで勝負結果をメール送ってもらいますが SGF 形式の棋譜が添付されていますが、このファイルを開くことが できません。ファイルを W クリックすると、 ”指定されたファイルに対してこの操作を行うプログラムが関連 付けられていません。 「フォルダオプション」コントロースパネル でプログラムを関連付けてください」” の画面上に出てきます。 つきましてどのようにしたら関連付けられてファイルを開くことが できるか教えてください。

  • excelファイルでのファイル保存

    PHP 4.3.9、postgresで構築しています。 http://phpspot.net/php/pgExcel%8C%60%8E%AE%82%CC%83t%83@%83C%83%8B%82%F0%8D%EC%90%AC.html 上記urlの機能を使用し作成したexcelファイルを、ダウンロードではなく サーバ上に保存したいのですが方法が分かりません・・・。 対象のphpをコマンドラインで実行し、excelファイルをサーバに保存したいのですが、 どなたか教えていただけますでしょうか。 宜しくお願い致します。

    • 締切済み
    • PHP
  • ストリーミングファイル(datファイル)が再生・変換できなくて困っています

    以下のサイトの動画を保存できなくて困っています。 http://rabidz.vidiac.com/video/wm/3795745c-9723-4795-8ddb-a5332bb35aa8.htm Temporary Internet Filesのフォルダには"above[1].dat"と表示され、これがこのストリーミング動画のファイルだと思っています。 このファイルをデスクトップに移し、wordやメモ帳で開いてみたところ、始めの方に "P A s p e c t R a t i o X A s p e c t R a t i o Y W M F S D K V e r s i o n 1 0 . 0 0 . 0 0 . 3 8 0 2 W M F S D K N e e d e d 0 . 0 . 0 . 0 0 0 0" 少し下に " W i n d o w s M e d i a V i d e o 9 WMV3 W i n d o w s M e d i a A u d i o 9 . 1 $ 3 2 k b p s , 2 2 k H z , s t e r e o 1 - p a s s C B R" とありました。 このファイルを再生し変換したいのですが、"Super"では動画ファイルとして認識されませんでした。 一体どうすればいいのか教えてください。

  • RBTとは何?

    https://recochoku.jp/search/Srch?ftgt=mkw&fkw=%8Ec%8D%93%82%C8%93V%8Eg%82%CC%83e%81%5B%83%5B&site=&offset=0&formsubmit=0 で出てくるRBTって何でしょう? ググッても、それらしいのはでてきませんでした

  • makefile の書き方

    OBJS1 = a.o b.o c.o OBJS2 = d.o e.o f.o OBJS1のそれぞれの元のソースコードと OBJS2のそれぞれに元のソースコードを 違うコンパイルオプションでオブジェクトファイルを作りたいのですが、 間単に書ける方法があれば教えてください。 つまり、以下を簡単に書く方法です。 よろしくお願いします。 a.o: a.c ${CC} ${CFLAGS_1} $< -o $@ b.o: b.c ${CC} ${CFLAGS_1} $< -o $@ c.o: c.c ${CC} ${CFLAGS_1} $< -o $@ d.o: d.c ${CC} ${CFLAGS_2} $< -o $@ e.o: e.c ${CC} ${CFLAGS_2} $< -o $@ f.o: f.c ${CC} ${CFLAGS_2} $< -o $@

  • OpenOffice.org Basicでテキストファイルに出力

    OpenOffice.org Basicを使ってcalcのセルに入っているデータをつなげてテキストファイルに出力することって可能なんですか? 例えば    A   B   C  D 1   t    r   f 2  dd  ee  ww  gg 3  ss  ww  pp  mm というcalcのデータを t,r,f, dd,ee,ww,gg ss,ww,pp,mm という内容のテキストデータにできますか?

  • 今日、Bフレッツからフレッツ光ネクストハイスピードタイプに変更したので

    今日、Bフレッツからフレッツ光ネクストハイスピードタイプに変更したのですが 光回線終端装置が交換もなくBフレッツの時と同じGE-PON<O>C GE-PON-ONU タイフ゜D なのですがこれでいいのでしょうか?

  • 四面体 ベクトル

    四面体OABCの辺OA,AB,BC,COの中点をそれぞれD,E,F,Gとし、DFとEGの交点をHとする。 また、直線OHが⊿ABCと交わる点をIとする。 A,B,CのOに関する位置ベクトルをそれぞれa→,b→、c→とするとき (OH)→、(OI)→をa→,b→,c→であらわせ。 という問題で、 EH:HG=s:(1-s),DH:HF=t:(1-t)とおく EG (OH)→={(1-s)a→/2}+{(1-s)b→/2}+{s(c)→/2} DH (OH)→={(1-t)a→/2}+{t(b)→/2}+{t(c)→/2} まで出来たのですが、 この先どうすればいいのかを教えてください。

  • ●MX2+のファイルを読みたい

     10年以上前にsonyからMX2+というパソコンが売られていました。ベーシック言語で、ミュージック・マクロ・ランゲージ(MML)を使って音楽の自動演奏を楽しんでいました。それをフロッピーにファイルしたのですが、現在のビスタでは文字化けして読めません。このMX2+のMMLで書かれたファイルを読んで、プリントしたいのですが、何か良い方法はありますか?  ちなみに、今開くと次のようになります。 %2 ハ MUSIC ( , , , , , , , , , , ) N< ハ VOICE (@ ,@ ,@ ,@ ,@ ,@ ,@ ,@ ,@ ) 摩F チ # ,"T180","T180","T180","T180","T180","T180","T180","T180","T180" d ・ n ェf ・ | エh ・ n セj ・ 、 ] チ # ,"@0L32O1V6B-&L2B-.","R64L64O2V6F&L2F.","@0R32V6O2L2B-.","@0V8R32R4L4O4B-B-" Z』 チ # ,"L32O3E-&L2E-.","R64L64O3G-&L2G-.","R32L2O3B-.","R32R4L4B-B-" 煤・ チ # ,"L32E-&L2E-","R64L64G-&L2G-","R32L2>C","R32R4B-" 驕・ チ # ,"L32O2B-&L2B-.","R64L64O3D-&L2D-.","R32L2O3F.","R32R4O5FF","@0R32L2V6O3B-." v チ # ,"O3F.","","","R4FF " !・ チ # ,"D-","","","R4F" mあ チ # ,"O2L1B-&L2B