import java.util.Vector; public class TestKifu { public static void main(String[] args){ String str=new String("(;GM[1 ]FF[4 ]CA[UTF-8]AP[CGoban:3]ST[2 ]RU[Japanese]SZ[19]KM[6.50]GN[第58回NHK杯 三回戦第七局]PW[河野 臨 九段]PB[山下 道吾 本因坊]DT[2010-12-13]C[放送日: 2011-01-23 白1目半勝ち];B[pd];W[dd]C[ここでどうなる];B[pq];W[dp];B[fq];W[ip];B[cn]LB[fo:A];W[fo](;B[hq];W[hp](;B[iq];W[jp](;B[dq]LB[eo:B][ep:A];W[cq];B[ep](;W[do];B[eo];W[dn];B[en];W[dm];B[dr];W[po](;B[np];W[qq];B[qr];W[qp](;B[on]LB[fc:A][il:F][pl:E][ql:H][im:D][pn:G][lp:C][jq:B](;W[qm](;B[dk];W[em];B[fm](;W[fn]LB[fl:A];B[fl](;W[cr]LB[cn:B][fn:A](;B[bo]LB[cn:B][kr:A];W[cl];B[cp];W[bp];B[co](;W[aq];B[cm]LB[dk:A][on:B];W[dl];B[bl];W[ck];B[bk];W[cj]LB[bm:A](;B[bj];W[ao](;B[bm];W[ci]LB[ao:A][bs:B](;B[jq]LB[gq:A](;W[kp];B[il];W[kq];B[cg];W[bi];B[an];W[ce]LB[fi:A](;B[or]LB[pl:B][km:A](;W[kl];B[fi]LB[ce:A];W[eg];B[jj]LB[ce:A][fi:B][gp:C][nq:D];W[im]LB[km:A]SQ[hn][in][jn][kn][ho][io][jo][ko];B[hm];W[jm]LB[hk:A][hn:B](;B[lj]LB[hn:A];W[ol](;B[gq]LB[fc:B][nc:A];W[nc];B[hn];W[ml];B[qf];W[ic]LB[qj:B][pk:A];B[mn]LB[lj:D][qk:C][hn:F][mn:G][nn:B][oo:A][mp:H][gq:E][nq:I](;W[nq](;B[op](;W[ho]SQ[in][jn][io][jo](;B[in];W[jn]LB[oj:C][pj:D][ll:B][kn:A](;B[lm]LB[kc:A][ld:C][ih:B][kk:E][ll:D];W[kk];B[kj];W[mk];B[kd];W[rr];B[rs](;W[sr]LB[kb:C][kc:D][kd:B][sq:A](;B[lr];W[mr]LB[mq:A];B[lq];W[kr];B[mq](;W[pc];B[qc];W[qb];B[oc];W[pb];B[od];W[ob];B[rc];W[nd];B[qk];W[mp];B[lp];W[lo];B[mo];W[ls];B[mp]LB[pj:D][pm:C][oo:B][ks:A]TR[no][pr];W[nr](;B[ko];W[kn];B[ln](;W[eq]LB[fp:A];B[er];W[fp]LB[br:A](;B[pm];W[pl];B[ql];W[rm]LB[io:A][jo:B][eq:C](;B[qn]LB[pn:B][rn:A](;W[rn]LB[nr:A];B[pn];W[pj];B[rl]LB[qo:B][ro:A](;W[ro]LB[qo:B][ro:A][sp:C];B[qi]LB[sm:A]TR[pj][mk][ml][ol][pl](;W[pi](;B[ri]LB[pk:A][sm:B];W[sp]LB[sm:A];B[ms];W[ks];B[eq];W[jo]LB[oo:A][br:C][os:B](;B[oq];W[ns];B[os]LB[ms:A]TR[pm][on][pn][qn](;W[oo];B[ms];W[nn];B[nm];W[no];B[mm];W[om];B[mb](;W[nb](;B[kb];W[of];B[gc];W[ec]TR[ic];B[dh];W[bg];B[mf]LB[mf:A];W[rb];B[ef];W[br]LB[ap:A](;B[is](;W[ff];B[df];W[fe];B[bf];W[cf];B[bh];W[ag];B[ah];W[ch];B[af];W[dg];B[bg]LB[ai:A];W[eh](;B[ai];W[ei];B[hd];W[id]LB[ib:A][hc:B];B[he];W[ie];B[hf];W[if];B[hg];W[ig];B[hh];W[le];B[ke];W[kf];B[lf];W[me];B[jl];W[km];B[nl];W[nk];B[ne];W[lc];B[kc];W[lb];B[kg];W[jf];B[ib];W[hb];B[ha];W[jb];B[ja];W[ia];B[ni];W[ok];B[ib];W[lg];B[mg];W[ia];B[ld];W[ka];B[md];W[pg];B[qh];W[ph];B[ap];W[qe];B[re];W[ao];B[mc];W[ma];B[ap];W[rf];B[qg];W[ao];B[la];W[lb];B[ap];W[rd];B[qd];W[ao];B[pe];W[fj];B[gi];W[kh];B[lh];W[ap];B[gb];W[jr];B[ir];W[gr];B[ds];W[fs];B[hs];W[gj];B[hj];W[gk];B[hl];W[jh];B[ih];W[bd];B[hc];W[ga];B[fa];W[ha];B[eb];W[db];B[jc];W[sb];B[ek];W[ej];B[ad];W[bc];B[ji];W[jg];B[ac];W[ab];B[ae];W[bb];B[nh];W[qj];B[rj];W[sl];B[sk];W[sm];B[na];W[oa];B[ki];W[la];B[cs];W[bs];B[dj];W[di];B[fh];W[fg];B[sc];W[mj];B[mi];W[gg];B[hk];W[jk];B[ik];W[fd];B[lg];W[da];B[lo])(;B[di];W[ei];B[dj];W[ek]))(;W[jr];B[ir];W[gr];B[ds];W[fs];B[hs];W[gs];B[fr]))(;B[jr];W[js];B[is];W[hs];B[gs];W[ir];B[hr];W[is];B[fr]LB[br:A]TR[gr][fs]))(;B[lc];W[nf];B[ni];W[nj]LB[nl:A];B[lf]))(;W[lc];B[lb];W[kc];B[nb];W[kb];B[rb];W[mc]))(;W[ms];B[oo]))(;B[oo];W[os])(;B[os];W[oo];B[ns];W[nn];B[nm];W[no]))(;B[qh];W[sm];B[jo];W[io];B[lo];W[eq];B[nh];W[oo];B[nn]))(;B[sp];W[sm];B[so];W[pk];B[];W[qj];B[rj];W[rk];B[sk];W[sl];B[rk];W[ri];B[sj];W[si]))(;W[qo];B[sm];W[so](;B[rp]TR[qk][ql][rl])(;B[qi];W[oo]LB[oo:B][rp:A];B[nm])))(;W[pn];B[om];W[rn];B[ok]LB[io:A][jo:B];W[nl]LB[nd:D][pi:A][pj:B][mk:C];B[pj]))(;B[jo];W[io];B[lo];W[eq];B[pi]LB[pj:A]))(;B[eq];W[io]LB[br:B][er:A](;AE[fp][eq][er];B[];W[er];B[es];W[fr];B[gr];W[hs])(;B[];W[jr])))(;W[io];B[fp];W[go]))(;B[ms];W[ns];B[os];W[ks];B[oo]TR[no][pr]))(;W[ls];B[nr];W[br]LB[ap:A]TR[fq][gq][hq][iq][jq]))(;AE[kd];B[kc];W[hi];B[hk];W[ld]LB[ij:A])(;B[mq];W[mr];B[nr];W[mp];B[oq];W[lq];B[mo];W[lp];B[oo]LB[om:B][nn:A]))(;W[sq];B[];W[ss]))(;B[ll];W[lm];B[lk];W[mm]))(;B[kn];W[in]LB[ik:B][jl:A][ll:C]))(;W[mp];B[ll]LB[ll:?];W[rr]))(;B[mq];W[mp];B[nr];W[no];B[op];W[oo]))(;W[];B[kn];W[jn]LB[ll:A][nl:B]))(;B[];W[gq];B[gr];W[gp];B[ir];W[es];B[ds];W[fp];B[eq];W[fr];B[er];W[cs]))(;B[hn];W[gp];B[gq];W[ik]))(;W[];B[gh];W[dg])(;W[km];B[pl]))(;B[eg];W[gi]LB[eg:A]))(;W[gq];B[gr];W[gp](;B[];W[kq])(;B[kq];W[ds];B[fr]LB[er:A])))(;B[an];W[br]LB[bm:B][an:A][ao:C])(;B[bs];W[br];B[cs];W[an];B[bi]LB[jq:A];W[jq]))(;B[an];W[bm];B[ap];W[fp];B[eq];W[ao];B[gn];W[bn]))(;B[ao])(;B[bm];W[ao];B[bs];W[br];B[cs];W[an]))(;W[bq];B[cm];W[dl];B[bl];W[ck];B[bk];W[cj]LB[ci:D][bj:C][bl:A][cn:A][dn:B][aq:F][bq:E][cq:B]))(;B[];W[jq];B[jr];W[kr]LB[jq:A])(;B[kr];W[gq]LB[kr:A];B[gr];W[gp];B[];W[hr];B[ir];W[fr];B[hs];W[fp];B[eq];W[ds]LB[fm:A]))(;W[fp];B[eq]LB[cr:B][dr:A]))(;AE[fm]AW[fn]LB[fm:C][fn:B][fp:A]))(;B[pl](;W[ql])(;W[pm])))(;W[oo];B[no];W[nn]))(;B[or];W[ql]LB[qk:A]))(;B[ck];W[em];B[fn];W[ci]))(;W[dr];B[eq];W[do]))(;B[ep];W[eo];B[dq];W[cq]))(;B[ep];W[do]))(;B[dq]))"); SgfTree tree=new SgfTree(); Vector v=tree.getSgfTree(str); GameInformation gi=new GameInformation(); gi.editGameInformation(v); Move move0=new Move(0,10,20); Move move1=new Move(1,11,21); Move move2=new Move(2,12,22); Move move3=new Move(3,13,23); Move move4=new Move(4,14,24); OrderOfMoves order=new OrderOfMoves(); order.add(move0); order.add(move1); order.add(move2); order.add(move3); order.add(move4); Kifu kifu1=new Kifu(); kifu1.setGameInformation(gi); kifu1.setOrderOfMoves(order); order.set(0,new Move(100,300,400)); Kifu kifu2=kifu1.createExamClone(2); OrderOfMoves order2=kifu2.getOrderOfMoves(); order2.set(0,new Move(10,30,40)); order2.set(2,new Move(20,32,42)); for(int i=0;i<order.size();i++){ System.out.println("kifu1 order " + order.get(i).getStoneColor() + "," + order.get(i).getRow() + "," + order.get(i).getCol()); } for(int i=0;i<order2.size();i++){ System.out.println("kifu2 order " + order2.get(i).getStoneColor() + "," + order2.get(i).getRow() + "," + order2.get(i).getCol()); } kifu2.addMove(new Move(50,40,30)); for(int i=0;i<order2.size();i++){ System.out.println("kifu2 orderB" + order2.get(i).getStoneColor() + "," + order2.get(i).getRow() + "," + order2.get(i).getCol()); } kifu2.getGameInformation().setBlackPlayer("武宮正樹 九段"); System.out.println("kifu1 黒番:" + kifu1.getGameInformation().getBlackPlayer()); System.out.println("kifu2 黒番:" + kifu2.getGameInformation().getBlackPlayer()); } }