from os import system from dataclasses import dataclass from board import Board from piece import Piece @dataclass class Player: name: str color: str class Chess: def __init__(self, players): self.players = players self.board = Board() def makeMove(self, player): chosenTile = 0,0 while True: piece = self.board.selectPiece(player, *chosenTile) chosenTile = piece possibleMoves = Piece.possibleMoves(*piece, self.board) if move := self.board.selectMove(player, *piece, possibleMoves): break print(move) input() self.board.movePiece(piece, move) def win(self, player): print(player.name, 'won.') exit(0) def tie(self): print('Stalemate') exit(0) def update(self): system('clear') self.makeMove(players[0]) # if self.board.checkCheckMate(players[1].color): # self.win(players[0]) # elif self.board.checkStaleMate(players[1].color): # self.tie() system('clear') self.makeMove(players[1]) # if self.board.checkCheckMate(players[0].color): # self.win(players[1]) # elif self.board.checkStaleMate(players[0].color): # self.tie() def loop(self): while True: self.update() if __name__ == "__main__": players = ( Player('Spiller 1', 'white'), Player('Spiller 2', 'black'), ) game = Chess(('Spiller 1', 'Spiller 2')) game.loop() # board = Board() # print(board.selectPiece(players[0], centering=True))