def __init__(self): self.finish = False self.winner = None self.player = [None, None] self.round = 1 self.discs = ["X", "O"] self.turn = None print("Connect Four Game!") while self.player[0] == None or self.player[1] == None: print("Player A human or computer?") selectionA = str(input("Enter c for COMPUTER, h for HUMAN: ")) if selectionA == 'c': self.player[0] = player.Computer(self.discs[0]) elif selectionA == 'h': self.player[0] = player.Human(self.discs[0]) else: print("Invalid input!") continue print("Player B human or computer?") selectionB = str(input("Enter c for COMPUTER, h for HUMAN: ")) if selectionB == 'c': self.player[1] = player.Computer(self.discs[1]) elif selectionB == 'h': self.player[1] = player.Human(self.discs[1]) else: print("Invalid input!") continue print("Player A go first with X") self.turn = self.player[0]
def get_options(self): player1, player2, level = self.gui.show_options() if player1 == "human": self.now_playing = player.Human(self.gui, BLACK) else: self.now_playing = player.Computer(BLACK, level + 3) if player2 == "human": self.other_player = player.Human(self.gui, WHITE) else: self.other_player = player.Computer(WHITE, level + 3) self.gui.show_game() self.gui.update(self.board.board, 2, 2, self.now_playing.color)
def start(self, *args): player1, player2 = args logger.info('Settings: player 1: %s, player 2: %s ', player1, player2) if player1 == HUMAN: self.now_playing = player.Human(self.gui, BLACK) else: self.now_playing = player.Computer(BLACK) if player2 == HUMAN: self.other_player = player.Human(self.gui, WHITE) else: self.other_player = player.Computer(WHITE) self.gui.show_game() self.gui.update(self.board.board, 2, 2, self.now_playing.color)
def set_options(self): """ set up playres """ player1, player2 = self.gui.show_options() if player1 == HUMAN: self.now_playing = player.Human(self.gui, BLACK) else: self.now_playing = player.Computer(BLACK) if player2 == HUMAN: self.other_player = player.Human(self.gui, WHITE) else: self.other_player = player.Computer(WHITE) self.gui.show_game() self.gui.update_screen(self.board.board, 2, 2)
def generatePlayers(self): user = player.Human(random.randint(0, self.dim - 1), random.randint(0, self.dim - 1), self.cellWidth) computerX = random.randint(0, self.dim - 1) computerY = random.randint(0, self.dim - 1) while computerX == user.gridX and computerY == user.gridY: computerX = random.randint(0, self.dim - 1) computerY = random.randint(0, self.dim - 1) computer = player.Computer(computerX, computerY, self.cellWidth) self.players.add(user, computer)
def choose(self): self.gui.showMainMenu() option = self.gui.getOption() if option == 1: self.player1 = player.Computer(BLACK) self.player2 = player.Human(WHITE) self.run() elif option == 2: self.player1 = player.Human(BLACK) self.player2 = player.Computer(WHITE) self.run() elif option == 3: self.player1 = player.Human(BLACK) self.player2 = player.Human(WHITE) self.run() elif option == 4: self.player1 = player.Computer(BLACK) self.player2 = player.Computer(WHITE) self.run() elif option == 5: self.gui.showIP() self.player1 = player.Human(BLACK) self.player2 = player.HumanC(WHITE) #t = threading.Thread(target = self.gui.getCancel(self.player2.server.socket, self), name="Child Thread") #t.setDaemon(1) #t.start() self.player2.waitingForClient() self.run() elif option == 6: ip = self.gui.getServerIP() if ip == 'cancel': self.choose() return self.player1 = player.HumanS(BLACK, ip) self.player2 = player.Human(WHITE) self.run()
def ShowMath(math): #追加タスク #② if __name__ == "__main__": math = [[" " for i in range(3)] for j in range(3)] player = [player.GamePlayer(),player.Computer()] turn = 0 winnerPlayer = -1 #最初の盤の表示 #③ #9ターン動かす for turn in range(9): #縦横の入力位置の取得 height,width = player[turnPlayer].Play(math)
def get_players(board): x = plyr.Player(board, 'X', 'Human') o = plyr.Computer(board, 'O') return (x, o)
def gameloop(computer_begins): x_symbol = Symbol('x', X_IMAGE) o_symbol = Symbol('o', O_IMAGE) print('1') user = player.User(not computer_begins, x_symbol, 'User') #computer = player.Computer(computer_begins, o_symbol) computer = player.Computer(computer_begins, o_symbol) #the current game's turn turn = 0 #game_array stores the current's game situation and the centre position of each square game_array = Game_array() #variable to control if the gameloop continues running or not run = True print('2') players = {user.player_id: user, computer.player_id: computer} symbols_repre_image = {user.symbol.representation: user.symbol.image, computer.symbol.representation: computer.symbol.image} #keeps track which player we are referring in the turn and initializes it. current_player_id = None if user.isYourTurn: current_player_id = user.player_id else: current_player_id = computer.player_id print('3') while run: #keeps track if the turn will be changed in this loop after a valid action by some player change_turn = False #Queries for some action from the player in his own turn if players[current_player_id].type == 'User': # User player for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() if event.type == pygame.MOUSEBUTTONDOWN: change_turn = players[current_player_id].click(game_array) else: # Computer player change_turn = players[current_player_id].logic(game_array, turn) pygame.time.delay(500) print('4') render(game_array, symbols_repre_image) #checks if someone has won or the game ended in a draw if game_array.has_won(): end_message = players[current_player_id].name + ' has won!' store_play(players[current_player_id].play) break elif game_array.has_drawn(): end_message = "It's a draw!" break #change the the current player playing if change_turn: next_player_id = None for player_id in players: if current_player_id != player_id: next_player_id = player_id current_player_id = next_player_id turn += 1 #displays end message display_message(end_message)
def create_players(self): """Stworzenie obiektów graczy.""" self.human = player.Human(self.screen, self, c.HUMAN, c.HUMAN_STONES_COLOR) self.computer = player.Computer(self.screen, self, c.COMPUTER, c.COMPUTER_STONES_COLOR)
print(" | | ") print("-----------") print(" | | ") print(" 4 | 5 | 6 ") print(" | | ") print("-----------") print(" | | ") print(" 7 | 8 | 9 ") print(" | | ") print("") #instantiate variables from classes Table and Player tableForGame = table.Table() player1 = player.Player() player2 = player.Computer() playerLetter = input( "Player 1, pick a letter- X or O. Don't put a space after you type in the letter." ) #hard code player1 as x and player2 as O player1.setLetter(playerLetter) if playerLetter == "X": player2.setLetter("O") else: player2.setLetter("X") #sets the name in the player object nameGiven1 = input("Player 1, please enter a name for yourself.")
def start(self, player1vec, player2vec): logger.info('startGame: \n player 1: %s --- player 2: %s ', player1vec, player2vec) self.now_playing = player.Computer(BLACK, vec=player1vec) self.other_player = player.Computer(WHITE, vec=player2vec)
def __init__(self, Nx, Ny): self.Nx = Nx self.Ny = Ny self.gameengine = None self.player = player.Computer() self.ui = None