fix fox
This commit is contained in:
1 parent
bf0c39c1d5
commit
f13d5bba1c
4 files changed
+22
-2
No files matched your search
@@ -11,10 +11,10 @@ from katrain.core.constants import (
|
||||
HOMEPAGE,
|
||||
OUTPUT_DEBUG,
|
||||
OUTPUT_INFO,
|
||||
PLAYER_AI,
|
||||
STATUS_ANALYSIS,
|
||||
STATUS_INFO,
|
||||
STATUS_TEACHING,
|
||||
PLAYER_AI,
|
||||
)
|
||||
from katrain.core.engine import KataGoEngine
|
||||
from katrain.core.game_node import GameNode
|
||||
@@ -55,7 +55,7 @@ class Game:
|
||||
self.root = move_tree
|
||||
self.komi = self.root.komi
|
||||
handicap = int(self.root.get_property("HA", 0))
|
||||
if handicap and not self.root.placements:
|
||||
if handicap >= 2 and not self.root.placements:
|
||||
self.root.place_handicap_stones(handicap)
|
||||
else:
|
||||
board_size = katrain.config("game/size")
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
(;GM[1]FF[4] SZ[19] GN[] DT[2020-07-20] PB[whatiskale] PW[V259081699] BR[15级] WR[14级] KM[0]HA[1]RU[Japanese]AP[GNU Go:3.8]RE[W+R]TM[1200]TC[3]TT[30]AP[foxwq]RL[0] ;B[pd];W[dp];B[pq];W[dd];B[fc];W[qo];B[np];W[nc];B[qf];W[pc];B[qc];W[qb];B[rc];W[od];B[pb];W[oc];B[rb];W[jd];B[cc];W[dc];B[cd];W[de];B[db];W[eb];B[cb];W[fb];B[gc];W[ec];B[gb];W[ce];B[be];W[bf];B[bd];W[ge];B[cf];W[dg];B[bg];W[kc];B[df];W[ef];B[cg];W[eg];B[fe];W[ff];B[fq];W[hq];B[cq];W[dq];B[cp];W[do];B[dr];W[er];B[cr];W[fr];B[eq];W[gq];B[fp];W[co];B[bo];W[bn];B[bp];W[go];B[fo];W[fn];B[cn];W[cm];B[gn];W[fm];B[qm];W[ki];B[oe];W[pe];B[qd];W[ne];B[of];W[nf];B[ng];W[og];B[pf];W[mg];B[nh];W[mi];B[ni];W[nj];B[mj];W[mh];B[ph];W[oj];B[pi];W[mk];B[lj];W[kl];B[nk];W[ok];B[nl];W[ol];B[ll];W[ml];B[nm];W[mm];B[lm];W[mn];B[nn];W[lk];B[kk];W[kj];B[jk];W[mo];B[ln];W[lo];B[jm];W[gm];B[hn];W[hm];B[in];W[jo];B[gp];W[hp];B[ho];W[lq];B[jj];W[hj];B[hk];W[gj];B[gk];W[fj];B[ji];W[dj];B[dh];W[ch];B[ci];W[ag];B[bh];W[rq];B[rn];W[pn];B[om];W[pm];B[no];W[ro];B[pl];W[ql];B[pk];W[pj];B[qk];W[qj];B[rk];W[qr];B[pr];W[mr];B[so];W[sp];B[sn];W[qq];B[ip];W[iq];B[jp];W[jq];B[lp];W[ko];B[mp];W[qn];B[rl];W[ob];B[qa];W[dn];B[jb];W[kb];B[fd];W[rj];B[ee];W[rh];B[rg];W[qh];B[sh];W[qg];B[pg];W[rf];B[sg];W[si];B[qi];W[sf];B[sg];W[re];B[qe];W[li])
|
||||
@@ -0,0 +1 @@
|
||||
(;GM[1]FF[4] SZ[19] GN[] DT[2020-07-25] PB[whatiskale] PW[注号用名] BR[15级] WR[15级] KM[0]HA[0]RU[Japanese]AP[GNU Go:3.8]RE[B+R]TM[1200]TC[3]TT[30]AP[foxwq]RL[0] ;B[pd];W[dp];B[pp];W[dd];B[fc];W[qq];B[pq];W[qp];B[qn];W[qo];B[pn];W[po];B[oo];W[rn];B[rm];W[sn];B[ql];W[qf];B[nc];W[qi];B[fq];W[hq];B[fo];W[lq];B[cn];W[dn];B[dm];W[en];B[dq];W[cp];B[cq];W[bp];B[bq];W[bn];B[cm];W[bm];B[ck];W[fn];B[cf];W[ee];B[cc];W[dc];B[cd];W[db];B[id];W[hd];B[hc];W[he];B[jq];W[fp];B[ep];W[gp];B[eo];W[do];B[go];W[ho];B[gn];W[fl];B[jo];W[lo];B[hn];W[er];B[fr];W[jn];B[io];W[hp];B[kn];W[jm];B[ln];W[ko];B[mn];W[jp];B[ip];W[kp];B[iq];W[hr];B[ir];W[is];B[js];W[hs];B[gs];W[in];B[gr];W[kr];B[mr];W[jr];B[gq];W[ks];B[mq];W[pr];B[or];W[mp])
|
||||
@@ -1,5 +1,9 @@
|
||||
import os
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from katrain.core.base_katrain import KaTrainBase
|
||||
from katrain.core.engine import KataGoEngine
|
||||
from katrain.core.game import Game, KaTrainSGF
|
||||
from katrain.core.sgf_parser import SGF, SGFNode
|
||||
|
||||
|
||||
@@ -135,3 +139,17 @@ def test_ngf():
|
||||
"SZ": [19],
|
||||
} == root.properties
|
||||
assert "pq" == root.children[0].get_property("W")
|
||||
|
||||
|
||||
def test_foxwq():
|
||||
for sgf in ["data/fox sgf error.sgf", "data/fox sgf works.sgf"]:
|
||||
file = os.path.join(os.path.dirname(__file__), sgf)
|
||||
move_tree = KaTrainSGF.parse_file(file)
|
||||
katrain = KaTrainBase(force_package_config=True, debug_level=0)
|
||||
game = Game(katrain, MagicMock(), move_tree)
|
||||
|
||||
assert [] == move_tree.placements
|
||||
assert [] == game.root.placements
|
||||
while game.current_node.children:
|
||||
assert 1 == len(game.current_node.children)
|
||||
game.redo(1)
|
||||
Reference in new issue
Block a user