def betterAgentTests(): newGame = GameManager() randy2 = RandomEligibleAgent(newGame, verbose=True) randy2.play() newGame = GameManager() wordgirl = LexicographicAgent(newGame, verbose=True) wordgirl.play()
def test_load_complex(self): old = GameManager() node1 = BaseMapNode(old, "n1", 20, 20) node2 = BaseMapNode(old, "n2", 30, 40) node3 = BaseMapNode(old, "n3", 0, 40) old.map_manager.node_list = [node1, node2, node3] route1 = BaseRoute(old, 'route1', node1, node2) route2 = BaseRoute(old, 'route2', node1, node3) old.map_manager.route_list = [route1, route2] old.map_manager.update_node_routes() police = Police(old, "penguin") old.actor_manager.npc_list.append(police) police.move_location(node1) police.move_location(node2) with self.assertRaises(ValueError): police.move_location(node3) police.move_location(node1) police.move_location(node3) old.time_manager.run_time(75) old.save_game("GameFile4.txt") new = GameManager() new.load_game("GameFile4.txt") self.assertEqual(old.actor_manager.npc_list[0].current_location.name, new.actor_manager.npc_list[0].current_location.name) self.assertEqual(new.time_manager.time_slice_count, 75) pass
def environmentTests(): testCode = Code([]) # print(testCode) manager = GameManager(testCode) # print(manager.guessCode(testCode)) testCode2 = Code([ CodePin("purple"), CodePin("orange"), CodePin("yellow"), CodePin("blue") ]) manager2 = GameManager(testCode2) guess2 = Code([ CodePin("yellow"), CodePin("orange"), CodePin("yellow"), CodePin("blue") ]) print(manager2.guessCode(guess2)) print(manager2.guessCode(guess2)) for i in range(10): x, y = Code([]), Code([]) print(x.getClue(y) == y.getClue(x))
def simpleAgentTests(): newGame = GameManager() randy = RandomAgent(newGame, verbose=True) randy.play() print("---------------------") newGame = GameManager() you = Player(newGame) you.play()
def test_save_game_empty(self): old = GameManager() old.save_game('GameFile1.txt') new = GameManager() new.load_game('GameFile1.txt') self.assertEqual(old.map_manager.node_list, new.map_manager.node_list) self.assertEqual(old.actor_manager.player, new.actor_manager.player) self.assertEqual(old.actor_manager.npc_list, new.actor_manager.npc_list)
def test_save_police(self): old = GameManager() shop = Shop(old) old.map_manager.node_list.append(shop) police = Police(old, "penguin") old.actor_manager.npc_list.append(police) old.save_game('GameFile3.txt') new = GameManager() new.load_game('GameFile3.txt') self.assertTrue(isinstance(new.actor_manager.npc_list[0], Police)) self.assertTrue(isinstance(new.map_manager.node_list[0], Shop))
def humanAgentTests(): winCounter = 0 for i in range(100): newGame = GameManager() agent = HumanAgent(newGame) if agent.go(): winCounter += 1 print("Agent won " + str(winCounter) + " out of 100 times!")
def main(): test = False for i in range(1, len(sys.argv)): print sys.argv[i] if sys.argv[i] == "--test-install": test = True print "Test" if test: gameManager = GameManager.GameManager(GameObject.GameObject(None), 30, None, None, True) else: #try: handler = ButtonHandler.ButtonHandler() piFaceManager = PiFaceManager.PiFaceManager(handler) gameManager = GameManager.GameManager(GameObject.GameObject(None), 30, handler, piFaceManager) gameObject = GameObject.LoaderGameObject(None) gameManager.setCurrentGameObject(gameObject) gameManager.run() piFaceManager.deactivate()
def start_game(): global GAME_MANAGER global SCREEN GAME_MANAGER = GameManager.GameManager(WINDOW_SIZE) DRAWABLES.clear() MOVABLES.clear() ATTACKS.clear() for cell in GAME_MANAGER.mimic_area.cells: DRAWABLES.append(cell) DRAWABLES.append(GAME_MANAGER.mimic) MOVABLES.append(GAME_MANAGER.mimic) GAME_MANAGER.start() run_game_loop()
def test_save_game(self): old = GameManager() npc1 = NPC(old, 'Penguin', 'Penguin', 1000000000000, None) player1 = Player(old, 'Husky', 'Dog', 9, None) node1 = BaseMapNode(old, "shop") player1.move_location(node1) old.actor_manager.player = player1 old.actor_manager.npc_list.append(npc1) old.map_manager.node_list.append(node1) old.save_game('GameFile2.txt') new = GameManager() new.load_game('GameFile2.txt') self.assertEqual(len(old.map_manager.node_list), len(new.map_manager.node_list)) self.assertEqual(old.map_manager.node_list[0].name, new.map_manager.node_list[0].name) self.assertEqual(old.actor_manager.player.name, new.actor_manager.player.name) self.assertEqual(old.actor_manager.player.current_location.name, new.actor_manager.player.current_location.name) self.assertEqual(new.map_manager.node_list[0].name, new.actor_manager.player.current_location.name)
def test_random_agent(self): # game should take agent as a parameter gm = GameManager(player=agent) gm.add_object({ 'dimensions': (1,3,1,1), 'type': 'player', 'color': COLORS['blue'] }) gm.add_object({ 'dimensions': (0,1,1,1), 'type': 'enemy', 'color': COLORS['red'] }) self.assertEqual(1, 1)
def _board_game_factory(self, choice): if choice == CONNECT_FOUR: game = ConnectFour.ConnectFour() self._game_manager = GameManager.GameManager(self._connection, game) display = ConnectFourDisplay.ConnectFourDisplay(self._game_manager, game) elif choice == OTHELLO: game = Othello.Othello() self._game_manager = GameManager.GameManager(self._connection, game) display = OthelloDisplay.OthelloDisplay(self._game_manager, game) elif choice == SNAKESLADDERS: game = SnakesLadders.SnakesLadders() self._game_manager = GameManager.GameManager(self._connection, game) display = SnakesLaddersDisplay.SnakesLaddersDisplay(self._game_manager, game) ############### DEBUG ###################### else: game = Game.Game() self._game_manager = GameManager.GameManager(self._connection, game) display = GameDisplay.GameDisplay(self._game_manager, game) ############################################ return (game, display)
def runVM(self): self.gm = GameManager.GameManager() while self.currentCuad[-1] < len(self.cuadruplos): self.processCuad(self.cuadruplos[self.currentCuad[-1]]) if (self.gm.checkWin()): self.gm.warning = label(pos=vector(self.gm.player.pos.x, self.gm.player.pos.y + 0.8, self.gm.player.pos.z), text='You won!') else: self.gm.warning = label(pos=vector(self.gm.player.pos.x, self.gm.player.pos.y + 0.8, self.gm.player.pos.z), text='Try again!') print("Finished!")
def on_gameStarted(data): ''' This is the event the server listens to for starting the game. It creates a new GameManager object, and then tells the front end that who the prompter for the games is. @param data - dict with the id of the player sending the mssage and the game room they are in @return - emits the prompter id in a message "enter_game" giving the front end room permission to start the game. ''' room = data['room'] id = data['id'] #Add a new GameManager to the current room. if game_rooms[room]['game'] is None: game_rooms[room]['game'] = GameManager.GameManager( game_rooms[room]['host'], game_rooms[room]['clients']) prompter_id = game_rooms[room]['host'] Message = {"prompter": prompter_id} emit("enter_game", Message, room=room)
def test_time_manager(self): old = GameManager() node1 = BaseMapNode(old, "n1", 20, 20) node2 = BaseMapNode(old, "n2", 30, 40) node3 = BaseMapNode(old, "n3", 0, 40) old.map_manager.node_list = [node1, node2, node3] route1 = BaseRoute(old, 'route1', node1, node2) route2 = BaseRoute(old, 'route2', node1, node3) old.map_manager.route_list = [route1, route2] old.map_manager.update_node_routes() police = Police(old, "penguin") old.actor_manager.npc_list.append(police) police.move_location(node1) police.move(node2) self.assertEqual(police.current_location.name, "n1") old.time_manager.run_time(25) self.assertEqual(police.current_location.name, "n2")
def main(): print() print() print(' ***************************') print(' *** Welcome To Wagerer! ***') print() print('Please add a few players, then play a game.') game = GameManager() action = 'X' while action != 'Q': print() print('What would you like to do:') print('A : Add a Player') print('P : Play A Game') print('C : Check Player Balances') print('D : Deposit Into An Account') print('Q : Quit') action = input('Enter Your Choice: ') action = action.upper() if action == 'A': name = input('Enter the player name: ') player_name = game.create_player(name) if action == 'C': game.check_accounts() if action == 'D': name = input('Please enter the player name: ') print() game.deposit(name, 20) if action == 'P': game.bet() print() print(' ** Thanks for Playing Wagerer **') print(' *********** Goodbye ************') print()
def main(): # Create window at center os.environ['SDL_VIDEO_CENTERED'] = '1' # Initialize Pygame and set up the window pygame.init() size = [SCREEN_WIDTH, SCREEN_HEIGHT] screen = pygame.display.set_mode(size) pygame.mouse.set_visible(False) # Read resource ResourceManager.read_resources(RM_path) # Create an instance of the Game class game = GameManager() game.change_state(Scene()) done = False clock = pygame.time.Clock() # Main game loop while not done: pygame.display.set_caption("Troll Shooting - FPS : " + str(round(clock.get_fps(), 1))) # Process events (keystrokes, mouse clicks, etc) done = game.process_events() # Update object positions, check for collisions game.update() # Draw the current frame game.draw(screen) # Pause for the next frame clock.tick(60) # Close window and exit pygame.quit()
def OnNewGame(): clearscreen() gboard = GameBoard(BOARDSIZE_X, BOARDSIZE_Y) screen = MainScreen(root, gboard, GRIDSIZE, BUFFER) if MODE == "SINGLE": print("SINGLE") ai = AlphaBeta.AlphaBeta(gboard, "white", DIFFICULTY, SEARCHRANGE) screen.InfoBox.config(state=tkinter.NORMAL) screen.InfoBox.insert(tkinter.END, "인공지능 설정(AlphaBeta): 프로세스 1개 사영\n") screen.InfoBox.config(state=tkinter.DISABLED) elif MODE == "MULTIPROCESS": print("MULTIPROCESS") screen.InfoBox.config(state=tkinter.NORMAL) screen.InfoBox.insert( tkinter.END, "인공지능 설정(AlphaBetaMultiProcess): 다중 프로세스 사용(프로세스 %d개), 전환 범위: %d수\n" % (MAXPROCESSES, MULTIPROCESS_CUTOFF)) screen.InfoBox.config(state=tkinter.DISABLED) ai = AlphaBetaParallel.AlphaBeta(gboard, "white", DIFFICULTY, SEARCHRANGE) result = ai.InitiateProcess() processes, pids = [result[0]], [result[1]] screen.InfoBox.config(state=tkinter.NORMAL) screen.InfoBox.insert(tkinter.END, "%s PID %s\n" % (processes, pids)) screen.InfoBox.config(state=tkinter.DISABLED) mgr = GameManager.GameManager(root, ai, AICore.ThreatSpaceSearch(gboard, "white"), screen.GomokuBoard, screen.InfoBox, screen.progressbar, pids) root.protocol("WM_DELETE_WINDOW", mgr.End) add_menu(lambda: newgame_handler(mgr._EndProcess)) ai.ReportHook = mgr.Writetotext screen.GomokuBoard.GameManager = mgr mgr.start()
#coding: utf-8 import signal import sys import ssl from SimpleWebSocketServer import WebSocket, SimpleWebSocketServer, SimpleSSLWebSocketServer from optparse import OptionParser import json import GameManager free_ids = list(range(1, 100)) clients = [] gm = GameManager.GameManager() def encode(data) : return json.dumps(data) def decode(mess) : return json.loads(mess) class MyClient(WebSocket) : def handleMessage(self) : print("Message reçu : ", self.data) data = decode(self.data) if data["step"] == "connexion" : self.name = data["pseudo"] else : gm.treat_request(self, data) def handleConnected(self) :
def main(screen, active, boardSize, player_default, txt): # Setup board scaling and shifting setup = base_setup(0, 0, 0, 0) if (boardSize == 8): setup.set_scale(85) setup.set_x(86) setup.set_y(44) setup.set_status(343) if (boardSize == 10): setup.set_scale(70) setup.set_x(81) setup.set_y(34) setup.set_status(350) if (boardSize == 16): setup.set_scale(45) setup.set_x(95) setup.set_y(24) setup.set_status(363) GM = GameManager.GameManager(boardSize, active, int(txt), player_default) FONT = pygame.font.Font(None, 32) # Variable running = True active_click_box = False terminalState = False possible_moves = [] time_start = time.time() turn = 1 # Game loop while running: screen.fill((53, 50, 50)) evenodd = 0 # Setup status board game_status = pygame.image.load( os.path.join(os.path.dirname(os.getcwd()), "img", "collection", "game_status.png")) game_status_pos = Rect(screen.get_width() / 2 + 350, screen.get_height() / 2 - setup.get_status(), 150, 140) screen.blit(game_status, game_status_pos) # player turn green_turn = pygame.image.load( os.path.join(os.path.dirname(os.getcwd()), "img", "collection", "green_pawn.png")) green_turn = pygame.transform.scale(green_turn, (30, 30)) red_turn = pygame.image.load( os.path.join(os.path.dirname(os.getcwd()), "img", "collection", "red_pawn.png")) red_turn = pygame.transform.scale(red_turn, (30, 30)) turn_pos = Rect(screen.get_width() / 2 + 400, screen.get_height() / 2 - setup.get_status() + 40, 30, 30) if GM.currentPlayer.noPlayer == 1: screen.blit(green_turn, turn_pos) else: screen.blit(red_turn, turn_pos) # Draw board to screen for i in range(1, boardSize + 1): for j in range(1, boardSize + 1): if evenodd % 2 == 0: if (GM.board.cell[i - 1][j - 1].region == 0): pygame.draw.rect(screen, (255, 248, 220), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) elif (GM.board.cell[i - 1][j - 1].region == 1): pygame.draw.rect(screen, (152, 251, 152), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) elif (GM.board.cell[i - 1][j - 1].region == 2): pygame.draw.rect(screen, (240, 128, 128), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) else: if (GM.board.cell[i - 1][j - 1].region == 0): pygame.draw.rect(screen, (222, 184, 135), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) elif (GM.board.cell[i - 1][j - 1].region == 1): pygame.draw.rect(screen, (60, 179, 113), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) elif (GM.board.cell[i - 1][j - 1].region == 2): pygame.draw.rect(screen, (220, 20, 60), [ setup.get_scale() * j + setup.get_x(), setup.get_scale() * i - setup.get_y(), setup.get_scale(), setup.get_scale() ]) evenodd += 1 evenodd -= 1 # Getter mouse coordinates -> Tuple X, Y mouse = pygame.mouse.get_pos() update_board(screen, setup, GM) if active_click_box: active_block_move(screen, possible_moves, setup) # Ketika currentPlayer adalah bukan giliran manusia, melainkan giliran BOT if (GM.currentPlayer.noPlayer != player_default): # Mode permainan adalah Player vs BOT Minimax if (active == 1): update_board(screen, setup, GM) pygame.display.update() terminalState = GM.minimaxMove() update_board(screen, setup, GM) pygame.display.update() if terminalState == True: print("Player " + str(GM.currentPlayer.noPlayer) + " Minimax win the game!") print(GM.totalTime) win_pos = Rect(screen.get_width() / 2 - 150, screen.get_height() / 2 - 90, 300, 180) winMessage(screen, GM.currentPlayer.noPlayer) running = False else: GM.nextTurn() turn += 1 # Mode permainan adalah Player vs BOT Minimax Local Search elif (active == 2): update_board(screen, setup, GM) pygame.display.update() terminalState = GM.minimaxLocalSearchMove() update_board(screen, setup, GM) pygame.display.update() if terminalState == True: print("Player " + str(GM.currentPlayer.noPlayer) + " Minimax Local Search win the game!") print(GM.totalTime) win_pos = Rect(screen.get_width() / 2 - 150, screen.get_height() / 2 - 90, 300, 180) winMessage(screen, GM.currentPlayer.noPlayer) running = False else: GM.nextTurn() turn += 1 # Ketika mode permainan adalah BOT Minimax vs BOT Minimax Local Search if (active == 3): if (GM.currentPlayer.noPlayer == 1): update_board(screen, setup, GM) pygame.display.update() terminalState = GM.minimaxMove() update_board(screen, setup, GM) pygame.display.update() if terminalState == True: print("Player " + str(GM.currentPlayer.noPlayer) + " Minimax win the game!") print(GM.totalTime) win_pos = Rect(screen.get_width() / 2 - 150, screen.get_height() / 2 - 90, 300, 180) winMessage(screen, GM.currentPlayer.noPlayer) running = False else: GM.nextTurn() turn += 1 else: update_board(screen, setup, GM) pygame.display.update() terminalState = GM.minimaxLocalSearchMove() update_board(screen, setup, GM) pygame.display.update() if terminalState == True: print("Player " + str(GM.currentPlayer.noPlayer) + " Minimax Local Search win the game!") print(GM.totalTime) win_pos = Rect(screen.get_width() / 2 - 150, screen.get_height() / 2 - 90, 300, 180) winMessage(screen, GM.currentPlayer.noPlayer) running = False else: GM.nextTurn() turn += 1 # Time time_run = math.floor(time.time() - time_start) time_def = str(int(txt) - time_run) time_to_gui = FONT.render(time_def, True, Color(0, 0, 0)) time_pos = Rect(screen.get_width() / 2 + 400, screen.get_height() / 2 - setup.get_status() + 80, 30, 30) screen.blit(time_to_gui, time_pos) # Counting turn c_turn = FONT.render(str(turn), True, Color(0, 0, 0)) c_turn_pos = Rect(screen.get_width() / 2 + 400, screen.get_height() / 2 - setup.get_status() + 115, 30, 30) screen.blit(c_turn, c_turn_pos) # Event for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == K_ESCAPE: running = False if event.type == MOUSEBUTTONDOWN: if (setup.get_scale() + setup.get_x() <= mouse[0] <= setup.get_scale() * (boardSize + 1) + setup.get_x() and setup.get_scale() - setup.get_y() <= mouse[1] <= setup.get_scale() * (boardSize + 1) - setup.get_y()): # if(coordinate_to_point(mouse[0], mouse[1], setup)): print(coordinate_to_point(mouse[0], mouse[1], setup)) # Pass ID ke BackEnd x, y = coordinate_to_point(mouse[0], mouse[1], setup) clickedPosition = GameManager.Posisi.Posisi(x - 1, y - 1) if (GM.isValidClick(clickedPosition)): if possible_moves: possible_moves = [] possible_moves, clickedID = GM.clickedPositionToMoves( clickedPosition) active_click_box = True if active_click_box and clickedPosition in possible_moves: active_click_box = False terminalState = GM.executeTheClickedMove( clickedID, clickedPosition) update_board(screen, setup, GM) pygame.display.update() if terminalState == True: print("Player " + str(GM.currentPlayer.noPlayer) + " win the game!") print(GM.totalTime) win_pos = Rect(screen.get_width() / 2 - 150, screen.get_height() / 2 - 90, 300, 180) winMessage(screen, GM.currentPlayer.noPlayer) running = False time_start = time.time() GM.nextTurn() # Update pygame.display.update()
from GameManager import * if __name__ == '__main__': game = GameManager() game.play()
import tkinter as tk import GameManager as gm t = tk.Tk() t.geometry("500x500") gameFrame = tk.Frame(t) gameFrame.pack() gameManager = gm.GameManager() gameManager.StartGame(gameFrame) gameManager.ButtonPressed(1, 0) t.mainloop()
from Ball import * from Car import* from Doll import * from GameManager import * from Hoop import * manager = GameManager() car = Car(Size.small, Age.schooler, True) doll = Doll(Size.medium, Age.preschooler, Sex.female) ball = Ball(Size.small, Age.preschooler, False) hoop = Hoop(Size.big, Age.baby, 228) manager.toys = [car, doll, ball, hoop] manager.sort_by_age() manager.print_list() manager.toys = manager.find_by_group(Size.small, None, None) manager.print_list()
import random if len(sys.argv) < 3: print("Usage:", sys.argv[0], "<game_path> <port> [<SWRSToys.ini>]") client = sys.argv[1] port = int(sys.argv[2]) ini = None if len(sys.argv) == 3 else sys.argv[3] # ReactAI.ReactAI(0) player1Ai = BaseAI.BaseAI(20, 0) player2Ai = BaseAI.BaseAI(20, 1) player1 = player1Ai.get_prefered_character() player2 = player2Ai.get_prefered_character() game = GameManager.GameManager(client, port, (player1Ai, player2Ai), tps=60, ini_path=ini, has_sound=(50, 50), has_display=True) print("Done") while True: left, right, speed = [int(i) for i in input().split(" ")] game.game_instance.set_game_speed(speed) game.left_ai = BaseAI.BaseAI(left, 0) game.right_ai = BaseAI.BaseAI(right, 1) player1 = game.left_ai.get_prefered_character() player2 = game.right_ai.get_prefered_character() print(game.run(player1, player2, stage=0, music=0, input_delay=0))
def rotate(board): return [list(row) for row in zip(*board[::-1])] def flip(board): return board[::-1] board, lowest_value, lowest_board = self.board, int( "2" * len(self.board) * len(self.board[0])), self.board for _ in range(2): for _ in range(4): board_value = value(board) if board_value <= lowest_value: lowest_board, lowest_value = board, board_value board = rotate(board) board = flip(board) return lowest_board def moveFromInput(self, prompt): print(prompt) return tuple(int(x.strip()) for x in input().split(',')) if __name__ == '__main__': game = TTT(size=3) solver = Solver.Solver(name='TTT3AndRemotenessOptimized.csv', read=False, mp=False) gameManager = GameManager(game, solver) solver.writeMemory('TTT3AndRemotenessOptimized.csv') gameManager.play()
def restartButton_onMouseAction(x, y, action): ReGameScene.enter() self.__init__(self.image, self.scene, 0.9, self.game_manager) self.user_run_Timer.stop() newmanager = GameManager.GameManager(ReGameScene)
def main(): gameManager = GameManager.GameManager() gameManager.launchGame() gameManager.launchMenu()
def run(self): self.container.append(GameManager.GameManager(*self.args))
sys.exit() global load_file, save_file, difficuly load_file = "" save_file = DEFAULT_SAVE_FILE difficuly = DEFUALT_DIFFICULTY for i in range(1, len(args) - 1, 2): if args[i] == "-h": print(help_message) elif args[i] == "-i": load_file = args[i + 1] elif args[i] == "-o": save_file = args[i + 1] elif args[i] == "-d": difficuly = args[i + 1] else: print(help_message) #try: process_args(sys.argv) print("Welcome to the game.") game = GameManager.GameManager(load_file, save_file, difficuly) game.play() #except: #print(help_message)
import sys, pygame from pygame.locals import QUIT import GameManager, Engine, MainMenu WINDOW_WIDTH = 1080 WINDOW_HEIGHT = 640 WINDOW_SIZE = (WINDOW_WIDTH, WINDOW_HEIGHT) WHITE = (255, 255, 255) GRAY = (128, 128, 128) BLACK = (0, 0, 0) MAIN_MENU = MainMenu.MainMenu(WINDOW_SIZE) GAME_MANAGER = GameManager.GameManager(WINDOW_SIZE) ENGINE = Engine.Engine() DRAWABLES = [] MOVABLES = [] ATTACKS = [] SCREEN = pygame.display.set_mode((0, 0)) def initialize_game(): # init game engine and game manager global SCREEN pygame.init() pygame.font.init() pygame.display.set_caption("A game") SCREEN = pygame.display.set_mode(WINDOW_SIZE) show_main_menu()