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"}
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)
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
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()
#!/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()
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)
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())
#!/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)