def main(argv): loading_width = 50 scores = [] start = time.time() for i in range(FLAGS.n_games): controller = GameController(gameplayMode=FLAGS.mode, optimizer=FLAGS.opt, depth=FLAGS.depth, display_board=FLAGS.display_board) grid = controller.run(moveDelay=FLAGS.move_delay) scores.append(max(grid)) end = time.time() - start print('Highest score: {}'.format(0 if len(scores) == 0 else max(scores))) d = {} for i in scores: if i in d: d[i] += 1 else: d[i] = 1 for i in sorted(list(d)): print('{}: {}'.format(i, d[i] / len(scores))) print('Average time per game: {} seconds'.format( end / (1 if FLAGS.n_games == 0 else FLAGS.n_games)))
def setUp(self): self.controller = GameController() self.controller.show() self.xybh = [ (130, 180, 75, 23), (210, 180, 75, 23), (290, 180, 75, 23), (370, 180, 75, 23), (450, 180, 75, 23), (130, 150, 75, 23), (210, 150, 75, 23), (290, 150, 75, 23), (370, 150, 75, 23), (450, 150, 75, 23), (130, 120, 75, 23), (210, 120, 75, 23), (290, 120, 75, 23), (370, 120, 75, 23), (450, 120, 75, 23) ]
def main(): gamecon = GameController() gamecon.player1.key = 5 gamecon.player2.key = 6 for i in range(2): for j in range(3): filename = "sample_input/p{0}d{1}.json".format(i + 1, j + 1) with open(filename) as f: data = json.load(f) gamecon.deploy_minions(data) gamecon.execute_game() print("win:{}".format(gamecon.game.win))
def __init__(self, show_graphics: bool = True): self.running: bool = True self.game = GameController(self) RunController.game = self.game self.gph = Graphics(self, self.game.map, self.game.player) RunController.gph = self.gph self.game_events: list = [] self.show_graphics: bool = show_graphics self.graphics_events: deque = deque([])
def current_room_test(): gc = GameController() gc.goc.add_room('gameobjects/room/template.rm') # Start server on GC for id, lf in gc.goc.lifeforms.items(): print(lf.current_room) s = multiprocessing.Process(target=gc.run, name="Run", args=()) s.start() time.sleep(2) c = client.GameClient() c.login() c.send('evaluate', 'gameobjects[{0}].current_room'.format(c.id)) s.terminate() s.join()
def play_game(): game = GameController() game.prep_player() while game.ask_play(): game.ask_player_bet() game.prep_dealer() game.hand_to_player() game.hand_to_dealer() # we may have a winner right with the initial cards initial_outcome = game.check_initial_hands() if initial_outcome != 'game goes on': game.process_blackjack(initial_outcome) game.collect_used_cards() continue game.do_player_turn() # if player busts, dealer wins and does not even # have to show his hidden card player_status = game.check_player() if player_status == 'player_busted': game.handle_game_outcome('dealer') game.collect_used_cards() continue game.do_dealer_turn() dealer_status = game.check_dealer() if dealer_status == 'dealer_busted': game.handle_game_outcome('player') game.collect_used_cards() continue # neither dealer nor player busted so # let's find the winner based on totals outcome = game.find_winner() game.handle_game_outcome(outcome) game.collect_used_cards() # player answered 'no' to the play again question print("\nYou go home with $" + str(game.player.bankroll)) print("Thanks for playing!")
def main(): resolution = (1200, 800) max_fps = 50 default_backcolor = (0, 0, 0) pygame.init() screen = pygame.display.set_mode(resolution) clock = pygame.time.Clock() filename = os.path.normpath("assets/images/stars.jpg") image = pygame.image.load(filename) background_image = image.subsurface((0,0), (resolution[0], resolution[1])).copy() background_image.convert() background_image.set_alpha(127) main_event_queue = EventQueue() clock = pygame.time.Clock() context_data = { "clock": clock, "resolution": resolution, "screen": screen, } game_context = GameContext(context_data) game_controller = GameController(main_event_queue, game_context) loop = True clock.tick(max_fps) clock.tick(max_fps) # intro module sigla.intro_title(screen, game_context) pygame.time.wait(500) sigla.fade_to_black(resolution, screen) sigla.personaggi_entrano_in_scena(screen, game_context) sigla.fade_to_black(resolution, screen) while loop: loop = main_event_queue.handle_events() background_change, background, screen_elements = game_controller.update() screen.fill(default_backcolor) screen.blit(background_image, (0,0)) screen_elements.draw(screen) pygame.display.flip() clock.tick(max_fps)
def ai_gambits(): print('-------------------------') print('Parse simple precondition: stat HP>10') gc = GameController() go, id = gc.goc.add_gameobject('gameobjects/regression/dummy.lfm') print(go.ai) print(go.aic.data) aic = go.aic r = aic.check_condition(['stat', 'HP<10'], go) print(r) assert r is False r = aic.check_condition(['stat', 'MND>20'], go) print(r) assert r is True r = aic.check_condition(['stat', 'MP>100'], go) print(r) assert r is False r = aic.check_condition(['stat', 'MAXHP>11'], go) print(r) assert r is True r = aic.check_condition(['stat', 'SPD<20'], go) print(r) assert r is True
def setUp(self): self.controller = GameController() self.controller.show()
from flask import Flask, request, session, escape, jsonify import json from gamecontroller import GameController # declare variable # main body of the game game = GameController() # waiting user of the game user_list = [] # generated_key_list generated_key_list = [] generated_key_number = 0 # matchした人 match = -1 # matching中のペア matching = [] # print a nice greeting. def say_hello(username="******"): return '<p>Hello %s!</p>\n' % username # some bits of text for the page. header_text = ''' <html>\n<head> <title>Pocket Auto Chess</title> </head>\n<body>''' instructions = ''' <p><em>Hint</em>: This is a RESTful web service!</p>\n''' home_link = '<p><a href="/">Back</a></p>\n'
def gamecontroller_test_basic(): print('-----------------------') print( 'Test 1 - Create GC, Add a room, Login player and verify player is added properly' ) print('Instantiating GameController') gc = GameController() # Start server on GC s = multiprocessing.Process(target=gc.run, name="Run", args=()) s.start() time.sleep(2) # Create gameclient and login c = client.GameClient() c.login() time.sleep(1) # Verify that playerid on Client and id in GOC match print( 'Verifying that player Lifeform created in GOC and that it matches client charactername' ) clientid = c.id response = c.send('evaluate', 'gameobjects[{0}].name'.format(clientid)) assert response['response']['message'] == c.charactername response = c.send('evaluate', 'gameobjects[{0}].player'.format(clientid)) print('Is player: {0}'.format(response['response']['message'])) response = c.send('evaluate', 'gameobjects[{0}].ai'.format(clientid)) print('AI: {0}'.format(response['response']['message'])) print('Character created successfully!') time.sleep(1) print('Attempting to login again with same character, should NOT succeed') failed = False try: c.login() except ServerResponseError: failed = True print('Re-Login failed as expected!') assert failed is True time.sleep(1) print('------------------------') print('Test 2 - Player logout') print( 'This test will now logout the player and confirm he has been removed from the GOC' ) playername = c.send('evaluate', 'playernames')['response']['message'][0] print('{0} currently logged in, logging out...'.format(playername)) c.logout() time.sleep(1) playername = c.send('evaluate', 'playernames')['response']['message'] if len(playername) is not 0: raise RuntimeError('Player not successfully logged out') print('Player logged out and removed from GOC successfully!') print('Attempting to logout again, should not crash server...') failed = False try: c.logout() except ServerResponseError: failed = True print('Re-Logout failed as expected!') assert failed is True print('Second logout attempted failed as expected') time.sleep(1) s.terminate() s.join() print('---------------------------') print('Test 3 - Rapid login logout') # Constants # amount = 200 gc = GameController() gc.goc._gameobjects = {} s = multiprocessing.Process(target=gc.run, name="Run", args=()) s.start() time.sleep(2) # Create gameclient and login c = client.GameClient() print('Rapidly logging in and out 200 times') for i in range(0, amount): c.login() c.logout() print('Verifying no gameobjets in GOC') assert gc.goc.gameobjects == {} print('Success! No hero zombies left over!') s.terminate() s.join() print('-----------------------') print('Test 4 - Coordinates, verify coordinate updates') print('Instantiating GameController') gc = GameController() gc.goc.add_room('gameobjects/room/template.rm') # Start server on GC s = multiprocessing.Process(target=gc.run, name="Run", args=()) s.start() time.sleep(2) c = client.GameClient() c.login() c.send('evaluate', 'gameobjects[{0}].current_room'.format(c.id)) s.terminate() s.join()
def stop_screen(screen): curses.echo() curses.nocbreak() screen.keypad(False) curses.endwin() def exit_app(ecode, screen): stop_screen(screen) sys.exit(ecode) if __name__ == '__main__': a = get_args() s = init_screen() g = GameController(a[0], a[1], a[2], s) try: curses.wrapper(g.play) except KeyboardInterrupt: exit_app(1, s) except curses.error: print("Please don't resize the window!") exit_app(1, s) except RuntimeError as e: print(str(e)) exit_app(1, s) exit_app(0, s)
""" Created on 17.11.2017 @author: Michael Borko <*****@*****.**>, Hans Brabenetz <*****@*****.**> @version: 20171117 @description: Implementation eines einfachen Spiels """ from gamecontroller import GameController from PyQt5 import QtCore, QtGui, QtWidgets import sys if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) controller = GameController() controller.show() sys.exit(app.exec_())
from controllers import PlayerController from controllers import TournamentController from gamecontroller import GameController if __name__ == "__main__": players = PlayerController() tournament = TournamentController() start = GameController(players, tournament)