Пример #1
0
    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]
Пример #2
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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
 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()
Пример #7
0
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)
Пример #8
0
def get_players(board):
    x = plyr.Player(board, 'X', 'Human')
    o = plyr.Computer(board, 'O')
    return (x, o)
Пример #9
0
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)
Пример #10
0
 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)
Пример #11
0
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)
Пример #13
0
 def __init__(self, Nx, Ny):
     self.Nx = Nx
     self.Ny = Ny
     self.gameengine = None
     self.player = player.Computer()
     self.ui = None