Beispiel #1
0
 def level5(self):
     enemies = []
     enemies.append(enemy.Enemy(self.blue_image, 322, 20))
     enemies.append(enemy.Enemy(self.blue_image, 625, 40))
     enemies.append(enemy.Enemy(self.red_image, 460, 205, True))
     enemies.append(enemy.Enemy(self.blue_image, 270, 305))
     enemies.append(enemy.Enemy(self.blue_image, 320, 405))
     return enemies
def enter():
    print("GameState Enter")
    global target, target_pos
    target_pos = 0, 0
    target = gfw.load_image('res/target.png')
    #--------------------------------------------------------------------------#
    gfw.world.init(
        ['plat', 'potal', 'grass', 'obj_dead', 'en', 'player', 'b', 'p',
         'ui'])  #월드 init
    global grass, player, platform, bg, count, en, plat, obj_dead, bg_last
    bg = gfw.load_image('res/background_grass.png')
    bg_last = gfw.load_image('res/background_wall.png')
    grass = platforms.Grass()
    gfw.world.add(gfw.layer.grass, grass)
    player = Player()
    gfw.world.add(gfw.layer.player, player)
    count = 4

    for x, y in STAGE_LIST[count]:
        plat = platforms.Platform(count, x, y)
        gfw.world.add(gfw.layer.plat, plat)

    for x in PLNAT_MONSTER_LIST[count]:
        en = enemy.Enemy((x, 400), 1)
        gfw.world.add(gfw.layer.en, en)

    for x in TREE_MONSTER_LIST[count]:
        en = enemy.Enemy((x, 400), 2)
        gfw.world.add(gfw.layer.en, en)

    for x in BOMB_MONSTER_LIST[count]:
        en = enemy.Enemy((x, 800), 3)
        gfw.world.add(gfw.layer.en, en)
    #--------------------------------------------------------------------------#
    global gameover_img, gameover, entershow
    gameover = False
    gameover_img = gfw.image.load('res/gameover.png')
    entershow = load_image('res/enter2.png')
    #--------------------------------------------------------------------------#
    global music_bg, wav_attack, wav_bomb, wav_shield_sound, wav_bullet, wav_hit1, wav_hit2, wav_hit3, wav_die, hit
    wav_attack = load_wav('res/shoot.ogg')
    wav_bomb = load_wav('res/bomb.wav')
    wav_bullet = load_wav('res/bullet.ogg')
    wav_hit1 = load_wav('res/pain1.wav')
    wav_hit2 = load_wav('res/pain2.wav')
    wav_hit3 = load_wav('res/pain3.wav')
    hit = [wav_hit1, wav_hit2, wav_hit3]
    wav_die = load_wav('res/die.wav')
    wav_shield_sound = load_wav('res/shield_sound.wav')
    music_bg = load_music('res/map.wav')
    #--------------------------------------------------------------------------#
    global font_a, score
    #font_a = load_font('res/Pixel.ttf', 38)
    font_a = load_font('res/Pixel.ttf', 38)
    score = 0
    #--------------------------------------------------------------------------#
    highscore.load()
    music_bg.repeat_play()
Beispiel #3
0
 def reset(self):
     self.clock = pygame.time.Clock()
     self.time = 0
     self.state = "intro"
     self.movement = 360
     self.doublePlayer = False
     self.enemyNumber = 1
     self.enemy1 = enemy.Enemy(self.width, self.height, 1)
     self.enemy2 = enemy.Enemy(self.width, self.height, 2)
Beispiel #4
0
def update():
    global lazers
    global frame
    global frames2
    player.update(maps.getBlocks())
    removeLazers = []
    for enemys in enemies:
    	enemys.update(maps.getBlocks(), player, player.getLazers())
    	if enemys.getRemoveLazer() != "":
    		removeLazers.append(enemys.getRemoveLazer())
    if pygame.mouse.get_pressed()[0]:
    	if frame % 300 == 0:
    		player.addLazer()
    	frame += 1
    if frame > 300 and not pygame.mouse.get_pressed()[0]:
    	frame = 300
    maps.update()
    if frames % TIME == 0:
    	spots = maps.getSpawns()
    	spot = random.randint(0, len(spots) - 1)
    	spot = spots[spot]
    	enemies.append(enemy.Enemy(spot[0], spot[1], 30, 30, enemy1))
    frames2 += 1
    for enemys in enemies:
	    for lazer in player.getLazers():
	    	if lazer == enemys.getRemoveLazer():
	    		player.removeLazer(lazer)
	    if enemys.getAlive() == False:
	    	enemies.remove(enemys)
Beispiel #5
0
def spawn_enemy():
    x = height - 6
    y = bidi.left + random.randint(int(width / 2), width - 5)
    fl = 1
    for enem in en:
        if (y == enem.yc):
            fl = 0
        #if(bidi[x][y] == 'M'):  #here you will see where the enemies not to be spawned -------FUTURE
        #fl=0

    if (board.screen[x][y] != ' ' or board.screen[x][y + 1] != ' '
            or board.screen[x + 1][y] != ' '
            or board.screen[x + 1][y + 1] != ' '):
        fl = 0

    if (board.screen[x][y] == ' ' and board.screen[x][y] == ' '
            and board.screen[x + 2][y] == ' '
            and board.screen[x + 2][y] == ' '):
        fl = 0

    if (fl):
        ene = enemy.Enemy(x, y, 1)
        en.append(ene)
    else:
        spawn_enemy()
Beispiel #6
0
def create_board():
    '''
    Creates board and fills in Obstacles and Scenery
    '''
    board = list()
    for i in range(int(defs.rows)):
        temp_list = list()
        for _ in range(defs.board_len):
            if i==0 or i==0:
                clouds.add_element(temp_list,fn=34)
            elif i==int(defs.rows)-1 :
                clouds.add_element(temp_list,fn=32)
            else:
                clouds.add_element(temp_list,cont=1)
        board.append(temp_list)
    defs.board_len-=int(defs.columns)
    #
    clouds.Clouds(100,board)
    defs.plain_board=copy.deepcopy(board)
    arcs.Arcs((2*int(defs.rows)//3+1),board)
    coins.Coins(100,board)
    powerup.Powerup(defs.board_len//5)
    enemy.Enemy(40)
    magnet.Magnet(200,10)
    #
    defs.board_len+=int(defs.columns)
    return board
    def __init__(self):
        """ Constructor. Create all our attributes and initialize
        the game. """
        self.game_over = False

        # Create sprite lists
        self.enemy_list = pygame.sprite.Group()
        self.all_sprites_list = pygame.sprite.Group()

        # Create the player
        self.player = player.Player()
        self.all_sprites_list.add(self.player)

        self.enemyDefeated = False

        # Create the enemy(ies)
        i = design.difficulty
        while i > 0:
            my_enemy = enemy.Enemy()
            my_enemy.rect.x = random.randrange(design.SCREEN_HEIGHT)
            my_enemy.rect.y = random.randrange(-300, design.SCREEN_HEIGHT)
            self.enemy_list.add(my_enemy)
            self.all_sprites_list.add(my_enemy)
            i -= 1

        '''
Beispiel #8
0
    def act(self):
        self.timer.tick(60)
        self.check_platforms()

        keys = pygame.key.get_pressed()
        if keys[K_LEFT]:
            self.movePlatformsLeft()
            if self.bonus != None:
                self.moveShirukenPULeft()
        elif keys[K_RIGHT]:
            self.movePlatformsRight()
            if self.bonus != None:
                self.moveShirukenPURight()

        ## we can choose the distance between the number of platforms
        if self.weShouldAddPlatform():
            new_platform = platform.Platform(getLevelPlatformImage())
            surface_manager.add(new_platform)
            self.current_platforms.append(new_platform)

        if self.weShouldAddPowerUp():
            self.bonus = powerup.ShurikenPU()
            surface_manager.add(self.bonus)
            self.time_since_last_powerup = time.clock()

        if self.weShouldAddEnemy():
            self.ennemies = enemy.Enemy()
            surface_manager.add(self.ennemies)
            self.time_since_last_enemyspawn = time.clock()
Beispiel #9
0
def reset_game():
    run_ = True

    # Init Player
    p_ = player.Player()

    # Init Enemy
    e_ = enemy.Enemy()

    # Group for bullets
    bullets_ = pygame.sprite.Group()

    # Init Environment for AI to learn
    env_ = environment.Environment(e_, p_, bullets_)

    score_ = 0

    # X pos of agent
    init_x_enemy_norm_ = np.interp(e_.x, [0, 1000], [0, 1])

    # X pos of player
    init_x_player_norm_ = np.interp(p_.x, [0, 1000], [0, 1])

    # Set the state to X pos of player and enemy
    my_tensor_ = tf.constant([[init_x_enemy_norm_, init_x_player_norm_]])
    my_variable_ = tf.Variable(my_tensor_, dtype=np.float64)

    config.level = 1

    return run_, p_, e_, bullets_, env_, score_, my_variable_
Beispiel #10
0
    def _init_movement_objects(self):
        self.pacman = pacman.Pacman(self, self.mixer)
        self.movement_objects.append(self.pacman)

        for index, ghost_name in enumerate(constants.GHOST_NAMES):
            self.movement_objects.append(enemy.Enemy(
                ghost_name, self.map_objects['spawn_ghosts'][index], self))
Beispiel #11
0
    def setup_sprite(self):
        self.weapon_sprites = pygame.sprite.Group()  #保存武器精灵
        self.enemy_weapon_sprites = pygame.sprite.Group()  #保存武器精灵
        self.hero_and_enemy = pygame.sprite.Group()
        HEROIMAGE = pygame.image.load(u'.\\res\\red_wolf.png')
        self.tank = tank.Hero((64, 64),
                              HEROIMAGE,
                              face_to={
                                  'UP': False,
                                  'DOWN': True,
                                  'LEFT': False,
                                  'RIGHT': False
                              })
        self.hero_and_enemy.add(self.tank)

        self.explo_sprites = pygame.sprite.Group()
        self.enemy_sprites = pygame.sprite.Group()

        ENEMYIMAGE = pygame.image.load(u'.\\res\\enemy.png')
        for i in range(1):
            self.enemy = enemy.Enemy((608, 64 + i * 32),
                                     ENEMYIMAGE,
                                     face_to={
                                         'UP': False,
                                         'DOWN': False,
                                         'LEFT': True,
                                         'RIGHT': False
                                     })
            self.enemy_sprites.add(self.enemy)
Beispiel #12
0
 def __init__(self, path=None, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.label = pyglet.text.Label("",
                                    x=0,
                                    y=self.height - 10,
                                    font_name="Courier New",
                                    font_size=10,
                                    multiline=True,
                                    width=2000)
     self.char_label = pyglet.text.Label("",
                                         x=0,
                                         y=self.height - 10,
                                         font_name="Courier New",
                                         font_size=10,
                                         multiline=True,
                                         width=2000,
                                         color=(255, 0, 0, 255))
     self.meta_label = pyglet.text.Label("",
                                         x=720,
                                         y=self.height - 10,
                                         font_name="Courier New",
                                         font_size=10,
                                         multiline=True,
                                         width=2000)
     self.notifications_label = pyglet.text.Label("No notifications yet\n",
                                                  x=0,
                                                  y=self.height - 720,
                                                  font_name="Courier New",
                                                  font_size=10,
                                                  multiline=True,
                                                  width=2000)
     self.mg = mapgen.MapGenerator(path)
     self.pos = list(reversed(self.mg.start))
     self.Character = character.Character(*self.pos, "Maiq")
     self.enemies = [enemy.Enemy(*p) for p in self.mg.enemies]
Beispiel #13
0
def nextRound(Round, enemies):
    r = 0
    while (r < Round):
        xO = 1 + r * 5
        yO = -50 - r
        enemies.append(enemy.Enemy(xO, yO))
        xT = width + 50 + r
        yT = 1 + r * 5
        enemies.append(enemy.Enemy(xT, yT))
        xH = -50 - r
        yH = height - r * 5
        enemies.append(enemy.Enemy(xH, yH))
        xF = width - r * 5
        yF = height + 50 + r
        enemies.append(enemy.Enemy(xF, yF))
        r += 1
Beispiel #14
0
def spawn_enemies(n, level):

    #n is the number of enemies to spawn
    possible_enemy_locations = {
        1: [(500, 100), (200, 400), (800, 200), (100, 100), (500, 300)],
        2: [(300, 300), (100, 200), (400, 100), (200, 400), (300, 100),
            (100, 300)],
        3: [(200, 200), (300, 100), (400, 200), (500, 300), (300, 100),
            (100, 300), (600, 100), (600, 200)]
    }

    if n <= len(possible_enemy_locations[level]):

        enemies = []

        for i in range(n):
            location = random.choice(possible_enemy_locations[level])
            possible_enemy_locations[level].remove(location)
            x = location[0]
            y = location[1]
            new_enemy = enemy.Enemy(level=level)
            new_enemy.x = x
            new_enemy.y = y
            enemies.append(new_enemy)

        return enemies
    else:
        print 'not enough locations provided to spawn %i mobs' % (n)
Beispiel #15
0
def init(pause):
    global player_obj, player_icon, enemy_icon, enemy_obj, bullet_obj, pie1_obj, pie2_obj, pie3_obj, score

    enemy_icon = pygame.image.load("Kera.png")
    pie_icon = pygame.image.load("Pie.png")

    #PLAYER
    player_obj = player.Player(100, 150)

    #ENEMY
    enemy_obj = enemy.Enemy(300, 250, enemy_icon)

    #OBJECTS
    pie1_obj = pie.Pie1(100, 250, pie_icon)
    pie2_obj = pie.Pie1(1250, 200, pie_icon)
    pie3_obj = pie.Pie1(100, 300, pie_icon)

    gamemusic = pygame.mixer.music.load("gamesound.wav")
    pygame.mixer.music.play(-1)

    #Mute/unmute
    if pause:
        pygame.mixer.music.pause()
    else:
        pygame.mixer.music.unpause()
    pygame.mouse.set_visible(True)
Beispiel #16
0
    def newMap(self):
        #min 3, max 25
        self.currentLevel = mazeGen.generate(12)
        self.currentView = []
        for a in self.currentLevel:
            self.currentView.append([
                1,
            ] * len(self.currentLevel[0]))  #fog off
            #self.currentView.append([0,]*len(self.currentLevel[0])) #fog on

        self.enemies = []
        eX = 0
        eY = 0
        for block in self.currentLevel:
            for cell in block:
                if cell == 99:
                    end = (eX, eY)
                if cell == 12:
                    self.p = dp.Player(eX, eY)
                    self.p.gc = self
                if cell == 4:
                    #add enemy-spawn logic
                    enemyChoice = random.choice(
                        [901, 901, 901, 902, 902, 903, 903, 904])
                    self.enemies.append(el.Enemy(eX, eY, enemyChoice, self))
                    self.currentLevel[eY][eX] = enemyChoice
                eX += 1
            eX = 0
            eY += 1
Beispiel #17
0
    def test_isOffScreen(self, mock_pygame):
        board = [[0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
                 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
                 [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
                 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
                 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
                 [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0],
                 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],
                 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],
                 [0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0],
                 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
                 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0],
                 [0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0],
                 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0],
                 [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0],
                 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3]]

        tower_classes = (tower.OrangeTower, tower.RedTower, tower.PurpleTower,
                         tower.GreenTower)
        tower_class = random.choice(tower_classes)
        dummy_tower = tower_class(0, 0, [[]], 40)

        enemy_colours = ["white", "pink", "yellow", "cyan", "maroon"]
        colour = random.choice(enemy_colours)
        dummy_enemy = enemy.Enemy(15, 15, 40, (0, 1), [[]], 5, colour)

        shot = Shot(dummy_tower, dummy_enemy, board, 40)
        nshot = copy.deepcopy(shot)
        index = random.randint(0, 1)
        value = random.randint(0, 100)
        nshot.location[index] = -value
        self.assertEqual(nshot.isOffScreen(), True)
        self.assertEqual(shot.isOffScreen(), False)
Beispiel #18
0
 def spawnEnemies(self, task):
     if len(self.enemies) < 20:
         # default state is stay
         self.numbEnemies += 1
         newEnemy = enemy.Enemy(1, self.numbEnemies, self.player)
         self.enemies.append(newEnemy)
     task.delayTime += 1
     return task.again
Beispiel #19
0
def enemyGenerator(level, ap, hp, accuracy):
    """The function that generate the enemies"""
    cEnemy = enemy.Enemy()
    cEnemy.ap = ap
    cEnemy.hp = hp
    cEnemy.accuracy = accuracy
    cEnemy.alive is True
    return cEnemy
Beispiel #20
0
    def __load_enemies(self):
        """Create enemies for current game level"""

        enemies = pygame.sprite.Group()
        for y in self.enemy_y_range:
            for x in self.enemy_x_range:
                enemy_bot = enemy.Enemy((x, y), self.game_level, enemies)
        self.__set_enemy_stats(enemies)
        return enemies
Beispiel #21
0
    def addEnemy(self):
        if len(self.enemies) < ENEMY_MAX:
            spawn_y = WINDOW_H / 2 * random.random() + ENEMY_H

            if random.random() > 0.5:
                spawn_y *= -1

            new_enemy = enemy.Enemy(self.ENEMY_ID)
            new_enemy.update(WINDOW_W - ENEMY_W, spawn_y, 1)
            self.enemies.append(new_enemy)
    def __init__(self, all_sprites, hero, game_area):
        # forest floor
        self.tileset = pygame.image.load(
            "Assets/Sprites/Ground/MergamothFloor.png").convert()
        # forest flora
        self.bonzai_tree1 = flora.Flora("Bonzai")

        all_sprites.add(self.bonzai_tree1)
        all_sprites.add(hero)
        all_sprites.add(enemy.Enemy(hero, game_area, "Mergamoth"))
Beispiel #23
0
 def __init__(self):
     if Interface.__first:
         Interface.__first = False
         pygame.init()
         self.window = pygame.display.set_mode(Interface.__window)
         self.player_plane = None
         # self.bg_img = pygame.image.load(Interface.bg_img)
         self.logo_img = pygame.image.load(Interface.icon_img)
         self.map = map.Map()
         self.enemy = [enemy.Enemy() for i in range(6)]
Beispiel #24
0
 def test_setSpeedFactor(self):
     enemy_colours = ["white", "pink", "yellow", "cyan", "maroon"]
     colour = random.choice(enemy_colours)
     dummy_enemy = enemy.Enemy(15, 15, 40, (0, 1), [[]], 5, colour)
     if colour == "pink" or colour == "yellow":
         assert (dummy_enemy.speedFactor == 8.0 / 5)
     elif colour == "cyan" or colour == "maroon":
         assert (dummy_enemy.speedFactor == 2.0)
     else:
         assert (dummy_enemy.speedFactor == 1)
Beispiel #25
0
    def __init__(self, all_sprites, hero, game_area):
        # forest floor
        self.tileset = pygame.image.load(
            "Assets/Sprites/Ground/SwampFloor.png").convert()
        for x in range(5):
            all_sprites.add(flora.Flora("Tree2"))
        # forest enemies
        for x in range(20):
            all_sprites.add(enemy.Enemy(hero, game_area, "Skeletor"))
            all_sprites.add(enemy.Enemy(hero, game_area, "Cacodemon"))

        all_sprites.add(hero)
        all_sprites.add(item.Item(game_area, 150, 150))
        all_sprites.add(portal.Portal(game_area, 350, 350))
        # forest flora
        self.bonzai_tree1 = flora.Flora("Bonzai")

        all_sprites.add(self.bonzai_tree1)
        all_sprites.add(hero)
Beispiel #26
0
 def spawnEnemy(self, slot):
     e = enemy.Enemy()
     if self.easter:
         e.initialize(self, random.randint(0, self.x - 1),
                      random.randint(300, 900), random.randint(90, 91))
     else:
         e.initialize(
             self, random.randint(0, self.x - 1), random.randint(300, 900),
             random.randint(0,
                            globalVars.appMain.getNumScreams() - 1))
     self.enemies[slot] = e
Beispiel #27
0
 def update(self):
     """
     情報の更新と敵の出現管理
     """
     if self.game_state == GAME_MODE['PLAY']:
         # 0からenemy_probまでの乱数を出して、0が出たらエネミー出現
         # つまりこのクラスの変数enemy_probを大きくすると……
         if not random.randrange(self.enemy_prob):
             enemy.Enemy()
         self.all_sprite.update()
         self.collision_detection()
def updateMap():
    global count ,plat ,potal
    if count == 4:
        endGame()
    gfw.world.clear_at(gfw.layer.potal)
    count += 1
    gfw.world.clear_at(gfw.layer.plat)
    for x, y in STAGE_LIST[count]:
        plat = platforms.Platform(count, x, y)
        gfw.world.add(gfw.layer.plat, plat)
    for x in PLNAT_MONSTER_LIST[count]:
        en = enemy.Enemy((x,400),1)
        gfw.world.add(gfw.layer.en, en)

    for x in TREE_MONSTER_LIST[count]:
        en = enemy.Enemy((x,400),2)
        gfw.world.add(gfw.layer.en, en)

    for x in BOMB_MONSTER_LIST[count]:
        en = enemy.Enemy((x,1000),3)
        gfw.world.add(gfw.layer.en, en)
Beispiel #29
0
def gen_enemies(num_icons, start_y=120, batch=None):
    blocks = []
    for i in range(num_icons):
        try:
            y = blocks[-1].y + 100 + random.randint(90, 150)
        except IndexError:
            y = start_y + random.randint(100, 350)
        xl = random.sample(set([200, 300]), 1)
        new_sprite = enemy.Enemy(x=xl[0], y=y, batch=batch)
        # new_sprite.scale = 0.2
        blocks.append(new_sprite)
    return blocks
Beispiel #30
0
 def test_shot(self, mock_pygame):
     enemy_colours = ["white", "pink", "yellow", "cyan", "maroon"]
     colour = random.choice(enemy_colours)
     dummy_enemy = enemy.Enemy(0, 0, 40, (0, 0), [[]], 5, colour)
     dummy_tower = tower.OrangeTower(0, 0, [[]], 40)
     self.assertEqual(0, len(dummy_tower.shots))
     r = random.randint(0, 10)
     print(r)
     print(colour)
     for i in range(r):
         dummy_tower.fireShot(dummy_enemy)
     self.assertEqual(r, len(dummy_tower.shots))