示例#1
0
def enter():
    global slime
    slime = Slime()
    game_world.add_object(slime, 1)

    global grass
    grass = Grass()
    game_world.add_object(grass, 0)

    global blocks
    blocks = [BLOCK() for i in range(100)]
    for i in range(8):
        blocks[i].pos(check[i])
    game_world.add_objects(blocks, 1)

    global g_blocks
    g_blocks = [G_BLOCK() for i in range(100)]
    for i in range(5):
        g_blocks[i].pos(check2[i])
    game_world.add_objects(g_blocks, 1)

    global b_blocks
    b_blocks = [B_BLOCK() for i in range(100)]
    for i in range(5):
        b_blocks[i].pos(check3[i])
    game_world.add_objects(b_blocks, 1)

    global background
    background = Background()
    game_world.add_object(background, 0)
示例#2
0
    def __init__(self, screen_height, screen_width):
        super().__init__(screen_height, screen_width)
        self.background = pygame.image.load('Images/bg.jpg')
        self.platforms.empty()
        self.enemys.empty()
        self.level_limit = -700
        self.dino_gun = True
        half_screen_width = self.screen_width // 2
        level_platforms = [
            [
                pygame.Rect(0, self.screen_height - 40,
                            half_screen_width - 200, 40), (0, 0, 0), 0, -0.099
            ],  # 1st ground
            [
                pygame.Rect(0, self.screen_height - 300,
                            (self.screen_width // 2) - 200, 40), (0, 0, 0), 0,
                -0.099
            ],  # special area
            [
                pygame.Rect((self.screen_width // 2) + 200,
                            self.screen_height - 40, 1800, 40), (0, 0, 0), 0,
                -0.099
            ],  # ground 2
            [
                pygame.Rect(self.screen_width // 2 - 150,
                            self.screen_height // 2 + 150, 100, 30), (0, 0, 0),
                0, -0.12
            ],  # stair 1
            [
                pygame.Rect(self.screen_width // 2 - 60,
                            self.screen_height // 2 + 100, 100, 30), (0, 0, 0),
                0, -0.12
            ],  # stair 2
            [
                pygame.Rect(self.screen_width // 2 + 50,
                            self.screen_height // 2 + 50, 100, 30), (0, 0, 0),
                0, -0.12
            ]  # stair 3
        ]
        for platform in level_platforms:
            self.platforms.add(Platform.from_list(platform))

        self.enemys.add(
            Slime(700, 441, VEC(3, 0), pygame.Rect(600, 400, 200, 40)))
        self.enemys.add(
            Slime(20, 181, VEC(3, 0),
                  pygame.Rect(0, screen_height - 400, 200, 40)))
示例#3
0
文件: main.py 项目: iPazu/Slimy
 def loadEntities(self):
     startingPoint = (100, 0, 10)
     self.AIworld = AIWorld(render)
     self.collision = Collision(Monster.monster)
     #terrain, initialPos, slimeModelPath, floorPos, scale, lifePoint, volumicMass, movingSpeed, dt
     self.slime = Slime(self.terrain, startingPoint, "assets/models/slime.egg", 10, 10, 100, 0.01, 5, self.dt, "slime", self.collision) 
     self.spawn = Spawn([self.slime]+Monster.monster, self.terrain, self.AIworld, self.collision)
     self.spawn.spawn()
示例#4
0
    def stage_three(self) -> None:
        """
        Sets up stage two
        :return: none
        """
        # transition
        self.transition = arcade.load_texture("images/level_3_screen.png")
        # setting up player
        self.player = Player(50, 50)
        # setting up enemies
        self.enemies_engine = []
        self.towers_engine = []
        self.enemies = Sprites()
        self.towers = Sprites()
        self.obstacles = arcade.SpriteList()
        self.enemies.append(Slime(750, 700))
        self.enemies.append(Executioner(750, 700, 10))

        self.enemies.append(Slime(750, 100))
        self.enemies.append(Executioner(750, 100, 10))

        self.enemies.append(Slime(80, 700))
        self.enemies.append(Executioner(80, 700, 10))

        self.enemies.append(Executioner(400, 400, 20))

        for enemy in self.enemies:
            self.enemies_engine.append(
                CollisionDetection(enemy, self.obstacles))
        # self.towers.append(WizardTower(400, 300, 48, 52))
        # self.towers.append(WizardTower(400, 500, 48, 52))
        self.towers.append(Mage(300, 400, 48, 52))
        self.towers.append(Mage(500, 400, 48, 52))
        for tower in self.towers:
            self.towers_engine.append(
                CollisionDetection(tower.fireball, self.rooms[self.world].wall_list))
            self.enemies.append(tower.fireball)
        for item in self.rooms[self.world].wall_list:
            self.obstacles.append(item)
        for item in self.rooms[self.world].traps_list:
            self.obstacles.append(item)
        # create engines
        self.player_engine = CollisionDetection(self.player, self.rooms[self.world].wall_list,
                                                self.rooms[self.world].traps_list)
 def create_enemies(self) -> None:
     """
     temporary testing function that creates enemies
     :return:
     """
     for x in range(10):
         self.enemies.append(
             Slime(self.WINDOW_WIDTH, self.WINDOW_HEIGHT,
                   random.randint(75, 150)))
     for enemy in self.enemies:
         self.character_list.append(enemy)
示例#6
0
def run_game():
    # Initialize pygame, settings and create screen object.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Meandering Muck - Level " +
                               str(ai_settings.level))

    # Make a Slime.
    slime = Slime(ai_settings, screen)

    # Start main loop for the game.
    while True:
        if ai_settings.gamedone:
            ai_settings.gamedone = False
            ai_settings.level += 1
            pygame.display.set_caption("Meandering Muck - Level " +
                                       str(ai_settings.level))
            ai_settings.loadnewsettings()
            slime = None
            slime = Slime(ai_settings, screen)
        gf.check_events(slime)
        slime.update()
        gf.update_screen(ai_settings, screen, slime)

        # Make the most recently drawn screen visible.
        pygame.display.flip()
示例#7
0
 def room_tutorial(self) -> None:
     """
     loads room tutorial
     :return: none
     """
     # setting up player
     self.player = Player(50, 50)
     # setting up enemies
     self.enemies_engine = []
     self.towers_engine = []
     self.enemies = Sprites()
     self.towers = Sprites()
     self.obstacles = arcade.SpriteList()
     self.enemies.append(Slime(750, 750))
     self.enemies.append(Slime(750, 50))
     self.enemies.append(Slime(50, 750))
     self.enemies.append(Executioner(750, 750, 3))
     self.enemies.append(Executioner(750, 50, 3))
     self.enemies.append(Executioner(50, 750, 3))
     self.enemies.append(Slime(400, 400))
     self.enemies.append(Executioner(400, 400, 3))
     for enemy in self.enemies:
         self.enemies_engine.append(
             CollisionDetection(enemy, self.obstacles))
     self.towers.append(Mage(400, 400, 48, 52))
     for tower in self.towers:
         self.towers_engine.append(
             CollisionDetection(tower.fireball, self.rooms[self.world].wall_list))
         self.enemies.append(tower.fireball)
     for item in self.rooms[self.world].wall_list:
         self.obstacles.append(item)
     for item in self.rooms[self.world].traps_list:
         self.obstacles.append(item)
     # create engines
     self.player_engine = CollisionDetection(self.player, self.rooms[self.world].wall_list,
                                             self.rooms[self.world].traps_list)
示例#8
0
    def Faz_mapa(self,window,canvas):
        self.window = window
        self.canvas = canvas
    
        self.map = TileMap(self.fase)
    
        player.rect.x,player.rect.y = self.map.start_x,self.map.start_y
        for pos in self.map.inimigos[0]:
            self.enemy_Array.append(Slime(pos.x,pos.y))
        for pos in self.map.inimigos[1]:
            self.enemy_Array.append(mago(pos.x,pos.y))
        pygame.mixer.init()
        
        pygame.mixer.music.load(os.path.join('Assets','MusicaDungeon.ogg'))

        pygame.mixer.music.play()
示例#9
0
    def _initialize_sprites(self, level_map):
        """A method which initializes the level, creates all objects necessary for the game to run

        Args:
            level_map: the layout of the level in a two dimensional list [y][x]
        """
        height = len(level_map)
        width = len(level_map[0])

        for pos_y in range(height):
            for pos_x in range(width):
                cell = level_map[pos_y][pos_x]
                normalized_x = pos_x * self.cell_size
                normalized_y = pos_y * self.cell_size

                if cell == 0:
                    self.floors.add(Floor(normalized_x, normalized_y))
                elif cell == 1:
                    self.walls.add(Wall(normalized_x, normalized_y))
                elif cell == 2:
                    self.player = Player(pos_x, pos_y, normalized_x,
                                         normalized_y)
                    self.floors.add(Floor(normalized_x, normalized_y))
                    self.level_map[pos_y][pos_x] = self.player
                elif cell == 3:
                    self.stairs = Stairs(normalized_x, normalized_y)
                elif cell == 4:
                    enemy = Slime(pos_x, pos_y, normalized_x, normalized_y)
                    self.enemies.add(enemy)
                    self.floors.add(Floor(normalized_x, normalized_y))
                    self.level_map[pos_y][pos_x] = enemy
                elif cell == 5:
                    enemy = Ranger(pos_x, pos_y, normalized_x, normalized_y)
                    self.enemies.add(enemy)
                    self.floors.add(Floor(normalized_x, normalized_y))
                    self.level_map[pos_y][pos_x] = enemy
                elif cell == 6:
                    item = Item(pos_x, pos_y, normalized_x, normalized_y)
                    self.floors.add(Floor(normalized_x, normalized_y))
                    self.objects.add(item)
                    self.level_map[pos_y][pos_x] = item

        self.all_sprites.add(self.walls, self.floors, self.stairs,
                             self.objects, self.enemies, self.player)

        self.refresh_enemy_queue()
        self.setup_camera()
示例#10
0
    elif configuration["auth_type"] == 'disabled':
        return True
    else:
        return False


################################################################################
# Startup Here
################################################################################

with open('./pleasance.json') as configuration_file:
    configuration = json.load(configuration_file)

if configuration["auth_type"] == "LDAP":
    slime_session = Slime(
        configuration["auth_options"]["ldap_url"],
        configuration["auth_options"]["ldap_bind_dn_pattern"])

if configuration["storage_type"] == 'MongoDB':
    pleasance = PleasanceMongo(configuration["storage_options"]["hostname"],
                               configuration["storage_options"]["port"])

elif configuration["storage_type"] == 'shelve':
    pleasance = PleasanceShelf(
        configuration["storage_options"]["package_path"],
        configuration["storage_options"]["configuration_path"])
else:
    raise Exception

if __name__ == "__main__":
    app.run()
示例#11
0
    def __init__(
        self, roomnumber, floorNumber
    ):  #FIXME: les couleurs dans design niveaux ne sont pas homogenes.
        self.floorNumber = floorNumber
        if floorNumber == 1:  #python doesn't have switch statements smh
            floordesignPath = 'design niveaux/lvl1.png'
        elif floorNumber == 2:
            floordesignPath = 'design niveaux/lvl2.png'
        elif floorNumber == 3:
            floordesignPath = 'design niveaux/lvl3.png'
        elif floorNumber == 4:
            floordesignPath = 'design niveaux/lvl4.png'
        elif floorNumber == 5:
            floordesignPath = 'design niveaux/lvl5.png'
        elif floorNumber == 6:
            floordesignPath = 'design niveaux/salle du boss.png'

        floordesign = pygame.image.load(floordesignPath)
        self.roomnumber = roomnumber
        self.roomBlocks = []
        for y in range(9):
            for x in range(16):
                color = floordesign.get_at((x + (roomnumber * 16), y))
                #                print("x = " + str(x+ (roomnumber*16)) + "; y = " + str(y) + "; color = " + str(color))
                if color == (0, 0, 0, 255):  # wall
                    self.roomBlocks.append(Wall((x, y)))
                elif color == (88, 88, 88, 255):  # spike
                    if floordesign.get_at(
                        (x + (roomnumber * 16), y + 1)) == (0, 0, 0, 255):
                        self.roomBlocks.append(Spike((x, y)))
                    elif floordesign.get_at(
                        (x + (roomnumber * 16) + 1, y)) == (0, 0, 0, 255):
                        self.roomBlocks.append(Spike((x, y), 1))
                    elif floordesign.get_at(
                        (x + (roomnumber * 16) - 1, y)) == (0, 0, 0, 255):
                        self.roomBlocks.append(Spike((x, y), 3))
                    elif floordesign.get_at(
                        (x + (roomnumber * 16), y - 1)) == (0, 0, 0, 255):
                        self.roomBlocks.append(Spike((x, y), 2))
                    else:
                        self.roomBlocks.append(Spike((x, y)))
                elif color == (18, 189, 99, 255):
                    self.roomBlocks.append(Coin((x, y)))
                elif color == (189, 18, 18, 255):
                    #enemy
                    if floordesign.get_at(
                        (x + (roomnumber * 16), y + 1)) == (0, 0, 0, 255):
                        if floorNumber == 1:
                            self.roomBlocks.append(Slime((x, y)))
                        elif floorNumber == 2:
                            self.roomBlocks.append(Slime2((x, y)))
                        elif floorNumber == 3:
                            self.roomBlocks.append(Slime3((x, y)))
                        elif floorNumber == 4:
                            self.roomBlocks.append(Slime4((x, y)))
                        elif floorNumber == 5:
                            self.roomBlocks.append(Slime5((x, y)))
                    else:
                        # bat
                        if floorNumber == 1:
                            self.roomBlocks.append(Bat((x, y)))
                        elif floorNumber == 2:
                            self.roomBlocks.append(Bat2((x, y)))
                        elif floorNumber == 3:
                            self.roomBlocks.append(Bat3((x, y)))
                        elif floorNumber == 4:
                            self.roomBlocks.append(Bat4((x, y)))
                        elif floorNumber == 5:
                            self.roomBlocks.append(Bat5((x, y)))
                elif color == (23, 18, 189, 255):
                    #spring
                    self.roomBlocks.append(Spring((x, y)))
                elif color == (215, 223, 1, 255):
                    self.roomBlocks.append(SpawnPoint((x, y)))
                elif color == (230, 89, 1, 255):
                    self.roomBlocks.append(Button((x, y)))
                elif color == (168, 7, 125, 255):
                    self.roomBlocks.append(PNJ((x, y)))
                elif color == (9, 199, 254):
                    self.roomBlocks.append(Table((x, y)))
                elif color == (124, 48, 201):
                    self.roomBlocks.append(Boss((x, y)))