def setUp(self):
     self.player_object = player.Player()
     self.human_object = player.Human()
     self.AI_object = player.AI()
     self.battleship = ship.Ship(position=[2, 2])
     self.cruiser = ship.Ship(position=[3, 2], length=4, letter="C")
     self.player_object.ships = [self.battleship, self.cruiser]
     self.shooting_range = {"45": "o", "23": "x", "11": "o"}
Exemplo n.º 2
0
def play():
    player_a = player.AI_plus('AI-o', 'O')
    player_b = player.AI('AI-x', 'X')

    end_of_game = False
    game_history = []

    while (not end_of_game):
        end_of_game = round(player_a, player_b, game_history)
Exemplo n.º 3
0
 def __init__(self, width=640, height=600):
     global OFFSET
     self.size = width, height
     self.screen = pygame.display.set_mode(self.size)
     pygame.display.set_caption('PuzzleFighter!')
     self.running = False
     self.playing = True
     topleft = (OFFSET, 0)
     topmid = (width / 2 + OFFSET, 0)
     self.players = [player.Player(topleft), player.AI(topmid)]
     self.players[0].opponent = self.players[1]
     self.players[1].opponent = self.players[0]
     self.ai = None
     self.difficulty = 1.75
     self.updater = None
     self.winner = None
     self.loser = None
Exemplo n.º 4
0
    def prepare_game(self, player_count=1, board_size=10):
        """
        starts battleship game
        :param player_count: int number of players
        :param board_size: int size of board (side length)
        """
        #set up pause
        self.capture_pause()

        if player_count == 1:
            # singleplayer game
            #initialize players
            plyrs = [
                player.Human(player_name="Human Player",
                             board_size=board_size),
                player.AI(player_name="Computer Player", board_size=board_size)
            ]
            self.players = plyrs
            #set targets
            self.players[0].target = self.players[1]
            self.players[1].target = self.players[0]

            #run game
            self.run_game()
        else:
            # multiplayer game
            #initialize players
            plyrs = [""] * player_count
            for num in range(player_count):
                plyrs[num] = player.Human(player_name=f"Player { num + 1 }",
                                          board_size=board_size)
            self.players = plyrs

            #set targets
            for num, user in enumerate(self.players):
                if num + 1 == len(self.players):
                    user.target = self.players[0]
                else:
                    user.target = self.players[num + 1]

            #run game
            self.run_game()
Exemplo n.º 5
0
#!/usr/bin/env python3
"""
train3t.py
train the current bot; pass a number of training rounds on the command line
"""

import sys

import player
import tictactoe

trainer = player.Dullard()
champion = player.AI(read_save=True)

game_turn1 = tictactoe.Game(champion, trainer)
game_turn2 = tictactoe.Game(trainer, champion)

if __name__ == "__main__":
    for _ in range(int(sys.argv[1])):
        # every round, play a game as X and a game as O
        game_turn1.play()
        game_turn2.play()
    total_games = champion.wins + trainer.wins + trainer.draws
    print("Victory rate: %.2f%%" % (champion.wins / total_games * 100))
    print("Draw rate: %.2f%%" % (champion.draws / total_games * 100))
    champion.freeze()
Exemplo n.º 6
0
import time
import player
import game

tabuleiro = game.Tabuleiro()

white = player.Player("White")
black = player.Player("Black")

ai = player.AI("Black")
#white_pieces = white.get_pieces(tabuleiro.get_tabuleiro())  # list of pieces

#white.get_valid_plays(white_pieces, tabuleiro.get_tabuleiro())
#white.run_play(tabuleiro.get_tabuleiro())

#tabuleiro._print_tabuleiro()

game.Game(tabuleiro, white, black)
Exemplo n.º 7
0
    else:
        if not 0 <= numPlayers <= 4:
            print "Please enter a number between 0 and 4"
numAI = -1
if not numPlayers > 3:
    while not 0 <= numAI <= (4 - numPlayers):
        try:
            numAI = int(
                raw_input(
                    "How many AI's do you want to play against?  (choose a number 0-%i)"
                    % (4 - numPlayers)))
        except ValueError:
            print "Error must type in a number value"
        else:
            if not 0 <= numAI <= (4 - numPlayers):
                print "Please enter a number between 0 and %i" % (4 -
                                                                  numPlayers)
else:
    numAI = 0
players = []
for i in range(1, numPlayers + 1):
    name = raw_input(("What is player %i's name?") % i)
    players.append(p.Player(name))
for i in range(1, numAI + 1):
    players.append(p.AI("", i))
for i in range(0, 13):
    for player in players:
        player.take_turn(i)
for player in players:
    print(player.print_score_card())
Exemplo n.º 8
0
#!/usr/bin/env python3
"""
versus3t.py
play a round against the current bot; it learns from these games as well
"""

import random

import tictactoe
import player

ai_player = player.AI(read_save=True)

if random.randint(0, 1):
	print("Go first")
	game = tictactoe.Game(player.Human(), ai_player)
else:
	print("Go second")
	game = tictactoe.Game(ai_player, player.Human())

if __name__ == "__main__":
	game.play()
	ai_player.freeze()
        textsurface = textFont.render(str(var.aliensDead), True,
                                      pg.Color("white"))
        var.hadKill = False
        if var.aliensDead < 40:
            var.APsAlowed = (var.aliensDead // 10) + 1

    if var.setup:
        position1 = aliens.RenderWalls(0, 0, 2)
        position2 = aliens.RenderWalls(0, 2, 2)
        distance = ((position2[0] + var.wallSize) - position1[0] -
                    var.playerSizeX) // 2
        position = position1[0] + distance
        player.goto(position)
        if var.playerX == position:
            var.setup = False
    if var.AIstate == 6 and timePrint:
        timeFinish = round(time.time(), 2)
        print('Done in', round(timeFinish - timeStart, 2), 'seconds')
        timePrint = False
    aliens.shoot()
    aliens.wallCollision()
    if Display:
        window.blit(textsurface, (0, 0))

    player.AI()
    if Display:
        pg.display.update()
    counter += 1
    #print(var.offsetY)
    #time.sleep(0.004)