Created Game object
parent
87c1451df1
commit
3dba52f781
|
@ -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()
|
||||
|
Loading…
Reference in New Issue