15-国际象棋字典验证器
5.6.1 国际象棋字典验证器
在本章中,我们用字典值 {'1h': 'bking', '6c': 'wqueen', '2g': 'bbishop', '5h': 'bqueen', '3e': 'wking'}
代表棋盘。编写一个名为 isValidChessBoard()
的函数,该函数接收一个字典作为参数,根据棋盘是否有效,返回 True
或 False
。
一个有效的棋盘只有一个黑王和一个白王。每个玩家最多只能有16个棋子,最多8个兵,并且所有棋子必须位于从 '1a'
到 '8h'
的有效位置内;也就是说,棋子不能在位置 '9z'
上。棋子名称以'w'或'b'开头,代表白色或黑色;然后是 'pawn'
、 'knight'
、 'bishop'
、 'rook'
、 'queen'
或 'king'
。如果出现了“棋盘不正确”的错误,这个函数应该能检测出来。