Exemple #1
0
def main():
    print("pycrosses, v1.0")
    try:
        while True:
            while True:
                try:
                    human_players = int(input("How many human players? [2]> "))
                    human_players = human_players if human_players <= 2 else 2
                    break
                except ValueError:
                    print("Not a number")

            player_names = [
                input(f"Enter player {i + 1} name> ")
                for i in range(human_players)
            ]

            game = Game(players=[])
            symbols = cycle([X, O])
            for v in player_names:
                game.add_player(HumanPlayer(name=v,
                                            symbol_class=next(symbols)))

            for _ in range(2 - human_players):
                game.add_player(
                    RoboticPlayer(symbol_class=next(symbols), gamestate=game))

            game.run()
            answer = input("Play again? y/n> ")
            if (answer == 'y'):
                continue
            break
    except EOFError:
        exit(1)
    except KeyboardInterrupt:
        exit(1)
Exemple #2
0
def main_robotic_human():
    game = Game(players=[
        HumanPlayer(name="Fedor", symbol_class=X),
    ])
    game.add_player(RoboticPlayer(symbol_class=O, gamestate=game))
    game.run()
Exemple #3
0
def main_robotic():
    game = Game(players=[])
    game.add_player(RoboticPlayer(symbol_class=X, gamestate=game))
    game.add_player(RoboticPlayer(symbol_class=O, gamestate=game))
    game.run()