Пример #1
0
class WordsmushGameDriver(object):

    def __init__(self):
        self.player1, self.player2 = self.get_players()

        self.game = WordsmushGame(self.player1, self.player2)
        turn_player = cycle([self.player1, self.player2])

        while not self.game.is_game_over():
            player = next(turn_player)
            self.get_turn(player)

        if self.game.resigned:
            winner = self.player1 if self.game.resigned == self.player2 else self.player2
            loser = self.game.resigned
            self.game_over(winner, loser)
        elif self.game.scores[self.player1] == self.game.scores[self.player2]:
            self.game_draw()
        else:
            (winner, winner_score), (loser, loser_score) = \
                sorted(self.game.scores.items(), key=lambda i: -i[1])

            self.game_over(winner, loser)

    def get_turn(self, player):
        player.take_turn(self.game)
Пример #2
0
def get_board(letters):
    """Creates a board from a list of letters"""

    if not isinstance(letters, Iterator):
        letters = iter(letters)

    player1 = WordsmushPlayer() 
    player2 = WordsmushPlayer()
    game = WordsmushGame(player1, player2, board_width=5,
                board_height=5)

    board = ([[WordsmushTile(game, x, y, next(letters)) 
        for x in range(game.board_width)] for y in range(game.board_height)])

    game.board = board
    return game