首先要写两个函数可以将棋盘str转成list形式,将棋盘list转成str:
将棋盘变成一个str形式,如上图黑棋为x红棋为o空白为. 则变为 'xxxxxxxxxxxx............oooooooooooo'
再将str转化成list的形式【['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o'],['x','x','.','.','o','o']】以纵向切割。这样就可以得到每个棋子的坐标。如图
棋子坐标是一个元组(横向,纵向),比如(2,1)是一个黑棋x
def make_move_capture(board_string, start, end):
board_string为棋盘str 的形式
start是开始时棋子坐标元组
end是结束时棋子坐标元组
吃子条件:
若要吃掉对方棋子,必须横、竖行走并经过至少一条与路径相切的弧线,并且移动路
径中不可以有本方棋子阻挡
如果符合条件,则return出棋盘str的形式,如果不符合吃子条件,怎return None