Created Game object

master
Tibor Bizjak 2019-09-01 16:52:51 +02:00
parent 87c1451df1
commit 3dba52f781
1 changed files with 39 additions and 0 deletions

39
chess.py 100644
View File

@ -0,0 +1,39 @@
def cross(A, B):
return tuple(a+b for a in A for b in B)
ranks = "12345678"
files = "abcdefgh"
squares = cross(files, ranks)
pawn_ranks = "27"
home_ranks = "18"
init_positions = {"pawn" : cross(files, pawn_ranks),
"rook" : cross("ah", home_ranks),
"knight" : cross("bg", home_ranks),
"bishop" : cross("cf", home_ranks),
"queen" : cross("d", home_ranks),
"king" : cross("e", home_ranks)
}
class Game:
def __init__(self):
self.make_board()
def make_board(self):
self.board = dict((sq, None) for sq in squares)
# Add pieces
for piece, positions in init_positions.items():
for sq in positions:
self.board[sq] = piece
# Add colors
for sq in cross(files, "12"):
self.board[sq] = ("white", self.board[sq])
for sq in cross(files, "78"):
self.board[sq] = ("black", self.board[sq])
def test():
game = Game()
assert len(squares) == 8**2
assert sum(map(len, init_positions.values())) == 8*4
test()