Exemple #1
0
    def test(self):
        board = Board()
        board.state = ['0', None, 'X', None, None, 'X', '0', None, '0']
        comp = Computer('X')
        comp.play(board)

        true = board.game_over() and board.winner == 'X'
        self.assertTrue(true)
Exemple #2
0
class TestGame(unittest.TestCase):
    def setUp(self):
        self.computer1 = Computer(Piece.X)
        self.computer2 = Computer(Piece.O)
        self.state = Game()

    def test_computers_always_tie(self):
        while(not self.state.game_over()):
            if (self.state.whose_turn == self.computer1.piece):
                self.state = self.computer1.take_turn(self.state)
            else:
                self.state = self.computer2.take_turn(self.state)
        self.assertTrue(self.state.tie())
Exemple #3
0
    def __init__(self, running_players=QUANTITY_PLAYERS):
        self.bag = Bag()
        self.is_running = True
        self.players = []
        self.running_players = running_players
        self.lap = 1

        # набираем игроков
        for i in range(1, self.running_players + 1):
            # присваиваем тип игрока
            self.players.append(Human(i) if choose_who() else Computer(i))
Exemple #4
0
def main():
    computer1 = Computer(Piece.X.name)
    human = Human(Piece.O.name)

    state = Game()

    while (not state.game_over()):
        print(state.board)
        if (state.whose_turn == human.piece):
            state = human.take_turn(state)
        else:
            print("Computer is thinking...")
            state = computer1.take_turn(state)
    print(state.board)
    if (state.winner == computer1.piece):
        print "Computer Wins\n"
    elif (state.winner == human.piece):
        print("You Win\n")
    else:
        print("Tie\n")
    def cpu_process(self, id, deck):

        cpu = Computer(id)
        myQueue = self.turns[id]
        nextQueue = self.turns[(id + 1) % self.numOfPlayers]

        self.players.append(cpu)
        deck.to_hand(cpu, self.numOfCardsPerPlayer)

        while True:

            if not myQueue.empty():
                # If player's turn

                # Implement game logic here

                # Still check if cpu can slap
                if cpu._check_slap(deck) is not False:
                    cpu.slap(deck)

                # Spit accordingly

                if cpu.turnsLeft > 0:
                    # if there are still turns left, don't change turns
                    # print("it's cpu's turn")
                    # print_turnsLeft(self)

                    self.game_logic(cpu, id, deck)

                elif cpu.turnsLeft == 0:
                    # if there are no turns left, change turns

                    self.change_turns(nextQueue)

            else:
                # Still check if cpu can slap
                if cpu._check_slap(deck) is not False:
                    print_deck(deck)
                    cpu.slap(deck)
Exemple #6
0
def test_players(game, num_players=2):
    players = []
    for p in xrange(0, num_players):
        player = Computer(name='Player %s' % p, game=game)
        players.append(player)
    return players
Exemple #7
0
 def setUp(self):
     self.computer1 = Computer(Piece.X)
     self.computer2 = Computer(Piece.O)
     self.state = Game()
Exemple #8
0
from game import Game
from player import Human, Computer

game = Game()
''' AI against AI
game.accept_player(Computer())
game.accept_player(Computer())
'''
''' Human against AI '''
game.accept_player(Human())
game.accept_player(Computer())

game.start()
Exemple #9
0
        board.push(move)

    return json.dumps({'value': value, 'board': board.fen()})


@app.route('/move')
def move():
    if board.who_win() is not None:
        return json.dumps({'value': 'game over', 'winner': board.who_win()})

    move = computer.get_move(board)
    time.sleep(1)
    board.push(move)

    if board.who_win() is not None:
        return json.dumps({'value': 'game over', 'winner': board.who_win()})

    return json.dumps({'value': 'done', 'board': board.fen()})


@app.route('/newgame')
def new_game():
    board.reset()
    return board.fen()


if __name__ == '__main__':
    board = Board()
    computer = Computer()
    app.run(debug=True)
def main():
    print_header()
    player1 = Player(input("What is your player name? --> "))
    player2 = Computer("Computer")
    game_loop(player1, player2)
Exemple #11
0
            if letter == 'X':
                letter = 'O'
            else:
                letter = 'X'
        time.sleep(.8)
    if print_game:
        print("It's a Tie")
        p.speak("It's a Tie")


if __name__ == '__main__':
    p.speak("hello welcome to TicTacToe by Shiva Sai")
    print("type 1 to play with computer(probability of wining is more)")
    print("type 2 to play with supercomputer(probability of wining is less)")
    print("type 3 for multiplayer")
    p.speak("choose the oponent")
    typ = input("choose the oponent")
    if int(typ) == 1:
        p.speak("YOu have chosen to play with computer")
        x_player = HumanPlayer('X')
        o_player = Computer('O')
    elif int(typ) == 2:
        p.speak("YOu have chosen to play with supercomputer")
        x_player = HumanPlayer('X')
        o_player = SuperComputer('O')
    elif int(typ) == 3:
        p.speak("You have chosen multiplayer")
        x_player = HumanPlayer('X')
        o_player = HumanPlayer('O')
    game = Tic_Tac_Toe()
    play(game, x_player, o_player, True)
Exemple #12
0
        if hit:
            player.pick(deck.get_one())
        else:
            break
    player.clear()

    print(player.name + '\'s total sum was:', 'BUST!' if bust else card_sum)

    return -1 if bust else card_sum


if __name__ == "__main__":
    deck = Deck()

    player = Player()
    comp = Computer()
    _round = 1

    while player.balance > 0:
        print('ROUND', _round)
        print('The player\'s balance is', player.balance)

        while True:
            try:
                print('Enter the bidding amount.')
                bid_amount = int(input('> '))
                player.bid(bid_amount)
                break
            except NotEnoughBalanceException:
                print('You don\'t have enough balance for this')
            except ValueError: