コード例 #1
0
    def start(self):
        self.hud = loading.Loading(my.ENGINE.screen)

        self.map = map.Map(self.width, self.height, self.seed)
        self.map.generate()

        self.hud.setStatus('Carregando entidades...', 80)
        spawnX = randint(50, self.width - 50)
        self.player = entities.Player(self, self.playerConfigurations[0],
                                      tank.TankDefault(),
                                      (spawnX, self.map.getMaxHeight(spawnX)))
        self.entities = camera.CameraAwareLayeredUpdates(
            self.player, pygame.Rect(0, 0, self.width, self.height))
        self.entities.add(
            self.map
        )  # Adicionando o mapa em entidades para poder ser scrollado
        for i in range(0, self.enemiesCount):
            x = randint(50, self.width - 50)
            self.entities.add(
                entities.Enemy(self, tank.TankDefault(),
                               (x, self.map.getMaxHeight(x))))

        self.hud.setStatus('Carregando interface...', 99)
        self.hud = hud.Hud(self, my.ENGINE.screen)
        my.ENGINE.interface = self.hud
        self.turncontroller = turn.TurnController(self)
        self.turncontroller.start()

        self.wind = wind.Wind(self)

        self.running = True
コード例 #2
0
    def place_entity_intent(self):
        if self.mouse_in_grid:
            self.object_to_place = None
            position_adjust = (self.current_cell[0] + 0.5,
                               self.current_cell[1] + 0.5)
            if not self.right_click_behaviour:
                if self.verticalButtonIndex == 0:
                    self.object_to_place = entities.Player(position_adjust)
                if self.verticalButtonIndex == 1:
                    self.object_to_place = entities.Monster(position_adjust)

                if self.verticalButtonIndex == 4:
                    self.object_to_place = entities.Collectible(
                        position_adjust)
                if self.verticalButtonIndex == 5:
                    self.object_to_place = entities.Key(position_adjust)
                if self.verticalButtonIndex == 6:
                    self.object_to_place = entities.Gate(position_adjust)

                if self.verticalButtonIndex == 2:
                    self.object_to_place = entities.Node(position_adjust)
                if self.verticalButtonIndex == 3:
                    self.place_wall_intent()
                    return

                if self.object_to_place is not None:
                    if issubclass(type(self.object_to_place),
                                  entities.SpriteEntity):
                        for entity in levelData.Level.currentMap.grid_entities:
                            if self.current_cell == (int(entity.px),
                                                     int(entity.py)):
                                return
                        if issubclass(type(self.object_to_place),
                                      entities.Enemy):
                            for node in levelData.Level.currentMap.node_entities:
                                if self.current_cell == (int(node.px),
                                                         int(node.py)):
                                    self.object_to_place.patrolPoint = node
                                    break
                        levelData.Level.currentMap.grid_entities.append(
                            self.object_to_place)

                    if issubclass(type(self.object_to_place), entities.Node):
                        for node in levelData.Level.currentMap.node_entities:
                            if self.current_cell == (int(node.px),
                                                     int(node.py)):
                                return
                        levelData.Level.currentMap.node_entities.append(
                            self.object_to_place)

            else:
                self.remove_entity_intent()
コード例 #3
0
ファイル: main.py プロジェクト: Emiluren/multi-tower
async def connect(sid, environ):
    # board_lock.acquire()
    query = urllib.parse.parse_qs(environ['QUERY_STRING'])
    # print("connect ", sid, query)
    name = query['name'][0]

    if name not in players:
        players[name] = entities.Player(name, [sid])
        await assign_castle(name)
        await broadcast_message('new_player', name)
        await broadcast_message('player_cash_changed',
                                [name, players[name].cash])
    else:
        players[name].sids.append(sid)
    await send_world_to_player(sid)
コード例 #4
0
def create_entity_dict():
    """
    create dictionary of entities
    :return: dictionary of entities
    """
    player = entities.Player()
    enemies = []
    x_cord = -200
    y_cord = 200
    for i in range(24):
        enemies.append(entities.Enemy(x_cord, y_cord))
        x_cord += 75
        if x_cord > 200:
            x_cord = -200
            y_cord -= 50
    return {'player': player, 'enemies': enemies}
コード例 #5
0
ファイル: main.py プロジェクト: crustycrab/Flappy-Ship
def reset():
    global player_ship, game_objects, event_stack_size, animations_buffer

    while event_stack_size > 0:
        window.pop_handlers()
        event_stack_size -= 1

    player_ship = entities.Player()

    game_objects = [player_ship]
    animations_buffer = []
    entities.load_asteroids(game_objects, 400)

    for handler in player_ship.event_handlers:
        window.push_handlers(handler)
        event_stack_size += 1
コード例 #6
0
    def __init__(self):
        print("world.__init__()")
        World.singleton = self
        self.entity_list = []
        self.player = entities.Player()

        self.ai_manager = AI_Manager()
        self.cell_manager = cell.CellManager()
        self.entity_manager = entity.EntityManager()
        self.event_manager = events.EventManager()
        self.dialogue_manager = dialogue.DialogueManager()

        ### Time and date
        self.world_time = 0.0
        self.world_time_scale = 0.05

        self.date = datetime.date(2050, 1, 1)  # Y, M, D

        ### Weather:
        self.current_weather = None
        self.last_weather = None

        ### Light
        self.light_sources = None
        self.outside_lighting_ctrl = 'outdoor_sun_shadow'
        self.sky_dome = 'sky_dome'
        self.atmosphere_ctrl = 'skybox'  #'atmosphere_time'

        ###
        self.gravity = Vector([0, 0, -15.0])
        bge.logic.setGravity([0, 0, 0])
        self.world_effects = {
            'mist color': [0.0, 0.0, 0.0],
            'tint': [0.0, 0.0, 0.0]
        }

        self.gamestate = 'loading'
        self.suspended = False
        self.KX_player = False
コード例 #7
0
    def __init__(self):
        """
        Default constructor, should only be ran once as the level
        will in the future be able to be given
        """

        # Initialize the player
        self.player = entities.Player()

        # Initialize the map
        self.map = map.Map()
        self.map.load_mapfile("data/map/frens.map")

        # Initialize the camera
        self.CAMERA_RIGHT = 1280 * 0.75
        self.CAMERA_LEFT = 1280 * 0.25
        self.CAMERA_TOP = 720 * 0.25
        self.CAMERA_BOT = 720 * 0.75
        self.camera_x = 0
        self.camera_y = 0

        # Set camera position based on player spawn in map
        self.spawn_player_at_tile(self.map.player_spawn)