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' 。如果出现了“棋盘不正确”的错误,这个函数应该能检测出来。