Inicio de Ejercicio 5
This commit is contained in:
parent
e08e8fb254
commit
450a3b34d0
|
@ -0,0 +1,52 @@
|
|||
test1 = {
|
||||
"1h": "bking",
|
||||
"6c": "wqueen",
|
||||
"2g": "bbishop",
|
||||
"5h": "bqueen",
|
||||
"3e": "wking",
|
||||
}
|
||||
test2 = {
|
||||
"9h": "bking",
|
||||
}
|
||||
test3 = {
|
||||
"1r": "bking",
|
||||
}
|
||||
test4 = {
|
||||
"8h": "cking",
|
||||
}
|
||||
test5 = {
|
||||
"8h": "wring",
|
||||
}
|
||||
test6 = {
|
||||
"8h": "wking",
|
||||
"7h": "wking",
|
||||
}
|
||||
test7 = None
|
||||
|
||||
|
||||
def isValidChessBoard(board):
|
||||
pieces = "pawn knight bishop rook queen king".split()
|
||||
players = {"w": {}, "b": {}}
|
||||
totals = {"pa": 8, "kn": 2, "bi": 2, "ro": 2, "qu": 1, "ki": 1}
|
||||
if not isinstance(board, dict):
|
||||
return False
|
||||
for k, v in board.items():
|
||||
if len(k) > 2 or k[0] not in "12345678" or k[1] not in "abcdefgh":
|
||||
return False
|
||||
if not isinstance(v, str) or v[0] not in "bw" or v[1:] not in pieces:
|
||||
return False
|
||||
players[v[0]].setdefault(v[1:3], 0)
|
||||
players[v[0]][v[1:3]] += 1
|
||||
# TODO
|
||||
for board in players.values():
|
||||
if board != totals:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
for test in [test1, test2, test3, test4, test5, test6, test7]:
|
||||
print(f"Testing board '{test}': ", end="")
|
||||
if isValidChessBoard(test):
|
||||
print("Valid")
|
||||
else:
|
||||
print("Invalid")
|
Loading…
Reference in New Issue