Ejemplo n.º 1
0
def main():
    # GAME 1
    # Create strategies
    strategy_A = StaticStrategy('The Destroyer', [51, 47, 2], shuffle=False)
    strategy_B = StaticStrategy('The Shuffling Destroyer', [51, 47, 2],
                                shuffle=True)
    strategy_C = CounterStrategy('The Counter')

    # Run games
    gm = GameManager(strategy_A,
                     strategy_C,
                     num_fields=3,
                     num_runs=100,
                     total_score=True)
    gm.run()
    gm.plot_results()
    gm.declare_winner()

    # Run games
    gm = GameManager(strategy_B,
                     strategy_C,
                     num_fields=3,
                     num_runs=100,
                     total_score=True)
    gm.run()
    gm.plot_results()
    gm.declare_winner()
Ejemplo n.º 2
0
def main():
    # GAME 1
    # Create strategies
    strategy_A = StaticStrategy('The Great Destroyer', [33, 33, 34],
                                shuffle=True)
    strategy_B = StaticStrategy('The Even More Destroyer', [51, 47, 2])

    # Set up game
    gm = GameManager(strategy_A,
                     strategy_B,
                     num_fields=3,
                     num_runs=100,
                     total_score=True)
    gm.run()
    gm.plot_results()
    gm.declare_winner()

    # GAME 2
    # Create strategies
    strategy_A = StaticStrategy('The Great Destroyer 2', [33, 33, 34],
                                shuffle=True)
    strategy_B = StaticStrategy('The Even More Destroyer 2', [51, 47, 2])

    # Set up game
    gm = GameManager(strategy_A,
                     strategy_B,
                     num_fields=3,
                     num_runs=100,
                     total_score=False)
    gm.run()
    gm.plot_results()
    gm.declare_winner()
 def __init__(self):
     self.IMAGE_HEIGHT = 30
     self.IMAGE_WIDTH = 30
     BOARD_SIZE = 100
     BOARD_SIGMA = 10
     self.channels = 3
     self.game_list = []
     output_size = 30
     self.model = Model(self.IMAGE_HEIGHT, self.IMAGE_WIDTH, self.channels,
                        "Fred", output_size)
     self.init_model = Model(self.IMAGE_HEIGHT, self.IMAGE_WIDTH,
                             self.channels, "Terry", output_size)
     self.saved_batches = []
     self.MAX_SAVED_BATCH_SIZE = 100
     self.saved_batch_index = 1
     self.need_reset = False
     self.saved_batches_in_use = True
     np.random.seed(33127436)
     expansion_levels = (15, 18, 30)
     self.expanders = []
     for expansion_index in range(len(expansion_levels)):
         if 0 == expansion_index:
             self.expanders.append(
                 np.random.random_sample(
                     (expansion_levels[expansion_index], 11)))
         else:
             self.expanders.append(
                 np.random.random_sample(
                     (expansion_levels[expansion_index],
                      expansion_levels[expansion_index - 1])))
     np.random.seed()
     self.compressors = []
     for expander in self.expanders[::-1]:
         self.compressors.append(np.linalg.pinv(expander))
     self.game = GameManager(BOARD_SIZE, BOARD_SIGMA)
Ejemplo n.º 4
0
def managerMaker(jsonStuff):
    names = jsonStuff[0]
    floor = jsonStuff[1]
    natural = jsonStuff[2]
    ptList = jsonStuff[3]
    actorMoveLL = moves_parser(jsonStuff[4])
    levelMade = floorMaker(floor)
    testState = GameState([levelMade])
    manager = GameManager(testState)
    users = []
    index = 0
    for name in names:
        newUser = LocalPlayer(name, "player", index)
        newUser.set_moves(actorMoveLL[index])
        manager.register_player_user(newUser)
        testState.move_player_via_id(index, translate_to_xy(ptList[index]))
        newUser.set_moves(actorMoveLL[index])
        users.append(newUser)
        index = index + 1
    while index < len(ptList):
        adverse = Adversary(3, index, name_list[index],
                            monster_types[index - 2], 3)
        manager.add_adversary(adverse)
        testState.move_character(adverse, translate_to_xy(ptList[index]))
        index = index + 1
    return (manager, natural, users)
Ejemplo n.º 5
0
    def test_lobby_password(self):
        game_manager = GameManager()
        game_manager.create_lobby("TEST", password="******")

        lobbies = game_manager.get_lobbies_list()

        self.assertTrue(lobbies[0]["hasPassword"])
Ejemplo n.º 6
0
 def test_GameManagerInputs(self):
     """
     Tests GameManager input data prompter and respondents and GET abilities of those props
     """
     gameManager = GameManager("Jonathan", ["Omar", "Joey", "Salekh"])
     self.assertEqual((str==type(gameManager.get_prompter()[0])), True)
     self.assertEqual((list==type(gameManager.get_respondents())), True)
    def __init__(self, discrete=True):
        global locker
        global global_port
        locker.acquire(True)
        this_port = global_port
        global_port += 1
        locker.release()

        #self.client = AirSimClient(port=this_port)
        #self.client.confirmConnection()
        #self.client.enableApiControl(True)
        #self.client.armDisarm(True)

        self.log_file = open('logs.txt', 'w')
        self.acc_file = open('accs.txt', 'w')

        self.episodes = 0
        self.fps = 60
        self.max_iter = 15 * self.fps

        self.t = np.matrix([10.0, 0.0, 0.0])
        self.o = np.matrix([0.0, 0.0, 0.0])
        self.c = np.matrix([0.0, 0.0, 0.0])
        self.v = np.matrix([0.0, 0.0, 0.0])
        self.v_t = np.matrix([0.0, 0.0, 0.0])
        self.r = np.matrix([0.0, 0.0, 0.0])
        self.queue_len = 4
        self.coord_queue = None
        self.width = 256
        self.height = 144
        self.image = None
        self.iteration = 0

        #self._render()
        self.current_state = self._get_obs()
        self.reset()

        self.viewer = None
        self.discrete = discrete
        if self.discrete:
            self.action_space = spaces.Discrete(27)
            self.observation_space = spaces.Box(
                low=np.zeros(self.current_state.shape),
                high=np.zeros(self.current_state.shape) + 1)
        else:
            self.action_space = spaces.Box(-1, 1, shape=(4, ))
            self.observation_space = spaces.Box(
                low=np.zeros(self.current_state.shape),
                high=np.zeros(self.current_state.shape) + 1)
        self.current_state = None

        self.nb_frames = Config.STACKED_FRAMES
        self.frame_q = Queue(maxsize=self.nb_frames)
        self.previous_state = None
        self.current_state = None
        self.total_reward = 0
        self.game = GameManager('AirSim',
                                display=Config.PLAY_MODE,
                                custom_env=self)
        self._seed()
Ejemplo n.º 8
0
    def test_start_game(self):
        g = GameManager()
        room = 'ASDFGHJ'
        g.locks[room] = Lock()
        socket = 'socket'
        timer = '1'
        username = '******'
        g.socket_to_room[socket] = room
        g.socket_to_username[socket] = username

        reason = 'AAAAAAA does not exist'
        expected = [(socket, {
            'type': 'Started',
            'room_name': 'AAAAAAA',
            'status': 'failed',
            'reason': reason,
            'spy': False,
            'list_of_words': None,
            'specific_word': None
        })]
        self.assertEquals(g.start_game(['AAAAAAA', '1'], socket), expected)

        g.rooms['AAAAAAA'] = []
        reason = 'User is not a part of the game'
        expected = [(socket, {
            'type': 'Started',
            'room_name': 'AAAAAAA',
            'status': 'failed',
            'reason': reason,
            'spy': False,
            'list_of_words': None,
            'specific_word': None
        })]
        self.assertEquals(g.start_game(['AAAAAAA', '1'], socket), expected)

        g.rooms[room] = [(False, None, 'user1'), (False, socket, username)]
        reason = room + ' has less than ' + str(
            g.min_people_to_start_game) + ' people. You need at least ' + str(
                g.min_people_to_start_game) + ' to start a game'
        expected = [(socket, {
            'type': 'Started',
            'room_name': room,
            'status': 'failed',
            'reason': reason,
            'spy': False,
            'list_of_words': None,
            'specific_word': None
        })]
        self.assertEquals(g.start_game([room, '1'], socket), expected)

        self.assertEquals(room in g.games_in_progress, False)

        data = [room, timer]
        g.rooms[room].append((False, None, 'user3'))
        g.start_game(data, socket)
        words, selected_word = g.words_for_room[room]
        self.assertEquals(len(words), g.num_words_in_game)
        self.assertEquals(selected_word in words, True)
        self.assertEquals(room in g.games_in_progress, True)
 def setUp(self, mock_gm_app):
     self.auto_clicker_1 = AutoClickers('Factory', 5.0, 15.0, 0)
     self.auto_clicker_2 = AutoClickers('Farm', 10.0, 50.0, 3)
     self.auto_clicker_3 = AutoClickers('House', 20.0, 100.0, 5)
     self.game_manager = GameManager(auto_clickers=[
         self.auto_clicker_1, self.auto_clicker_2, self.auto_clicker_3
     ])
     self.game_manager.app = mock_gm_app
Ejemplo n.º 10
0
    def test_lobby_password_encrypted(self):
        game_manager = GameManager()
        lobby_key = game_manager.create_lobby("TEST", password="******")

        lobby: Lobby = game_manager.get_lobby(lobby_key)

        self.assertNotEqual(lobby.password_encrypted, "test")
        self.assertTrue(lobby.check_password_correct("test"))
Ejemplo n.º 11
0
 def __init__(self):
     self.game = GameManager(Config.DATA_FRAME, display=Config.PLAY_MODE)
     # self.nb_frames = Config.STACKED_FRAMES
     # self.frame_q = Queue(maxsize=self.nb_frames)
     self.previous_state = None
     self.current_state = None
     self.total_reward = 0
     self.reset()
Ejemplo n.º 12
0
def Run(isDebugging=False):

    if isDebugging == False:

        device = Device("127.0.0.1:62001")
        device.Connect()
        profile = Profile("GaChien")
        profile.Load()
        gameManager = GameManager(device, profile)
        screenManager = ScreenManager()

        while True:
            screenshot = device.CaptureScreen()
            if screenshot.image is None:
                print("Can not capture screenshot. Retry...")
                time.sleep(5)
                continue

            screen = screenManager.GetScreen(screenshot)
            screen.ShowName()

            gameManager.SetScreen(screen)
            gameManager.Play()

            print("")
            time.sleep(5)

    else:

        device = Device(None)
        device.Connect()
        profile = Profile("GaChien")
        profile.Load()
        gameManager = GameManager(device, profile)
        screenManager = ScreenManager()

        print("Debugging...")
        filePath = os.path.abspath("PendingScreens/Screenshot.png")
        screenshot = ScreenShot(filePath)

        screen = screenManager.GetScreen(screenshot)
        screen.ShowName()

        gameManager.SetScreen(screen)
        gameManager.Play()
Ejemplo n.º 13
0
def main():
    args = parse_arguments()
    if args.Terminal:
        game = GameManager()
        game.start()
    else:
        game = Gui()
        game.start()
        game.stop()
Ejemplo n.º 14
0
    def __init__(self):
        self.game = GameManager()
        self.nb_frames = Config.STACKED_FRAMES
        self.frame_q = Queue(maxsize=self.nb_frames)
        self.previous_state = None
        self.current_state = None
        self.total_reward = 0

        self.reset()
Ejemplo n.º 15
0
    def test_lobby_create(self):
        game_manager = GameManager()
        lobby_key = game_manager.create_lobby("TEST")

        lobbies = game_manager.get_lobbies_list()

        self.assertTrue(len(lobbies) == 1)
        self.assertEqual(lobbies[0]["key"], lobby_key)
        self.assertEqual(lobbies[0]["name"], "TEST")
Ejemplo n.º 16
0
    def test_lobby_random_salt(self):
        game_manager = GameManager()
        all_keys = []

        for i in range(10):
            lobby_key = game_manager.create_lobby("TEST{}".format(i))
            all_keys.append(lobby_key)

        # remove duplicates with set, it should be equal
        removed_duplicates = list(set(all_keys))
        self.assertEqual(sorted(all_keys), sorted(removed_duplicates))
Ejemplo n.º 17
0
    def test_gamemanager_query_get(self):
        gameManager = GameManager("Jonathan", ["Omar", "Joey", "Salekh"])
        q = gameManager.get_suggestions("dogfish")
        # Check that the keys() of answers received correspond to the respondents
        del q['Jonathan']
        del q['if_valid']
        self.assertEqual(sorted(q.keys()),sorted(gameManager.get_respondents()))

        # Check to see if suggestions are shuffled:
        p1, p2, p3 = q.keys()
        self.assertEqual( (q[p1] != q[p2] != q[p3]), True)
Ejemplo n.º 18
0
    def test_check_password_correct(self):
        game_manager = GameManager()
        lobby_key = game_manager.create_lobby("TEST", password="******")
        lobby: Lobby = game_manager.get_lobby(lobby_key)

        # password is encrypted
        self.assertNotEqual(lobby.password_encrypted, "test")

        # correct password is working and others are not
        self.assertTrue(lobby.check_password_correct("test"))
        self.assertFalse(lobby.check_password_correct("test1"))
        self.assertFalse(lobby.check_password_correct("1234"))
Ejemplo n.º 19
0
 def testRegisterUsers(self):
     example = [[1 for i in range(10)] for j in range(10)]
     hall = Hallway((14, 5), (20, 5), [])
     zHall = Hallway((14, 14), (20, 10), [(17, 14), (17, 10)])
     room = Room(example, (5, 5))
     room2 = Room(example, (20, 5))
     floor = Floor([room, room2], [hall, zHall])
     game = GameState([floor])
     gm = GameManager(game)
     gm.register_player_user(self.LocalPlayer1)
     gm.register_player_user(self.LocalPlayer2)
     self.assertEqual(2, len(gm.ID_to_user_character))
Ejemplo n.º 20
0
    def test_leave_session(self):
        g = GameManager()
        room_name = 'AAAAAAA'
        g.locks[room_name] = Lock()

        socket = 'socket'
        g.rooms[room_name] = [(False, None, 'user1'), (False, None, 'user2'),
                              (False, None, 'user3')]

        reason = 'User is not a part of any game'
        expected = [(socket, {
            'type': 'Leave_Session',
            'room_name': room_name,
            'status': 'failed',
            'reason': reason,
            'end': False
        })]
        self.assertEquals(g.leave_session(room_name, socket), expected)

        username = '******'
        g.rooms['BBBBBBB'] = [(False, socket, username)]
        g.socket_to_username[socket] = username
        reason = g.socket_to_username[socket] + ' is not a part of the game'
        expected = [(socket, {
            'type': 'Leave_Session',
            'room_name': room_name,
            'status': 'failed',
            'reason': reason,
            'end': False
        })]
        self.assertEquals(g.leave_session(room_name, socket), expected)

        g.rooms['BBBBBBB'] = []
        g.join_room(room_name, username, socket)
        self.assertEquals(len(g.rooms[room_name]), 4)
        self.assertEquals(g.socket_to_room[socket], room_name)
        self.assertEquals(g.socket_to_username[socket], username)

        g.leave_session(room_name, socket)
        self.assertEquals(len(g.rooms[room_name]), 3)
        self.assertEquals(socket in g.socket_to_room, False)
        self.assertEquals(socket in g.socket_to_username, False)

        g.rooms['ASDFQWER'] = [(False, None, 'user1'),
                               (False, socket, 'user2'),
                               (False, None, 'user3')]
        g.socket_to_username[socket] = 'user2'
        g.socket_to_room[socket] = 'ASDFQWER'
        g.locks['ASDFQWER'] = Lock()
        g.games_in_progress.add('ASDFQWER')
        g.leave_session('Room Name Not Given', socket)
        self.assertEquals('ASDFQWER' not in g.games_in_progress, True)
        self.assertEquals(g.username_used('user2', 'ASDFQWER'), False)
Ejemplo n.º 21
0
def game_loop():
    manager = GameManager()

    while manager.game_state != GameState.PAUSED:

        # handle quit
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()

        manager.update()
Ejemplo n.º 22
0
    def test_join_room(self):
        g = GameManager()
        room = 'ASDFGHJ'
        username = '******'
        socket = 'None'
        reason = 'room name does not exist'
        g.locks[room] = Lock()
        self.assertEquals(g.join_room(room, username, socket),
                          [(socket, {
                              'type': 'Joined',
                              'room_name': 'ASDFGHJ',
                              'usernames': [username],
                              'status': 'failed',
                              'reason': reason
                          })])

        g.rooms[room] = [(None, socket, username)]
        reason = 'The username: '******' is already taken'
        self.assertEquals(g.join_room(room, username, socket),
                          [(socket, {
                              'type': 'Joined',
                              'room_name': 'ASDFGHJ',
                              'usernames': [username],
                              'status': 'failed',
                              'reason': reason
                          })])

        g.socket_to_room[socket] = 'OTHERRM'
        g.rooms[room] = [(False, None, 'user1')]
        reason = 'user is already a part of a room'
        self.assertEquals(g.join_room(room, username, socket),
                          [(socket, {
                              'type': 'Joined',
                              'room_name': 'ASDFGHJ',
                              'usernames': [username],
                              'status': 'failed',
                              'reason': reason
                          })])

        del g.socket_to_room[socket]
        expected = [(socket, {
            'type': 'Joined',
            'room_name': 'ASDFGHJ',
            'usernames': [username],
            'status': 'failed',
            'reason': reason
        })]
        g.join_room(room, username, socket)
        self.assertEquals(g.socket_to_room[socket], room)
        self.assertEquals(g.socket_to_username[socket], username)
        self.assertEquals(g.rooms[room], [(False, None, 'user1'),
                                          (False, socket, username)])
Ejemplo n.º 23
0
def main():
    # GAME 1
    # Create strategies
    strategy_A = RandomStrategy('The Great Destroyer', [1/3.0, 1/3.0, 1/3.0], shuffle=True)
    strategy_B = RandomStrategy('The Even More Destroyer', [0.4, 0.4, 0.2])

    # Set up game
    gm = GameManager(strategy_A, strategy_B, num_fields=3, num_runs=1000, total_score=True)
    gm.run()
    gm.plot_results()
    gm.declare_winner()

    # GAME 2
    # Create strategies
    strategy_A = RandomStrategy('The Great Destroyer 2', [0.51, 0.48, 0.01], shuffle=True)
    strategy_B = RandomStrategy('The Even More Destroyer 2', [0.5, 0.5, 0.0], shuffle=True)

    # Set up game
    gm = GameManager(strategy_A, strategy_B, num_fields=3, num_runs=1000, total_score=False)
    gm.run()
    gm.plot_results()
    gm.declare_winner()
Ejemplo n.º 24
0
def main():
    # Add you own strategy here instead of StaticStrategy
    my_strat = StaticStrategy('MyStrat', [25, 25, 25, 25, 0, 0, 0, 0], shuffle=True)

    # Create opponent
    opponent = RandomStrategy('RandomStrategy', style=RandomStyle.UNIFORM)

    # Set up game
    gm = GameManager(my_strat, opponent, num_fields=8, num_runs=1)
    gm.run()
    # Uncomment this if you have matplotlib
    # gm.plot_results()
    gm.declare_winner()
Ejemplo n.º 25
0
def main():
    from Strategies.RandomStrategy import RandomStrategy, RandomStyle
    from GameManager import GameManager

    strategy_a = SnoopDog("Snoop!")
    strategy_b = RandomStrategy("Rando", [0.4, 0.4, 0.2],
                                shuffle=True,
                                style=RandomStyle.NUMBER)

    gm = GameManager(strategy_a, strategy_b, 3, 30, total_score=False)
    gm.run()
    gm.plot_results()
    gm.declare_winner()
Ejemplo n.º 26
0
def test_p1(subject):
    temp = GameManager(prev_player=subject, train=False)
    loss = 0
    wins = 0
    for i in range(10000):
        temp.simulate()

        if temp.check_win() == 2:
            loss += 1
        else:
            wins += 1
        temp.reset()

    return (wins / (wins + loss)) * 100
Ejemplo n.º 27
0
 def changeSceneToSingleplayer(self):
     pygame.mixer.music.stop()
     self.view = QtWidgets.QGraphicsView(self.scene)
     self.view.setSceneRect(90, 90, 1250, 738)
     self.view.setViewportUpdateMode(
         QtWidgets.QGraphicsView.NoViewportUpdate)
     self.view.setInteractive(False)
     self.setCentralWidget(self.view)
     self.gm = GameManager({PlayerType.player1: "Player"})
     self.gm.isTournament = False
     self.levelItem = pli.PlayerLevelInformation(self.gm)
     self.remainingAsteriodsItem = pra.PlayerRemainingAsteroids(self.gm)
     mng.Managers.getInstance().scene.AddItem(self.levelItem)
     mng.Managers.getInstance().scene.AddItem(self.remainingAsteriodsItem)
Ejemplo n.º 28
0
    def __init__(self, display=Config.SHOW_MODE):
        self.game = GameManager(display=display)
        self.previous_state = None
        self.current_state = None
        self.available = None
        self.total_reward = 0
        self.envs_mean = None
        self.envs_std = None
        self.num_steps = 0

        self.state_mean = 0
        self.state_std = 0
        self.alpha = 0.9999
        self.num_steps = 0
 def config(self):
     '''
     :return: The game settings
     '''
     ui = None
     oponent = None
     board = Board(int(self.__settings['width']),
                   int(self.__settings['height']))
     gm = GameManager(board, int(self.__settings['difficulty']))
     if self.__settings['ui'] == Constants.CONSOLE:
         ui = Console(gm)
     if self.__settings['ui'] == Constants.GUI:
         ui = GUI(gm)
     return ui
Ejemplo n.º 30
0
def main():
    # Add you own strategy here instead of StaticStrategy
    camz = CamzBattle('Camz',
                      "/home/cameron/Code/Blotto/data/camz_strategy.json")
    snoop = SnoopDogg('Snoop')

    # Create opponent
    scroggs = Scroggs('Scroggs')

    # Set up game
    gm = GameManager(snoop, scroggs, num_fields=8, num_runs=1000)
    gm.run()
    # Uncomment this if you have matplotlib
    gm.plot_results()
    gm.declare_winner()