def main(): # Display the main menu and have player pick a class type classType = int(main_menu.display()) # Start the game import game game.play(classType)
def levelSaveMenu(): """ Fait fonctionner le menu de sélection d'une sauvegarde. """ goInBlack() levels = IO.getLevels("save") levelSelected = 0 level = IO.loadSave(levels[0]) game.initSaveLevel(level) moveRender(levels, levelSelected, IO.loadSave) while not evenement.event["game"] == 'return': evenement.compute() ui.logic(evenement.event["tk"]) if evenement.event["game"] == "right": levelSelected = move(levelSelected, levels, 1, IO.loadSave) elif evenement.event["game"] == "left": levelSelected = move(levelSelected, levels, -1, IO.loadSave) elif evenement.event["game"] == "play": goInBlack() game.play(levels[levelSelected], "l") backInBlack(game.initSaveLevel, [levels[levelSelected]]) moveRender(levels, levelSelected, IO.loadSave) game.updateTime() animation.update() ui.render(game.getFps()) mise_a_jour() backInBlack(game.initPlayMenu)
def main(): colorama.init() n = [] print("Loading networks... ", end="\t") n = nnet.load("data/data0.txt") printOK() while True: s = getXO() board = [] for i in range(A_SIDE): board.append([]) for j in range(A_SIDE): board[i].append(' ') if s == 'x' or s == 'X': a = game.play('x', board, n) n_board = a[0] is_win = a[1] else: a = game.play('o', board, n) n_board = a[0] is_win = a[1] if is_win == -1: cprint('You won!\n', 'green') elif is_win == 0: print('Draw!') else: cprint('AI won!', 'red') v = input("Do you want to try again? (y/n) ") if v == "n" or v == "N" or v == "no" or v == "No" or v == "nO" or v == "NO": print("Goodbye!") break
def flee(character): """ Attempt to escape from combat. When the character attempts to escape, he will either be successful and leave the fight, or he will fail and take damage. :param character: A dictionary representing a character. :precondition: A proper character dictionary is inputted as a param. :postcondition: The character will properly attempt to escape. """ character["in_combat"] = False roll = game.roll_die(1, 10) if roll == 1: damage = game.roll_die(1, 4) character["HP"][0] -= damage print("You were late to a pop-quiz and got a 0! Lose " + str(damage) + " sanity.") else: print( "You managed to falsify a doctors note and got excused from class!" ) if game.is_alive(character): game.play(character) else: print("Game over! You did not manage to survive school.")
def levelSelectionMenu(): """ Fait fonctionner le menu de sélection d'un niveau enregistré. """ goInBlack() levels = IO.getLevels("level") levelSelected = 0 level = IO.loadLevel(level=levels[0]) game.initSelectionLevel(level) moveRender(levels, levelSelected, IO.loadLevel) while not evenement.event["game"] == 'return': evenement.compute() ui.logic(evenement.event["tk"]) if evenement.event["game"] == "right": levelSelected = move(levelSelected, levels, 1, IO.loadLevel) elif evenement.event["game"] == "left": levelSelected = move(levelSelected, levels, -1, IO.loadLevel) elif evenement.event["game"] == "play": goInBlack() game.play(levels[levelSelected], "s") backInBlack(game.initSelectionLevel, [levels[levelSelected]]) moveRender(levels, levelSelected, IO.loadLevel) elif evenement.event["game"] == "edit": goInBlack() editor.editor(levels[levelSelected]) backInBlack(game.initSelectionLevel, [levels[levelSelected]]) moveRender(levels, levelSelected, IO.loadLevel) game.updateTime() animation.update() ui.render(game.getFps()) mise_a_jour() backInBlack(game.initPlayMenu)
def show(self): print(f'Load a Game:\n ========= \n\n') for i, a in enumerate(self.actions, 1): print(f'{i}) {a}') # list all the saves print('Q) Quit to Title\n') self.action = -1 def get_action(): self.action = input('Choose a save: ') if self.action.lower() == 'q': TitleScreen() try: self.action = int(self.action) except: print("That isn't a valid number!") get_action() if int(self.action) > len(self.actions) or int(self.action) < 1: print("That isn't a valid save!") get_action() get_action() import game clear() game.play(self.actions[self.action - 1], l=True) # continue playing on that save TitleScreen()
def get_starting_answers(ans, player1_wins, player2_wins): if ans == "Q": print"Goodbye" exit(1) elif ans == "P": game.play(player1_wins, player2_wins) elif ans == "L": f = game.load_save() if f == 1: print "no save data. Hit P for new game, or Q to quit" ans1 = raw_input("Please enter correct answer -> ") ans1 = ans1.upper() get_starting_answers(ans1, player1_wins, player2_wins) else: count = int(f[0]) play1 = f[1] play2 = f[2] player1_wins = int(f[3]) player2_wins = int(f[4]) board1 = f[6:] game.play_next_move(board1, count, play1, play2, player1_wins, player2_wins) else: print "Invalid Input, Must Choose Q, P, L" ans1 = raw_input("Please enter correct answer -> ") ans1 = ans1.upper() get_starting_answers(ans1, player1_wins, player2_wins)
def test_immediate_exit(): input_values = ['30', '50', '42', 'x'] output = [] def mock_input(s): output.append(s) return input_values.pop(0) game.input = mock_input game.print = lambda s: output.append(s) random.randrange = lambda a, b: 42 game.play() assert output == [ '\nWelcome to another Number Guessing game', 'Please enter your guess [x|s|d|m|n]: ', '30', 'Your guess is too low', 'Please enter your guess [x|s|d|m|n]: ', '50', 'Your guess is too high', 'Please enter your guess [x|s|d|m|n]: ', '42', 'Hit!', '\nWelcome to another Number Guessing game', 'Please enter your guess [x|s|d|m|n]: ', 'x', 'Sad to see you leave early', ]
def test_immediate_exit(monkeypatch, capsys): input_values = '\n'.join(['30', '50', '42', 'x']) monkeypatch.setattr(sys, 'stdin', io.StringIO(input_values)) monkeypatch.setattr(random, 'randrange', lambda a, b: 42) game.play() out, err = capsys.readouterr() assert out == '''
def test_2(): ''' Game between human player and minmax player ''' hg = hexgame.Hexgame(5) ph1 = game.Human_player(hg.clone()) ph1.set_color(-1) ph2 = game.Minmax_player(hg.clone(),hexgame.hexgame_eval) ph2.set_color(+1) game.play(hg, ph1, ph2, verbose = 1)
def test_1(): ''' Game between two human players ''' hg = hexgame.Hexgame(3) ph1 = game.Human_player(hg.clone()) ph1.set_color(-1) ph2 = game.Human_player(hg.clone()) ph2.set_color(+1) hg.print_player_turn() game.play(hg, ph1, ph2, verbose=1)
def test_2(): ''' Game between human player and minmax player ''' hg = hexgame.Hexgame(5) ph1 = game.Human_player(hg.clone()) ph1.set_color(-1) ph2 = game.Minmax_player(hg.clone(), hexgame.hexgame_eval) ph2.set_color(+1) game.play(hg, ph1, ph2, verbose=1)
def test_H_H(): ''' Game between two human players ''' hg = hexgame.Hexgame(11) p1 = game.Human_hex_player(hg.clone()) p1.set_color(-1) p2 = game.Human_hex_player(hg.clone()) p2.set_color(+1) hg.print_player_turn() game.play(hg, p1, p2, verbose=1)
def test_H_A(): ''' Game between human player and alphabeta player ''' hg = hexgame.Hexgame(5) p1 = game.Human_hex_player(hg.clone()) p1.set_color(-1) p2 = game.Alphabeta_player(hg.clone(), hexgame.hexgame_eval) p2.set_color(+1) game.play(hg, p1, p2, verbose=1)
def test_H_A(): ''' Game between human player and alphabeta player ''' hg = hexgame.Hexgame(5) p1 = game.Human_hex_player(hg.clone()) p1.set_color(-1) p2 = game.Alphabeta_player(hg.clone(),hexgame.hexgame_eval) p2.set_color(+1) game.play(hg, p1, p2, verbose = 1)
def rgetxy(event): try: game.right = alpha2[int(event.x / 80) - 1] + str(9 - int(event.y / 80)) except: print('error') game.play(guiw) for i in guiw.selec_poss_seen: guiw.canvas.delete(i) if game.winner != None: print('the winner is {}'.format(game.winner)) input()
def test_H_H(): ''' Game between two human players ''' hg = hexgame.Hexgame(11) p1 = game.Human_hex_player(hg.clone()) p1.set_color(-1) p2 = game.Human_hex_player(hg.clone()) p2.set_color(+1) hg.print_player_turn() game.play(hg, p1, p2, verbose = 1)
def test_1(): ''' Game between two human players ''' hg = hexgame.Hexgame(3) ph1 = game.Human_player(hg.clone()) ph1.set_color(-1) ph2 = game.Human_player(hg.clone()) ph2.set_color(+1) hg.print_player_turn() game.play(hg, ph1, ph2, verbose = 1)
def test_1(): ''' Game between two human players ''' qg = quantum_game.Quantumgame() qg.randomize_board() print(qg.legal_moves(True)) ph1 = game.Human_quantum_player(qg.clone()) ph1.set_color(-1) ph2 = game.Human_quantum_player(qg.clone()) ph2.set_color(+1) qg.print_player_turn() game.play(qg, ph1, ph2, verbose = 1)
def test_2(): ''' Game between human player and minmax player ''' qg = quantum_game.Quantumgame() random.seed(a=22) qg.randomize_board() p1 = game.Human_quantum_player(qg.clone()) p1.set_color(+1) p2 = mcts.MCTS_player(qg.clone(),iters=1000) p2.set_color(-1) game.play(qg, p1, p2, verbose = 1)
def test_debug(): ''' debug Game between human player and minmax player ''' hg = hexgame.Hexgame(3) hg.set_board([1, 0, 0, -1, 1, -1, 0, 0, -1]) p1 = game.Human_hex_player(hg.clone()) p1.set_color(-1) p2 = game.Minmax_player(hg.clone(), hexgame.hexgame_eval) p2.set_color(+1) game.play(hg, p1, p2, verbose=1)
def test_1(): ''' Game between two human players ''' qg = quantum_game.Quantumgame() qg.randomize_board() print(qg.legal_moves(True)) ph1 = game.Human_quantum_player(qg.clone()) ph1.set_color(-1) ph2 = game.Human_quantum_player(qg.clone()) ph2.set_color(+1) qg.print_player_turn() game.play(qg, ph1, ph2, verbose=1)
def test_2(): ''' Game between human player and minmax player ''' qg = quantum_game.Quantumgame() random.seed(a=22) qg.randomize_board() p1 = game.Human_quantum_player(qg.clone()) p1.set_color(+1) p2 = mcts.MCTS_player(qg.clone(), iters=1000) p2.set_color(-1) game.play(qg, p1, p2, verbose=1)
def test_immediate_exit(monkeypatch, capsys): monkeypatch.setattr(sys, 'stdin', io.StringIO('x')) game.play() out, err = capsys.readouterr() assert err == '' expected = ''' Welcome to another Number Guessing game Please enter your guess [x|s|d|m|n]: x Sad to see you leave early ''' assert out == expected
def test_3(): ''' debug Game between human player and minmax player ''' hg = hexgame.Hexgame(3) hg.set_board([1,0,0,-1,1,-1,0,0,-1]) ph1 = game.Human_player(hg.clone()) ph1.set_color(-1) ph2 = game.Minmax_player(hg.clone(),hexgame.hexgame_eval) ph2.set_color(+1) game.play(hg, ph1, ph2, verbose = 1)
def main(): pygame.display.set_caption('Asteroids') var = start_screen.show_start_screen() if var: game.play() while True: for event in pygame.event.get(): # event handling loop if event.type == QUIT: terminate() elif event.type == KEYDOWN: if event.key == K_ESCAPE: terminate()
def main(): pygame.display.set_caption('Asteroids') var = start_screen.show_start_screen() if var: game.play() while True: for event in pygame.event.get(): # event handling loop if event.type == pygame.QUIT: func.terminate() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: func.terminate()
def playGame(player, size, depth): loop = True while (loop): play(player, size[0], size[1], depth) user_input = input("That was fun {0}! ".format(player) + "Do you want to play again?\n" + "(Y/n): ") if (user_input.lower() == 'y' or user_input.lower() == 'yes'): print("Let's play!") loop = True elif (user_input.lower() == 'n' or user_input.lower() == 'no'): loop = False else: print("I'm sorry, I don't understand '{0}'.".format(user_input)) print("Thanks for playing with me, {0}. See you later!".format(player))
def experiment(n, p1, p2, p1name='p1', p2name='p2'): wins = {-1: 0, 1: 0} moves = {-1: {'len': 0, 'sum': 0}, 1: {'len': 0, 'sum': 0}} for i in range(1, n + 1): print('game {} of {}'.format(i, n)) qg = quantum_game.Quantumgame() qg.randomize_board() p1.set_game(qg.clone()) p2.set_game(qg.clone()) p1.set_color(-1) p2.set_color(1) last_turn, legal_move_hist = game.play(qg, p1, p2, verbose=0) wins[-qg.turn] += 1 moves[-1]['sum'] += sum(legal_move_hist[-1]) moves[-1]['len'] += len(legal_move_hist[-1]) moves[1]['sum'] += sum(legal_move_hist[1]) moves[1]['len'] += len(legal_move_hist[1]) print(moves[-1]['sum'] / moves[-1]['len']) print(moves[1]['sum'] / moves[1]['len']) print('wins: {}={}, {}={}'.format(p1name, wins[-1], p2name, wins[1]))
def main(): assert len(argv) == 5 map_size = int(argv[1]) tanks_per_team = int(argv[2]) team_file_name = argv[3] shoot_range = int(argv[4]) # team_commands = None with open(team_file_name) as f: team_commands = f.readlines() map = Map(map_size, shoot_range) for team,command in enumerate(team_commands): for i in range(0, tanks_per_team): map.add_tank(Tank(team + 1, command, shoot_range)) play(map)
def input_num(num): player = game.load() result = game.play(num) if player['win'] + 1 < 3 and player['life'] - 1 > 0: if result == 'win': result = '이겼습니다!' show = '이겼습니다. 승리 : {} 기회 : {}'.format(player['win'] + 1, player['life']) elif result == 'drawwin': result = '강화된 {}로 이겼습니다!'.format(player['powerup']) show = '강화된 {}로 이겼습니다! 승리 : {} 기회 : {}'.format( player['powerup'], player['win'] + 1, player['life']) elif result == 'draw': result = '비겼습니다' show = '비겼습니다. 승리 : {} 기회 : {}'.format(player['win'], player['life']) else: result = '졌습니다.' show = '졌습니다.승리 : {} 기회 : {}'.format(player['win'], player['life'] - 1) return render_template('play.html', data=result, info=show) elif player['win'] + 1 >= 3: result = '3번 승리로 게임에서 이겼습니다.' return render_template('game_result.html', data=result) else: result = '3번 패배로 게임에서 졌습니다.' return render_template('game_result.html', data=result)
def select_level(win): title_lines = [ "████████ ████████ ██ ████████ ████████ ████████ ██ ████████ ██ ██ ████████ ██ ", "██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ", "████████ ██████ ██ ██████ ██ ██ ██ ██████ ██ ██ ██████ ██ ", " ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ", "████████ ████████ ████████ ████████ ████████ ██ ████████ ████████ ████ ████████ ████████" ] menu = ["Level " + l for l in sorted(os.listdir("levels")) if l.isdigit() ] + ["Main menu"] selection = get_menu_selection(win, title_lines, menu) if selection == len(menu) - 1: return else: level_number = selection + 1 game.play(win, level_number)
def menu(): choice = input(CHOICE).lower() while choice != "q": if choice == "i": view_information() elif choice == "r": view_rules() elif choice == "p": play() else: print("Something went wrong, you made a wrong choice") choice = input(CHOICE).lower()
def experiment(n, p1, p2, p1name='p1', p2name='p2'): wins = {-1: 0, 1: 0} moves = {-1: {'len': 0, 'sum': 0}, 1: {'len': 0, 'sum': 0}} for i in range(1, n + 1): print('game {} of {}'.format(i, n)) qg = quantum_game.Quantumgame() qg.randomize_board() p1.set_game(qg.clone()) p2.set_game(qg.clone()) p1.set_color(-1) p2.set_color(1) last_turn, legal_move_hist = game.play(qg, p1, p2, verbose=0) wins[-qg.turn] += 1 moves[-1]['sum'] += sum(legal_move_hist[-1]) moves[-1]['len'] += len(legal_move_hist[-1]) moves[1]['sum'] += sum(legal_move_hist[1]) moves[1]['len'] += len(legal_move_hist[1]) print(moves[-1]['sum']/moves[-1]['len']) print(moves[1]['sum']/moves[1]['len']) print('wins: {}={}, {}={}'.format(p1name, wins[-1], p2name, wins[1]))
def test_player_2_wins_pair_of_eights(self): player_1_hand, player_2_hand = parse_hands( "5H 5C 6S 7S KD 2C 3S 8S 8D TD") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(0, player_1_result) self.assertEqual(1, player_2_result)
def test_player_1_wins_royal_flush(self): player_1_hand, player_2_hand = parse_hands( "TH JH QH KH AH QC TC 6D 7C KS") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(1, player_1_result) self.assertEqual(0, player_2_result)
def test_player_1_wins_highest_card_ace(self): player_1_hand, player_2_hand = parse_hands( "5D 8C 9S JS AC 2C 5C 7D 8S QH") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(1, player_1_result) self.assertEqual(0, player_2_result)
def test_player_1_wins_full_house(self): player_1_hand, player_2_hand = parse_hands( "2H 2D 4C 4D 4S 3C 3D 3S 9S 9D") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(1, player_1_result) self.assertEqual(0, player_2_result)
def test_player_1_wins_highest_card_nine(self): player_1_hand, player_2_hand = parse_hands( "4D 6S 9H QH QC 3D 6D 7H QD QS") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(1, player_1_result) self.assertEqual(0, player_2_result)
def start_game(Name, game, check, is_New_Name): print('\n', Name, ' Welcome to the guess the four-lettered word game!\n') print('------------------------------------------------------------\n') con = 'y' # var for check the to continue the game print( 'The rules are simple...\nYou must a guess a four letter word and you have 15 chances to do so :P' ) print('\n Sounds easy right? Lets get on with it!\n') def getwords(): fobj = open(r"Randwords.txt", "r+") get = fobj.read().splitlines() fobj.close() return get get = getwords() game.play(con, get, Name, check, is_New_Name)
def test_player_2_wins_flush(self): player_1_hand, player_2_hand = parse_hands( "2D 9C AS AH AC 3D 6D 7D TD QD") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(0, player_1_result) self.assertEqual(1, player_2_result)
def test_player_2_wins_highest_card_jack(self): player_1_hand, player_2_hand = parse_hands( "6D 7C 5D 5H 3S 5C JC 2H 5S 3D") player_1_result, player_2_result = play(player_1_hand, player_2_hand) self.assertEqual(0, player_1_result) self.assertEqual(1, player_2_result)
def start(self): """"Функция старта с заданными параметрами""" width = int(self.width.text()) height = int(self.height.text()) colors = int(self.colors.text()) if colors > 8 or colors < 1: reply = QMessageBox.question(self, "Message", "Количество цветов от 1 до 8"\ + "\nВыйти?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) if reply == QMessageBox.Yes: exit(0) else: return if width*height > 1000 and colors == 1: reply = QMessageBox.question(self, "Message",\ "Плохое соотношение размера поля и количества цветов"\ + "\nВыйти?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) if reply == QMessageBox.Yes: exit(0) else: return if (width < 2 or height < 2) and colors != 1: reply = QMessageBox.question(self, "Message", \ "Наврятли вы выиграете с такими настройками"\ + "\nВыйти?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) if reply == QMessageBox.Yes: exit(0) else: return if width == 1 and colors == 1 and height == 1: reply = QMessageBox.question(self, "Message", "Нет ходов"\ + "\nВыйти?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) if reply == QMessageBox.Yes: exit(0) else: return if width > 100 and height > 100: reply = QMessageBox.question(self, "Message", "Большое поле"\ + "\nВыйти?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) if reply == QMessageBox.Yes: exit(0) else: return game.play(self, width, height, colors) self.setVisible(False)
board = transpose(board) for i in range(len(board)): score += match(board[i])[1] reduce(board[i]) mirror(board) for i in range(len(board)): reduce(board[i]) mirror(board) board = transpose(board) if board != initialBoard: insert_new(board, 1, 2) return board, score # Complete me def origin(board): if len(board) == 0: return [] return [list(board[0])] + origin(board[1:]) # This next bit of code initializes our GUI code with your functions # `initialize`, `handle_key_press` and `should_continue` and starts # the game. The if test checks whether this file is being executed # or just imported (e.g. for testing) if __name__ == "__main__": game = game.Game(initialize, handle_key_press, should_continue) game.play()
def main(): done = False while not done : done = game.play()
def test_game_is_won_after_8_crow_then_20_baskets(self): game = Game(iter([Dice.CROW]*8 + [Dice.BASKET]*20)) assert game.play() == Outcome.WIN
def test_game_is_lost_after_19_baskets_then_9_crows(self): game = Game(iter([Dice.BASKET]*19 + [Dice.CROW]*9)) assert game.play() == Outcome.LOST
def test_game_is_won_after_20_baskets(self): game = Game(iter([Dice.BASKET]*20)) assert game.play() == Outcome.WIN
def test_game_is_lost_after_20_baskets(self): game = Game(iter([Dice.BASKET] + [Dice.CROW]*9)) assert game.play() == Outcome.LOST
# Starting game loop ############################################################################ import human_input, game, random_strat, greedy_alg, naive_alg, time, datetime solver_dict = {"human":human_input, "random":random_strat, "greedy":greedy_alg, "naive":naive_alg, "replay":None} solver = input("Please select a solver from the following by typing its name\n{}\n".format(solver_dict.keys())) if solver == "replay": score = game.replay(input("enter replay string:\n")) elif solver in solver_dict: start = time.clock() score = game.play(solver_dict[solver].get_move) end = time.clock() elapsed = end - start # game.Result(score[2], start, elapsed, score[3], [solver]) print("Game Over! You score {} points, lasted {} moves and cleared {} lines!\nThe game lasted {}".format(score[2],score[0],score[1], str(datetime.timedelta(seconds=elapsed))))
def handle_main_menu(): # default players players = [game.Player((0, 0), (1, 0), tcod.red, controls=controls[0]), game.Player((-1, -1), (-1, 0), tcod.cyan), # cyan is used instead of blue for # legibility and brightness game.Player((-1, 0), (0, 1), tcod.green), game.Player((0, -1), (0, -1), tcod.yellow), ] conway_speed = CONWAY_SPEED map_width, map_height = SCREEN_SIZE max_fps = MAX_FPS while not tcod.console_is_window_closed(): tcod.console_clear(0) tcod.console_set_foreground_color(0, tcod.white) tcod.console_print_center(0, SCREEN_WIDTH / 2, 2, tcod.BKGND_NONE, 'Conway\'s Game of Tron') tcod.console_set_foreground_color(0, tcod.grey) tcod.console_print_center(0, SCREEN_WIDTH / 2, 3, tcod.BKGND_NONE, 'by Spferical ([email protected])') tcod.console_print_center(0, SCREEN_WIDTH / 2, 4, tcod.BKGND_NONE, 'Version ' + VERSION) tcod.console_set_foreground_color(0, tcod.white) tcod.console_print_left(0, 2, 6, tcod.BKGND_NONE, '(a) Play') tcod.console_print_left(0, 2, 7, tcod.BKGND_NONE, '(b) Exit') player_keys = ['c', 'd', 'e', 'f'] y = 9 x = 2 playernum = -1 for player in players: y += 1 playernum += 1 k = player_keys[playernum] if not player.dead: tcod.console_set_foreground_color(0, player.color) else: tcod.console_set_foreground_color(0, tcod.white) if not player.dead and player.controls: if player.controls == [tcod.KEY_UP, tcod.KEY_LEFT, tcod.KEY_DOWN, tcod.KEY_RIGHT]: str_controls = '[arrow keys]' else: str_controls = str(player.controls) text = '(' + k + ') ' + str(playernum + 1) + ' Player ' + str_controls elif not player.dead and not player.controls: text = '(' + k + ') ' + str(playernum + 1) + ' CPU' else: text = '(' + k + ') ' + str(playernum + 1) + ' Not Playing' tcod.console_print_left(0, x, y, tcod.BKGND_NONE, text) tcod.console_set_foreground_color(0, tcod.white) tcod.console_print_left(0, 2, 15, tcod.BKGND_NONE, '(g) Conway speed: ' + str(conway_speed)) tcod.console_print_left(0, 2, 17, tcod.BKGND_NONE, '(h) Map width: ' + str(map_width)) tcod.console_print_left(0, 2, 18, tcod.BKGND_NONE, '(i) Map height: ' + str(map_height)) tcod.console_print_left(0, 2, 20, tcod.BKGND_NONE, '(j) FPS: ' + str(max_fps)) tcod.console_flush() raw_key = tcod.console_wait_for_keypress(tcod.KEY_PRESSED) key = get_key(raw_key) if key == 'a': game.play(copy.deepcopy(players), conway_speed, (map_width, map_height), max_fps) elif key == 'b': break elif key in player_keys: p = player_keys.index(key) player = players[p] if player.dead: player.dead = False player.controls = controls[p] elif player.controls: player.controls = None else: player.dead = True elif key == 'g': conway_speed = whole_number_menu( conway_speed, 'The Conway simulation will update every how many frames?') elif key == 'h': map_width = whole_number_menu( map_width, 'How wide should the map be?', min_var=1) elif key == 'i': map_height = whole_number_menu( map_height, 'How tall should the map be?', min_var=1) elif key == 'j': max_fps = whole_number_menu( max_fps, 'How many frames per second should the game run at?') elif key == tcod.KEY_ESCAPE: break
# Starting game loop ############################################################################ import human_input, game, random_strat, greedy_alg, naive_alg, misere # solver_dict = {"human":human_input, "random":random_strat, "greedy":greedy_alg, "naive":naive_alg} # solver = input("Please select a solver from the following by typing its name\n{}\n".format(solver_dict.keys())) # if solver in solver_dict: num_games = 100 top_score = [-1,-1,-1] running_total = [0.0,0.0,0.0] worst_score = [999,999,999] for x in range(num_games): score = game.play(random_strat.get_move,verbose=False) if score[2] > top_score[2]: top_score = score if score[2] < worst_score[2]: worst_score = score running_total[0] += score[0] running_total[1] += score[1] running_total[2] += score[2] print("Game {}: {} pieces placed, {} lines cleared, score: {}".format(x,score[0],score[1], score[2])) print("\n\nOver the course of {} games, avg pieces placed: {} avg lines cleared: {} avg score:{}".format(num_games, running_total[0]/num_games,running_total[1]/num_games,running_total[2]/num_games)) print("Your top score: {} pieces placed, {} lines cleared, with a score of {}".format(top_score[0], top_score[1], top_score[2])) print(top_score[3]) print("Your worst score: {} pieces placed, {} lines cleared, with a score of {}".format(worst_score[0], worst_score[1], worst_score[2])) print(worst_score[3])
def test_play(self): self.assertEqual(play(['6D','KD','10D'],'AD')[0],'6D') self.assertEqual(play(['8D','10D','6H'])[0],'8D') self.assertEqual(play(['AC','KS','10D'],'10H')[0],'AC')
import os from pybrain.tools.xml import NetworkReader from game import play from pybrain_examples.nn_pygame_bird.constants import NETWORKS_DIR if __name__ == '__main__': filename = '2016_05_19/10_50.xml' net = NetworkReader.readFrom(os.path.join(NETWORKS_DIR, filename)) play(net, False)
player = aid players[player] = 100 coins = players[player] print 'Welcome, ' + player + '!' print 'You have been given 100 complementary coins.' break else: print 'That account already exists!' else: print 'Goodbye!' sys.exit(0) while True: print '\nWhat would you like to do?' print '1. Play a round' print '2. Leave' choice = input('>') if choice == 1: # Play the game! coins = game.play(coins) else: print 'We hope you enjoyed your stay!' # Save player data players[player] = coins f = open('players.json', 'w') json.dump(players, f) print 'Goodbye!' sys.exit(0)
import sys import pygame from constants import * import game import title_screen if __name__ == "__main__": pygame.init() pygame.key.set_repeat(100, 100) columns = rows = 20 size = width, height = tile_size[0] * columns, tile_size[1] * rows screen = pygame.display.set_mode(size) title_screen.run(screen) game.play(screen)
def get_fitness(n): print 'Getting fitness of ' + str(n) return play(True, n)
def test_game_lost_after_nine_crows(self): game = Game(iter([Dice.CROW]*9)) assert game.play() == Outcome.LOST
if choix==0: choix=4 else: choix-=1 if keys[pygame.K_DOWN]: if timer<=0: timer=10 if choix==4: choix=0 else: choix+=1 if keys[pygame.K_SPACE] and timerMenu<=0: if choix==0: game.play(screen,varOptions) timerMenu=50 elif choix==1: util.regles(screen) elif choix==2: varOptions = util.options(screen,varOptions) elif choix==3: util.credits(screen) elif choix==4: sys.exit() timer-=1 timerMenu-=1 screen.blit(background.image,background.rect)
auto_start=None if args.no_start else args.auto_start, auto_restart=None if args.no_restart else args.auto_restart, allow_multi=args.allow_multi, ) print("New game room_id is {}".format(room_id)) elif subcmd == "remove": remove_room(args.room_id) elif subcmd == "start": start_room(args.room_id) elif subcmd == "join": room_url = "http://{}/games/{}".format(SERVER, args.room_id) print("Check game results {}".format(room_url)) game.play(args.room_id, token, SERVER, args.debug, args.alias) show_results(args.room_id) elif subcmd == "results": show_results(args.room_id) elif subcmd == "play_devel": game.play("000000000000000000000000", token, SERVER, debug=True) elif subcmd == "play_vs_bot": room_id = new_room(max_players=2, auto_start=1, auto_restart=None, with_bot=True) try: game.play(room_id, token, SERVER, args.debug) show_results(room_id) finally: remove_room(room_id)