Exemplo n.º 1
0
 def h_vs_h(self, player_type1, player_type2):
     """
         input : player_type1 and player_type2 are string
         function: Sets the game to play human vs human 
         output: a list with two human players
     """
     players = list()
     P1name = self.view.input_option("Enter " + player_type1 + "'s name: ")
     players.append(Player('1', P1name))
     P2name = self.view.input_option("Enter " + player_type2 + "'s name: ")
     players.append(Player('2', P2name))
     return players
Exemplo n.º 2
0
def test_check_block_posibility_player2_col_2():
    win_checker = Win_Checker()
    connect4 = Connect4('clear')
    board = Board(6, 7)
    board.matrix = [[' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    ['2', ' ', ' ', ' ', ' ', ' ', ' '],
                    ['1', '1', '1', ' ', ' ', '2', ' '],
                    ['1', '1', '2', '2', '2', '1', ' '],
                    ['1', '1', '2', '2', '2', '1', '2']]
    players = [Player('1', "Player1"), Player('2', "Player2")]
    actual = 0  #Player1

    result = win_checker.check(connect4, board, players, actual)
    assert (result == 2)
Exemplo n.º 3
0
def test_check_normal_flow_empty_matrix_no_win_posibility():
    checker = Checker()
    connect4 = Connect4('clear')
    board = Board(6, 7)
    board.matrix = [[' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' '],
                    [' ', ' ', ' ', ' ', ' ', ' ', ' ']]
    players = [Player('1', "Player1"), Player('2', "Player2")]
    actual = 0  #Player1

    result = checker.check(connect4, board, players, actual)
    assert (result == -1)
Exemplo n.º 4
0
def test():
    map = Pyramid()
    player = Player()
    teste = GeoFriend2(map, player)

    run = True
    teste.reset_view()
    while run:
        teste.render()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    teste.player_step(2)
                elif event.key == pygame.K_RIGHT:
                    teste.player_step(3)
                elif event.key == pygame.K_UP:
                    teste.player_step(1)
                elif event.key == pygame.K_DOWN:
                    teste.player_step(0)
                elif event.key == pygame.K_SPACE:
                    print("Space pressed")
                    map = Pyramid()
                    teste = GeoFriend2(map, player)
            # if event.type == pygame.MOUSEBUTTONUP:
            #     print("Mouse event")
            #     pos = pygame.mouse.get_pos()
            #     print(pos)


# test()
Exemplo n.º 5
0
 def __play_music_game(self, widget=False):
     self.__stop_player()
     self._player = Player()
     self._player.load(os.path.join(BASE, "Audio", "musica02.ogg"))
     self._player.play()
     self._player.set_volumen(self._music_vol)
     self._player.connect("endfile", self.__play_music_game)
Exemplo n.º 6
0
def test_add_lose():
    player = Player('1', 'Player')
    player.add_lose()
    player.add_lose()

    losses = player.record[player.LOSSES]
    assert (losses == 2)
Exemplo n.º 7
0
def test_add_win():
    player = Player('1', 'Player')
    player.add_win()
    player.add_win()
    player.add_win()

    wins = player.record[player.WINS]
    assert (wins == 3)
Exemplo n.º 8
0
def getPlayers():  #Gets player number and creates player objects
    numPlayers = int(input('How many players?'))

    playerList = []
    for player in range(numPlayers):
        playerList.append(Player())
        #TODO Get player names

    return playerList
Exemplo n.º 9
0
    def test_print_record(self, mock_stdout):
        player = Player('1', 'Player')
        player.add_win()
        player.add_win()
        player.add_lose()

        player.print_record()

        console = "Player Record: Wins: 2 | Losses: 1 | draws: 0\n"
        assert (mock_stdout.getvalue() == console)
Exemplo n.º 10
0
    def __init__(self):
        self.action_space = Discrete(4)
        self.maps = [Basic(), Pyramid()]  #, HighPlatform()

        low = [80, 80, 65, 65, 0]
        high = [1200, 720, 1215, 735, 1310]

        self.observation_space = Box(low=np.array(low), high=np.array(high))

        self.GeoFriend2 = None

        self.player = Player()
Exemplo n.º 11
0
 def h_vs_c(self, player_type1, player_type2):
     """
         input : player_type1 and player_type2 are string
         function: Sets the game to play human vs computer
         output: a list witha player and an agent 
     """
     players = list()
     P1name = self.view.input_option("Enter " + player_type1 + "'s name: ")
     players.append(Player('1', P1name))
     P2name = self.view.input_option("Enter " + player_type2 + "'s name: ")
     p = self.get_computer_parameters()
     players.append(Agent('2', P2name, p[0], p[1], p[2], p[3]))
     return players
Exemplo n.º 12
0
    def __init__(self):
        # Create the game camera
        self.tileSize = Vector2(40, 40)
        self.screenSize = Vector2(800, 800)
        pygame.font.init()

        self.font_renderer = pygame.font.Font(
            os.path.join("fonts", 'Millennium-Regular_0.ttf'), 24)
        self.window = Window(self.screenSize, "Robot Clergy", self.tileSize,
                             self.font_renderer)
        self.camera = Camera(Vector2(20, 20), self.tileSize, self.screenSize)
        self.mapHolder = MapHolder(["Church"], self.tileSize,
                                   self.window.tileLoader)

        # Timing and delta time stuff
        self.clock = pygame.time.Clock()
        self.deltaTime = 0

        self.taskList = TaskList()
        self.timedEventHandler = TimedEvents()

        for i in range(0, 100):
            randomNode = self.mapHolder.loadedMap.getRandomEmptyNode()
            task = Task(randomNode.pos, self.taskListEventCallback, 200, 1,
                        eSkills.CONVINCING)
            randomNode.addUserAction(UserAction("Go Here", task))

        # Init the player class
        playerImage = self.window.tileLoader.getImageByName("player", 0, 0)
        self.player = Player(playerImage, self.screenSize, self.taskList,
                             self.tileSize)

        self.humanSpawner = HumanFactory(
            self.mapHolder.getCurrentMap().gridSize, self.window.tileLoader,
            self.tileSize)
        self.humans = []
        self.timedEventHandler.addTimedEvent(1000,
                                             self.peopleStartComingForService)
        self.nmbrOfCreatures = 4
        self.AICreatures = [
            ClergyRobot(i,
                        random() * 8 * self.tileSize.y,
                        random() * 8 * self.tileSize.y, self.window.tileLoader,
                        self.tileSize, self.taskList)
            for i in range(self.nmbrOfCreatures)
        ]
        self.movingCreaturesGroup = pygame.sprite.Group()
        self.movingCreaturesGroup.add(self.humans)
        self.movingCreaturesGroup.add(self.AICreatures)

        self.timedEventHandler.addTimedEvent(10000, self.addToTimedEvent)
Exemplo n.º 13
0
    def __init__ui(self):
        self.resize(SCREEN_WIDTH, SCREEN_HEIGHT)
        self.setStyleSheet("background-color: black;")
        self.deus_machine = {}
        self.shields = []
        self.enemies = []
        self.lives = []
        self.players = []
        self.player_bullets = []
        self.enemy_bullets = {}
        self.scores = []
        self.level = Level(self)

        for i in range(self.players_count):
            self.players.append(Player(self, i + 1, self.players_count))
            self.scores.append(Score(self, i + 1))
            self.player_bullets.append([])
            self.lives.append([])

        self.start_game()
Exemplo n.º 14
0
def test_get_Player_1_name():
    player1 = Player('1', 'Player1')
    name = player1.name
    assert (name == 'Player1')
Exemplo n.º 15
0
def test_add_draw():
    player = Player('1', 'Player')
    player.add_draw()

    draws = player.record[player.DRAWS]
    assert (draws == 1)
Exemplo n.º 16
0
import sys
import signal
from parse import parse_arguments
from Player.Player import Player
from Player.Receiver import Receiver
from Player.protocol.protocol import get_socket


receiver = None


def signal_handler(sig, frame):
    receiver.__del__()
    print("force exit", file=sys.stderr)
    exit(84)


if __name__ == '__main__':
    args = parse_arguments()
    if args.name is None or args.port is None:
        sys.exit(84)
    signal.signal(signal.SIGINT, signal_handler)
    sock = get_socket(args.port, args.host)
    receiver = Receiver(sock)
    player = Player(receiver, args.name)
    player.update()
    receiver.set_receiving(False)
Exemplo n.º 17
0
def test_get_Player_2_character():
    player2 = Player('2', 'Player2')
    character = player2.character
    assert (character == '2')
Exemplo n.º 18
0
def test_get_Player_2_name():
    player2 = Player('2', 'Player2')
    name = player2.name
    assert (name == 'Player2')
Exemplo n.º 19
0
def test_create_Player_1():
    Player('1', 'Player1')
Exemplo n.º 20
0
 def handle_events(self, events):
     temp = (pg.time.get_ticks() // 400) % 2 == 0
     if temp != self.show_cursor:
         self.show_cursor = temp
         self.draw_text()
     for e in events:
         # Any mouse action
         if e.type == MOUSEBUTTONUP:
             pos = pg.mouse.get_pos()
             pos = [
                 pos[0] - self.rects["Main"].x,
                 pos[1] - self.rects["Main"].y
             ]
             # If it happened in this rect
             if self.rects["Scroll"].collidepoint(*pos):
                 # Scroll up
                 if e.button == BUTTON_WHEELUP:
                     self.scroll = max(0, self.scroll - SCROLL_AMNT)
                 # Scroll down
                 elif e.button == BUTTON_WHEELDOWN:
                     self.scroll = min(self.max_scroll,
                                       self.scroll + SCROLL_AMNT)
                 elif e.button == BUTTON_LEFT:
                     pos = [
                         pos[0] - self.rects["Scroll"].x,
                         pos[1] - self.rects["Scroll"].y
                     ]
                     idx = (pos[1] - self.scroll) // ITEM_H
                     if idx < len(
                             self.files) and pos[0] >= ITEM_W - BUTTON_W:
                         # Top button is play button
                         if (pos[1] - self.scroll) % ITEM_H < BUTTON_W:
                             if self.mode == PLAYER:
                                 from Player.Player import Player
                                 game_vars.player = Player(
                                     c.PlayerFile(name=self.files[idx]))
                                 game_vars.player.load()
                                 self.mode = UNIVERSE
                                 self.file = c.UniverseFolder()
                                 self.load_files()
                             else:
                                 return WorldSelector(self.files[idx]).run()
                         # Bottom button is delete button
                         else:
                             if YesNo("Delete " +
                                      add_spaces(self.files[idx]) + "?",
                                      redraw_back=self.draw()).run_now():
                                 if self.mode == PLAYER:
                                     remove(self.file.path +
                                            self.files[idx] +
                                            self.file.extension)
                                 elif self.mode == UNIVERSE:
                                     rmtree(self.file.path +
                                            self.files[idx] +
                                            self.file.extension)
                                 self.load_files()
             elif self.rects["New"].collidepoint(*pos) and self.file.valid:
                 pos = [
                     pos[0] - self.rects["New"].x,
                     pos[1] - self.rects["New"].y
                 ]
                 if self.rects["Create"].collidepoint(*pos):
                     self.create_new()
         # Key press
         elif e.type == KEYDOWN:
             if e.key == K_RETURN:
                 self.create_new()
             else:
                 self.file.type_char(e)
             self.draw_text()
Exemplo n.º 21
0
    model = Model(inputs=input, outputs=output)
    print(model.summary())

    memory = SequentialMemory(limit=50000, window_length=1)
    policy = LinearAnnealedPolicy(EpsGreedyQPolicy(),
                                  attr='eps',
                                  value_max=1.,
                                  value_min=.1,
                                  value_test=.05,
                                  nb_steps=10000)
    # policy = BoltzmannQPolicy()
    dqn = DQNAgent(model=model,
                   nb_actions=num_actions,
                   memory=memory,
                   nb_steps_warmup=100,
                   target_model_update=1e-2,
                   policy=policy)
    dqn.compile(Adam(lr=1e-3), metrics=['mae'])

    return dqn


maps = [Basic()]
player = Player()
env = gym.make("geofriend2-v0", maps=[Basic()], player=player)
dqn = build_model(env, env.action_space.n)

# dqn.load_weights("saved-weights/1.264.h5f")

dqn.test(env, nb_episodes=10, visualize=True, verbose=0)
Exemplo n.º 22
0
    def test_request_column_exception(self):
        connect4 = Connect4("clear")
        players = [Player('1', "Player1"), Player('2', "Player2")]
        actual = 0  #Player1

        self.request_column_assert('a', -2, connect4, players, actual)
Exemplo n.º 23
0
def test_get_Player_1_character():
    player1 = Player('1', 'Player1')
    character = player1.character
    assert (character == '1')
Exemplo n.º 24
0
def test_create_Player_2():
    Player('2', 'Player2')
Exemplo n.º 25
0
def register_player(name, chips):
    return Player(name, chips)