Example #1
0
def game():

    player_move = 0

    print(
        "Welcome to the TicTacToe game \'Kirby The Great\' created. This is a two(2) player game. Please enjoy!\n"
    )
    make_board()

    player1, player2 = create_player()

    print(
        f'{player1.name} will play {player1.symbol} and {player2.name} will play {player2.symbol}'
    )

    while True:

        while True:
            p1_pos = input(
                f"{player1.name}, please select your move in positions: ")
            if p1_pos.isdigit() == False or int(p1_pos) > 9:
                print("Please enter a number between 1 - 9.")
                continue
            elif loc[p1_pos] != " ":
                print(
                    'This place is taken. Please select a different position.')
                continue
            else:
                player_move += 1
                loc[p1_pos] = player1.symbol
                make_board()
                break

        check_1 = have_winner(player_move, player1, player2)
        if check_1:
            replay()

        while True:
            p2_pos = input(
                f"{player2.name}, please select your move in positions.")
            if p2_pos.isdigit() == False or int(p2_pos) > 9:
                print("Please enter a number between 1 - 9.")
                continue
            elif loc[p2_pos] != " ":
                print(
                    'This place is taken. Please select a different position.')
                continue
            else:
                player_move += 1
                loc[p2_pos] = player2.symbol
                make_board()
                break

        check_2 = have_winner(player_move, player1, player2)
        if check_2:
            replay()

        if player_move > 7 and (not check_1 and not check_2):
            print('It\'s a tie! No winner.')
            replay()
Example #2
0
 def _add_player(self):
     room = random.choice(
         self._layout.rooms)  # TODO: refactor this to stairs up/down
     self.player = create_player(room.x + room.grid.size_x / 2,
                                 room.y + room.grid.size_y / 2)
     self.player.add(MessageLogger(self.game.message_log))
     self.player.listen('fov_updated', self._on_player_fov_update)
     self.add_entity(self.player)
Example #3
0
    def initialize(self, player_race, player_class):
        self.player = create_player(self, player_race, player_class)
        sword = ItemRegistry.create(self, "WoodenSword")
        self.player.inventory.add(sword)
        self.map = RandomDungeon(self, "1", (200, 200))
        self.map.generate()
        self.player.pos = self.map.get_free_space()

        self.current_view.on_activate()
Example #4
0
def main_menu():
    # - Menu principal du jeu -

    print("\t\n\t\t===  Main menu ===\n\t")
    print(
        "\t|  (1) : Créer nouveau joueur\n\t|  (2) : Afficher liste des joueurs\n\t|  (3) : Lancer une partie\n\t|  (4) : Quitter"
    )
    choice = input("\nVotre choix --> ")
    if choice == "1":
        player.create_player()
        main_menu()
    elif choice == "2":
        player.print_player_list()
        main_menu()
    elif choice == "3":
        player.check_player()
    elif choice == "4":
        sys.exit("\n\n\t\t=== See you soon ===\n\n")
Example #5
0
    def start_game(self):
        if self.black_player_name.get() == '' or self.white_player_name.get(
        ) == '':
            messagebox.showerror(
                title='Missing Player Info',
                message='Please specify the name of both players')
            return

        self.players = dict()
        self.current_player = 0

        black_player_type = PlayerType(self.black_player_type.get())
        white_player_type = PlayerType(self.white_player_type.get())
        black_player_name = self.black_player_name.get()
        white_player_name = self.white_player_name.get()

        if black_player_type != PlayerType.human and white_player_type != PlayerType.human:
            messagebox.showerror(
                title='Player Type Error',
                message='At least one of the players should be a human player')
            return

        self.game_started = True
        self.start_timer()
        self.stop_timer = False

        self.players[BLACK] = create_player(black_player_type,
                                            black_player_name)
        self.players[WHITE] = create_player(white_player_type,
                                            white_player_name)

        self.current_player = BLACK

        # Enable and disable widgets accordingly
        self.start_game_button.config(state=DISABLED)
        self.black_player_name_entry.config(state=DISABLED)
        self.black_player_type_combo.config(state=DISABLED)
        self.white_player_name_entry.config(state=DISABLED)
        self.white_player_type_combo.config(state=DISABLED)
        self.reset_button.config(state=NORMAL)
        self.update()
Example #6
0
    def session(self):
        """ Excecute a single game session, and return
        the list of stakes

        """
        stakes = list()
        player = create_player(self.player_class, self.game.table,
                               self.init_stake, self.init_duration)
        while player.playing():
            stakes.append(player.stake)
            self.game.cycle(player)
        return stakes
Example #7
0
 def Choose_class(self):
     name = input("What is your name? ")
     choice = int(input("Choose a hero \n 1: Knight \n 2: Mage \n 3: Thief \n"))
     global game_state_manager
     game_state_manager = GameStateManager()
     global game_state
     game_state = game_state_manager.load(name)
     global character
     character = player.create_player(name, choice, game_state)
     Map.map_choice()
     Map.start_room()
     Map.exit_map(Map)
     walking(character)
Example #8
0
 def test_create_player (self):
     #Cannot create duplicate Usernames:
     assert not create_player("Username", "Password")
     assert not create_player("Username2", "Password")
     #Invalid input:
     assert not create_player(None, None)
     assert not create_player("TestUsername", None) 
     assert not create_player(None, "TestPassword") 
     #Mixed input:
     assert not create_player(None, "Password")
     #Valid innput:
     assert create_player("TestUsername", "TestPassword")
Example #9
0
def get_players_info(league_url, players=pl.create_player()):
    html = get_html(league_url)
    soup = BeautifulSoup(html, 'lxml')
    table = soup.find('table', class_='tournament-table bordered')
    
    if table != None:
        for row in table.find_all('tr')[1:]:
            player_info = []

            for column in row.find_all('td')[1:]:
                player_info.append(column.text.strip())

            player = pl.create_player(*player_info)

            if player['Name'] in players.keys():
                players[player['Name']] = pl.merge_stats(
                    players[player['Name']],
                    player
                )
            else:
                players[player['Name']] = player

    return players
Example #10
0
def main():
    clubs = get_clubs(URL + '/?q=clubs_list')
    players = {'Гость': pl.create_player()}
    
    for club in clubs:
        leagues = get_leagues(club)

        for league in leagues:
            try:
                players = get_players_info(league, players)
            except:
                pass

        print(club)

    players = pl.to_df(players.values())
    players.to_csv('Data/stats.csv')
Example #11
0
def create_player():
    #   def __init__(self, hand_size=5, player_class='fighter', loot=0):
    #     self.player_class = player_class
    #     # player_deck = [val for key, val in PLAYER_STARTING_DECK.items()]
    #     # self.player_deck = player_deck
    #     self.player_deck = list(PLAYER_STARTING_DECK)
    #     self.hand_size = hand_size
    #     self.discard_pile = []
    #     self.current_hand = []
    #     self.loot = loot
    mock_player = {
        'draw_pile': [],
        'discard_pile': [],
        'hand_size': 3,
        'current_hand': [],
        'loot': 0,
        'player_class': 'tank'
    }
    resp = player.create_player(mock_player)
    test.test(resp.status_code, 200, 'Player should successfully create')
Example #12
0
            'type': 'dragon',
            'spawn_chance': 100
        }],
        # list of actual enemies in the room
        'enemies': [],
        'exits': {
            'inside': {
                'require': [],
            }
        }
    }
}

##### GAME STATE VARIABLES #####
CURRENT_ROOM = 'outside'
player = create_player('Frank', 'fighter')

##### GAME STATE VARIABLES #####


def command_go(to_room):
    global CURRENT_ROOM
    # is the destination room in the list of exists?
    if to_room in world[CURRENT_ROOM]['exits']:
        next_room = world[CURRENT_ROOM]['exits'][to_room]
        # check to make sure that we have any required items to use this exit
        for required_item in next_room['require']:
            if required_item not in player['inventory']:
                print_slowly("You do not have a " + required_item)
                return
Example #13
0
 def choose_ai_class(self):
     name = input("What is the name of the AI? ")
     choice = int(input("Choose a hero \n 1: Knight \n 2: Mage \n 3: Thief \n"))
     global ai
     ai = player.create_player(name, choice, 0)
     ai_map.map_choice(ai)
Example #14
0
        elapsed_time = end_time - start_time
        final_message += ' (time: {:7.3}s)'.format(elapsed_time)
        logger.info(final_message)

    def print_final_results(self):
        logger.info('\nFinal Results:')
        logger.info('\t{:23} {}\n\t{:23} {}\n\t{:23} {}'.format(
            'Number of black wins:', self.wins[BLACK], 'Number of white wins:',
            self.wins[WHITE], 'Number of ties:', self.ties))


if __name__ == '__main__':
    if args.black_player is None or args.white_player is None:
        logger.info('You must specify both player types')
        exit(1)

    black_player_type = PlayerType(args.black_player)
    white_player_type = PlayerType(args.white_player)

    black = create_player(black_player_type, 'BLACK')
    white = create_player(white_player_type, 'WHITE')

    runner = OthelloRunner()

    runner.play_series(black_player=black,
                       white_player=white,
                       min_level=args.min_level,
                       max_level=args.max_level,
                       time_out=args.time_out)
 def init_players(self):
     self.player1 = create_player('player1', 'X', self)
     self.player2 = create_player('player2', 'O', self)
     self.current_player, self.opponent = self.player1, self.player2
Example #16
0
 def _add_player(self):
     room = random.choice(self._layout.rooms) # TODO: refactor this to stairs up/down
     self.player = create_player(room.x + room.grid.size_x / 2, room.y + room.grid.size_y / 2)
     self.player.add(MessageLogger(self.game.message_log))
     self.player.listen('fov_updated', self._on_player_fov_update)
     self.add_entity(self.player)
Example #17
0
    pygame.time.delay(100)
    saida_oculta = []
    rodada += 1
    distance = 0

    # capta acoes do botao
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            display_open = False

        # novo player
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                if len(players) < 1:
                    players = create_player()

    # eventos do teclado
    comandos = pygame.key.get_pressed()
    if len(players) != 0:  # se nao houver player, nao tera acao de botao
        move_player(pygame, comandos, players[0])

    # i.a jogando aqui
    if len(players) != 0:  # se nao houver player, nao tera acao de botao
        for player in players:
            distanceX = fruits[0][0] - player[0]
            distanceY = fruits[0][1] - player[1]
            player[0], player[1], saida_oculta = move_player_ia(
                distanceX, distanceY, player, pesos, pesos_oculta)

    # colisao do player + fruta
game_world = world.World2d()

game_world_debugger = world.World2dDebug(game_world)
fps_display = pyglet.window.FPSDisplay(window=graphics_director._window)
fps_display.label.color = (255, 255, 255, 255)
fps_display.label.y = game_height * game_scale - 20
fps_display.label.bold = False
fps_display.label.font_size = 10
fps_display.label.font_name = 'Verdana'

audio_director.attenuation_distance = 40

collision_sound = audio_director.load(
    'audio/sfx/bass-drum-hit.wav', streaming=False)

(pickle, pickle_graphics_idle) = player.create_player(key_handler)

graphics_director.add_listeners(on_update=pickle.update)
game_world.add_collider(pickle)


def toggle_debug_state():
    global debug_state
    debug_state = not debug_state


debug_state = True
key_handler.on_key_press(pyglet.window.key.D, toggle_debug_state)


def create_floor_physics(**kwargs):