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