Exemplo n.º 1
0
    def enter_player_piece(self):
        """Show selection buttons and return [player_piece, ai_piece]."""
        render_text("Do you want to be white or black?",
                    colours.text,
                    colours.bg1,
                    center=(centerx, int(height / 2)),
                    border=2,
                    bcolour=colours.bg1)
        whitebtn = render_text("White",
                               colours.text,
                               colours.bg1,
                               center=(centerx - 60, centery + 40),
                               border=4)
        blackbtn = render_text("Black",
                               colours.text,
                               colours.bg1,
                               center=(centerx + 60, centery + 40),
                               border=4)

        while True:
            self.check_for_quit()
            button = self.get_button_click(whitebtn, blackbtn)
            if button == whitebtn: return [Piece(white), Piece(black)]
            elif button == blackbtn: return [Piece(black), Piece(white)]
            self.mainclock_tick()
Exemplo n.º 2
0
 def displayPossiblePieces():
     """Display all possible pieces, mainly for testing purpose
     >>> Game.displayPossiblePieces()
     """
     for c in PIECES:
         print(Piece(c))
         print('--------------')
Exemplo n.º 3
0
    def make_move(self, loc):
        """Place new piece at `loc`, return list of captured locations."""
        captured = board.get_captured(self.piece, loc)
        piece = Piece(self.piece.colour, board, loc)
        board.animate_move(captured, piece)

        for loc in captured:
            board[loc].flip()
        board.draw()
        reversi.draw_info()
        return captured
Exemplo n.º 4
0
def get_next_board_positions(board, player):
    moves, n = get_valid_moves(board, player)

    boards = [copy.deepcopy(board) for _ in range(0, n)]
    i = 0

    for m in moves:
        for position in moves[m]:
            boards[i].update_board(
                [Piece(m, position, player.color, player.piece_unicode)])
            i += 1

    return boards
Exemplo n.º 5
0
from board import Board, Piece

from player import Player

from algorithms import best_move, free_knights_evaluation, euclidean_distance_evaluation, play

if __name__ == "__main__":
    """
    WK : White Knight
    BK : Black Knight

    """
    p1_tokens = [
        Piece("WK1", (2, 2), "white", unichr(9822)),
        Piece("WK2", (3, 3), "white", unichr(9822))
    ]
    p2_tokens = [
        Piece("BK1", (2, 3), "black", unichr(9816)),
        Piece("BK2", (3, 2), "black", unichr(9816))
    ]

    p1 = Player(p1_tokens, "PLAYER1")
    p2 = Player(p2_tokens, "PLAYER2")

    pieces = p1_tokens + p2_tokens
    players = [p1, p2]

    b = Board(pieces, 6, players)

    def test_cases(test):
        """
Exemplo n.º 6
0
 def __init__(self):
     self.game = Game()
     self.Pieces = [Piece(elt) for elt in PIECES]
Exemplo n.º 7
0
def drawPiece(color, name, position):
    square = grid[position[0]][position[1]]
    square.piece = Piece(color=color, name=name)
    square.filled = True
Exemplo n.º 8
0
 def next(self):
     """return the next piece
     """
     num = self.rng.randint(0, len(PIECES) - 1)
     return (Piece(PIECES[num]), num)