def fen2state(fen):
'''
transfer the fen string to chessboard
fen: fen string
return: state of the chessboard
'''
fenstrlist = fen.split()
cstate = chessboradstate()
cstate.state = np.zeros([10, 9], np.string_)
fenstr1st = fenstrlist[0].split('/')
for i in range(len(fenstr1st)):
current = 0
for j in range(len(fenstr1st[i])):
if fenstr1st[i][j].isdigit():
num = int(fenstr1st[i][j])
for k in range(num):
cstate.state[i][current+k] = ' '
current += num
else:
cstate.state[i][current] = fenstr1st[i][j]
current += 1
cstate.turn = fenstrlist[1]
cstate.roundcnt = int(fenstrlist[5])
return cstate
评论列表
文章目录