def create_enemy(is_new, pos): game = Game.instance if (is_new): wall = randint(0, 3) offset = uniform( 0, game.window_size[wall % 2]) #- self.source_size[wall%2]) if (wall == 0): pos[0] += offset if (wall == 1): pos[0] += game.window_size[0] #-self.source_size[0] pos[1] += offset if (wall == 2): pos[0] += offset pos[1] += game.window_size[1] #-self.source_size[1] if (wall == 3): pos[1] += offset scale = uniform(0.5, 3) game.enemies.append(Enemy(scale, pos))
from classes.enemy import Enemy enemy = Enemy(200, 400) print(enemy.get_atkh())
''''' import random playerhp = 200 enmyatkl = 50 enmyatkh = 80 while playerhp > 0: dmg = random.randrange(enmyatkl, enmyatkh) playerhp = playerhp - dmg if playerhp <= 20: playerhp = 20 print('you have been hit by HP amounting to', dmg, 'your reduced hp is', playerhp) if playerhp == 20: print("you have been knocked out and last damage was", dmg) break ''''' from classes.enemy import Enemy enemy = Enemy(200,54) print(enemy.get_hp())
from classes.enemy import Enemy enemy = Enemy(200, 60) print(enemy.get_hp())
import random from classes.enemy import Enemy enemy1 = Enemy(200, 60) print('Hp: ', enemy1.get_hp()) enemy2 = Enemy(75, 90) ''' playerhp = 260 ennemyatkl = 60 ennemyatkh = 80 while playerhp > 0: dmg = random.randrange( ennemyatkl, ennemyatkh) playerhp -= dmg if playerhp <= 30: playerhp = 30 print('Ennemy strikes for',dmg,'points of damage. Current HP is ', playerhp) if playerhp > 30: continue print("You have low health. You've been teleported to the nearest inn") break '''
while play_again: powerup_timer = time.time() variables.scores = 0 variables.lives = 3 variables.all_sprites = pygame.sprite.Group() variables.bullets = pygame.sprite.Group() variables.enemies = pygame.sprite.Group() variables.lives_group = pygame.sprite.Group() lives_list = [] for i in range(3): live = Live(10 + i * 50, 10) lives_list.append(live) lives_group.add(live) player = Player() for i in range(1): m = Enemy() enemies.add(m) all_sprites.add(m) all_sprites.add(player) while running: new_powerup_timer = time.time() if new_powerup_timer - powerup_timer >= 5: power_up = PowerUp() powerup_group.add(power_up) all_sprites.add(power_up) powerup_timer = new_powerup_timer new_time = time.time() if new_time - old_time > 1: old_time = new_time m = Enemy() enemies.add(m)
from classes.enemy import Enemy enemy = Enemy(200, 60) print("HP :", enemy.get_hp())
def __init__(self): self.gameName = "Dungeons & Pythons" self._image_library = {} self.screen = pygame.display.set_mode((900, 750)) self.gameOver = False self.clock = pygame.time.Clock() self.roundNumber = 0 self.player = Player(100, "Hero", 25, 50, 125, "assets/player/player.png") self.boss = Enemy(100, "The BOSS: Dragon", 20, 550, 100, "assets/monsters/boss.png", 300, 200) self.enemies = [Enemy(50, "Cloud ashes", 10, 550, 100, "assets/monsters/ashesSnake.png", 50, 10), Enemy(50, "Yaretzi", 15, 550, 100, "assets/monsters/aztecaSnake.png", 50, 15), Enemy(40, "Konoha", 7, 550, 100, "assets/monsters/fireFairy.png", 40, 10), Enemy(35, "Fire spliter", 10, 550, 100, "assets/monsters/fireLizard.png", 35, 10), Enemy(40, "Duchy", 7, 550, 100, "assets/monsters/groundFairy.png", 40, 10), Enemy(45, "Medusa's daughter", 13, 550, 100, "assets/monsters/groundSnake.png", 45, 13), Enemy(40, "Imperial", 12, 550, 100, "assets/monsters/imperialBird.png", 40, 12), Enemy(35, "Scissors", 9, 550, 100, "assets/monsters/scorpio.png", 35, 10), Enemy(20, "Awesome bats", 8, 550, 100, "assets/monsters/triBats.png", 20, 10), Enemy(45, "Hydra", 14, 550, 100, "assets/monsters/triHead.png", 45, 14), Enemy(25, "The python brothers", 5, 550, 100, "assets/monsters/triSnakes.png", 25, 10), Enemy(40, "Amega", 7, 550, 100, "assets/monsters/waterFairy.png", 40, 7)] self.currentEnemy = self.getRandomRegularEnemy() self.actionSelected = False self.arrowMenuPosition = Position.TOPLEFT
def make_enemies(): """"Function for make all enemies on map game.""" enemy1 = Enemy('images/enemy.png', 2600, 50) enemy2 = Enemy('images/enemy.png', 3020, 100) enemy3 = Enemy('images/enemy.png', 5940, 30) enemy4 = Enemy('images/enemy.png', 7040, 30) enemy5 = Enemy('images/enemy.png', 7840, 10) enemy6 = Enemy('images/enemy.png', 8730, 10) enemy7 = Enemy('images/enemy.png', 10450, 150) enemy8 = Enemy('images/enemy.png', 4000, 20) enemy9 = Enemy('images/enemy.png', 4710, 20) enemy10 = Enemy('images/enemy.png', 8130, 80) ENEMY_GROUP.add(enemy1) ENEMY_GROUP.add(enemy2) ENEMY_GROUP.add(enemy3) ENEMY_GROUP.add(enemy4) ENEMY_GROUP.add(enemy5) ENEMY_GROUP.add(enemy6) ENEMY_GROUP.add(enemy7) ENEMY_GROUP.add(enemy8) ENEMY_GROUP.add(enemy9) ENEMY_GROUP.add(enemy10) enemy11 = Enemy('images/enemy.png', 6600, 30) ENEMY_GROUP.add(enemy11) enemy12 = Enemy('images/enemy.png', 7500, 40) ENEMY_GROUP.add(enemy12) enemy13 = Enemy('images/enemy.png', 2000, 20) ENEMY_GROUP.add(enemy13) enemy14 = Enemy('images/enemy.png', 9000, 80) ENEMY_GROUP.add(enemy14) enemy15 = Enemy('images/enemy.png', 10000, 30) ENEMY_GROUP.add(enemy15) enemy16 = Enemy('images/enemy.png', 11500, 10) ENEMY_GROUP.add(enemy16) enemy18 = Enemy('images/enemy.png', 12070, 40) ENEMY_GROUP.add(enemy18)
def main(): run = True lost = False lives = 5 level = 0 lostCount = 0 bulletSpeed = 4 enemyVel = 1 enemies = [] waveLenght = 5 playerVel = 5 # SET UP PLAYER COORDS player = Player(375, 630) clock = pygame.time.Clock() def redrawWindow(): screen.blit(config.BG, (0, 0)) # TEXTs livesLabel = config.mainFont.render(f"Lives: {lives}", 1, (255, 255, 255)) levelLabel = config.mainFont.render(f"Level: {level}", 1, (255, 255, 255)) # Draw lives left screen.blit(livesLabel, (10, 10)) # Draw score screen.blit(levelLabel, (config.WIDTH - levelLabel.get_width() - 10, 10)) # draw enemies for enemy in enemies: enemy.draw(screen) # draw player player.draw(screen) if lost: lostLabel = config.lostFont.render("You Lost!!!", 1, (255, 0, 0)) screen.blit(lostLabel, (config.WIDTH / 2, 350)) # update window pygame.display.update() # MainLoop while run: clock.tick(config.FPS) redrawWindow() if lives <= 0 or player.health <= 0: lost = True lostCount += 1 if lost: if lostCount > config.FPS * 5: run = False else: continue if len(enemies) == 0: level += 1 waveLenght += 5 for i in range(waveLenght): enemy = Enemy(random.randrange(50, config.WIDTH - 100), random.randrange(-1500, -100), secrets.choice(config.enemyColor)) enemies.append(enemy) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False # it will recognize more than 1 action keys = pygame.key.get_pressed() if (keys[pygame.K_a] or keys[pygame.K_LEFT]) and player.x + playerVel > 0: player.x -= playerVel if (keys[pygame.K_d] or keys[pygame.K_RIGHT] ) and player.x + playerVel + player.getWidth() < config.WIDTH: player.x += playerVel if (keys[pygame.K_w] or keys[pygame.K_UP]) and player.y - playerVel > 0: player.y -= playerVel if ( keys[pygame.K_s] or keys[pygame.K_DOWN] ) and player.y + playerVel + player.getHeight() + 15 < config.HEIGHT: player.y += playerVel if keys[pygame.K_SPACE]: player.shoot() for enemy in enemies[:]: enemy.move(enemyVel) enemy.moveBullets(bulletSpeed, player) # SZANSA ZE STRZELI if random.randrange(0, 4 * config.FPS) == 1: enemy.shoot() # SPRAWDZA CZY TRAFILO GRACZA if config.collide(enemy, player): player.health -= 10 enemies.remove(enemy) # JESLI INVADER PRZEJDZIE PRZEZ CALA WYSOKOSC OKNA TO GRACZ TRACI ZYCIE elif enemy.y + enemy.getHeight() > config.HEIGHT: lives -= 1 enemies.remove(enemy) player.moveBullets(bulletSpeed, enemies)
def create_enemies(self): # Add enemies to the list for _i in range(self.MAX_ENEMIES): self.enemies.append(Enemy())
def run_game(self): """ Main game loop Main game loop of EX-54. Draws the background, main ship, checks collisions, etc. """ fps_clock = pygame.time.Clock() # Create player ship and enemy main_ship = SpaceShip(pygame.image.load("images\spaceship.png"), 100, 100) cannon = Enemy(pygame.image.load("images\cannon.gif")) explosion_img = SpriteSheet('images\explosion.png') # Start music pygame.mixer.music.load('sounds\music.ogg') pygame.mixer.music.play() # Set variables enemy_munitions = [] enemy_hits = [] difficulty = constants.selected_difficulty distance = 0 font = pygame.font.SysFont('Calibri', 20, True, False) distance_text = font.render("Distance", True, constants.WHITE) while True: weapon_cnt = 0 if distance > constants.goal: self.ending(main_ship, cannon, explosion_img, fps_clock) menu(self.surface, str(self.score)) health = main_ship.health main_ship = SpaceShip(pygame.image.load("images\spaceship.png"), 100, 100, health) cannon.reset() enemy_munitions = [] distance = 0 for event in pygame.event.get(): vy = 0 vx = 0 pressed = pygame.key.get_pressed() if event.type == QUIT: pygame.quit() sys.exit() if pressed[K_w] or pressed[K_UP]: vy -= 5 elif pressed[K_s] or pressed[K_DOWN]: vy += 5 elif pressed[K_a] or pressed[K_LEFT]: vx -= 5 elif pressed[K_d] or pressed[K_RIGHT]: vx += 5 elif pressed[K_SPACE]: menu(self.surface, str(self.score)) # Generate randomized missiles if random.randint(0, difficulty) == 1: if not len(enemy_munitions) > 19: enemy_boom = Weapon(constants.window_w, random_loc(constants.window_h), constants.enemy_missile_img, 'enemy') enemy_munitions.append(enemy_boom) enemy_hits.append(enemy_boom) # Check for hits and update health if len(enemy_munitions) > 1: ship_hit_list = pygame.sprite.spritecollide(main_ship, enemy_hits, False) if len(ship_hit_list) > 0: for weapon in ship_hit_list: if not weapon.exploded: weapon.exploded = True weapon.explode(explosion_img) main_ship.health -= 10 if main_ship.health <= 0: main_ship.explode(explosion_img) menu(self.surface, str(self.score)) main_ship = SpaceShip(pygame.image.load("images\spaceship.png"), 100, 100) enemy_munitions = [] distance = 0 self.score = 0 # Redraw all relevant elements main_ship.move(self.surface, vy, vx) move_bg(self.main_bg, self.surface) for weapon in enemy_munitions: weapon.fall() weapon.draw(self.surface, explosion_img) if weapon.exploded: enemy_munitions.pop(weapon_cnt) weapon_cnt += 1 main_ship.draw(self.surface) cannon.draw(self.surface) text = font.render("Health: " + str(main_ship.health) + "/ 100", True, constants.WHITE) self.surface.blit(text, [200, 10]) self.surface.blit(distance_text, (10, 10)) draw_distance(self.surface, distance, constants.goal) # Update Screen and increase the distance / score pygame.display.update() fps_clock.tick(constants.fps) self.score += 10 distance += 1
from classes.enemy import Enemy #imports the class 'Enemy' from the file 'enemy.py' in the directory 'classes' #because we imported the class 'Enemy' it can do be called out in this script enemy = Enemy(200,60) #creates an object from the class of Enemy with 200hp and 60mp print(enemy.get_hp()) #prints out the hp print(enemy.get_mp()) #prints out the mp ''' option 2 class Enemy: #a class is a blueprint hp = 200 #now all enemys have 200hp def __init__(self, atklow, atkhigh): #creates init function to input low and high attacks self.atklow = atklow self.atkhigh = atkhigh def getAtk(self): #function within a class will put 'self' as its parameter print("atk is", self.atklow) def getHP(self): print("HP is", self.hp) enemy1 = Enemy(40, 49) #asign 'enemy1' as type of the class Enemy enemy1.getAtk() #calls out the getAtk function enemy1.getHP() #call out the getHP function enemy2 = Enemy(75, 90) #repeat for 'enemy2' enemy2.getAtk() enemy2.getHP()
def main(): run = True FPS = 60 level = 0 boss_spawned = False lives = 5 main_font = pygame.font.SysFont("comicsans", 50) stats_font = pygame.font.SysFont("comicsans", 30) lost_font = pygame.font.SysFont("comicsans", 60) player_items = [] dropped_items = [] enemies = [] dificulty = 4 wave_length = dificulty enemy_vel = 1 level_to_boss = 4 killed_bosses = 0 player_vel = 5 laser_vel = 5 player = Player(300, 630) player_damage = player.damage clock = pygame.time.Clock() lost = False lost_count = 0 won = False def redraw_window(): nonlocal player_vel nonlocal player_damage WIN.blit(BG, (0, 0)) # draw text lives_label = main_font.render(f"Lives: {lives}", 1, (255, 255, 255)) level_label = main_font.render(f"Level: {level}", 1, (255, 255, 255)) speed_label = stats_font.render(f"Speed: {player_vel-4}", 1, (255, 255, 255)) damage_label = stats_font.render(f"Damage: {player_damage}", 1, (255, 255, 255)) WIN.blit(lives_label, (10, 10)) # Displaying lives WIN.blit( level_label, (WIDTH - level_label.get_width() - 10, 10)) # Displaying level WIN.blit(damage_label, (WIDTH - level_label.get_width() + 10, HEIGHT - speed_label.get_height())) # Displaying player damage WIN.blit(speed_label, (WIDTH - speed_label.get_width() - 10, HEIGHT - speed_label.get_height() * 2)) # Displaying player speed for item in player_items: item.draw(WIN) for item in dropped_items: item.draw(WIN) if collide(item, player): dropped_items.remove(item) item.y = HEIGHT - item.img.get_height() / 2 - len( player_items) * 40 - 5 item.x = 3 if item.bonus != 'damage': item.width, item.height = 70, 70 else: item.width, item.height = 90, 90 if item.bonus == 'speed': player_vel += 1 elif item.bonus == 'damage': player_damage += 5 player_items.append(item) for enemy in enemies: # Drawing all enemies if enemy.health > 0 and enemy.type != 'boss': enemy.draw(WIN) enemy.healthbar(WIN) elif enemy.type == 'boss': enemy.draw(WIN) else: enemies.remove(enemy) player.draw(WIN) # Drawig player player.damage = player_damage if lost: # If layer lost lost_label = lost_font.render("You Lost!", 1, (255, 255, 255)) WIN.blit(lost_label, (WIDTH / 2 - lost_label.get_width() / 2, 350)) if won: # If plyer won won_label = lost_font.render("You Won!", 1, (255, 255, 255)) WIN.blit(won_label, (WIDTH / 2 - won_label.get_width() / 2, 350)) player.final_scene() pygame.display.update() while run: clock.tick(FPS) redraw_window() if lives <= 0 or player.health <= 0: # That means that player lost lost = True lost_count += 1 if killed_bosses == 3: # That means that player won won = True lost_count += 1 if lost: if lost_count > FPS * 3: run = False else: continue if won: if player.final_off_screen: run = False if len( enemies ) == 0 and level < level_to_boss and not boss_spawned and not won: # If player killed all enemies level += 1 wave_length += int(wave_length / 2) for i in range(wave_length): # Adding new enemies enemy = Enemy(random.randrange(50, WIDTH - 100), random.randrange(-1300, -100), random.choice(["red", "blue", "green"]), 10 + level * 4) enemies.append(enemy) elif level == level_to_boss and not boss_spawned: # If it is the boss level enemies = [] # Removing all enemies enemies.append( Boss(WIDTH / 2 - 130, -350, killed_bosses, 500 * (killed_bosses + 1))) # Spawning boss boss_spawned = True for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() break keys = pygame.key.get_pressed() if keys[pygame.K_a] and player.x - player_vel > 0 and not won: # left player.x -= player_vel if keys[pygame.K_d] and player.x + player_vel + player.get_width( ) < WIDTH and not won: # right player.x += player_vel if keys[pygame.K_w] and player.y - player_vel > 0 and not won: # up player.y -= player_vel if keys[pygame.K_s] and player.y + player_vel + player.get_height( ) + 15 < HEIGHT and not won: # down player.y += player_vel if keys[pygame.K_SPACE] and not won: # shoot player.shoot() for enemy in enemies[:]: enemy.move(enemy_vel) enemy.move_lasers(laser_vel, player) if random.randrange(0, 4 * 60) == 1 and enemy.health > 0: enemy.shoot() if collide(enemy, player): # If enemy colliding with player if enemy.type == 'boss': player.health -= 0.3 else: player.health -= 10 enemies.remove(enemy) elif enemy.y + enemy.get_height() > HEIGHT and enemy.type != 'boss': lives -= 1 enemies.remove(enemy) elif enemy.type == 'boss' and enemy.killed: enemies = [] if killed_bosses < 2: new_item = Item(enemy.x, enemy.y, killed_bosses) dropped_items.append(new_item) boss_spawned = False level_to_boss += dificulty killed_bosses += 1 player.move_lasers(-laser_vel, enemies)
import random from classes.enemy import Enemy enemy = Enemy(200, 60, 45, 50) print("Enemy HP is {enemyhp}".format(enemyhp=enemy.printHp())) playerhp = 260 while playerhp > 0: dmg = random.randrange(enemy.atkl, enemy.atkh) playerhp -= dmg playerhp = 30 if playerhp <= 30 else playerhp print("Enemy has dealt {dmg} points of damage." "Current HP is {currhp}.".format(dmg=dmg, currhp=playerhp)) if playerhp == 30: print( "Your health is critically low. You've been teleported to a safe location." ) break
max_potion = items('Max Potion', 'potion', 'Heals 150HP', 150, 1) elixir = items('Elixir', 'elixir', 'Restore 35HP/35MP', 35, 2) # offensive items grenade = items('Grenade', 'attack', 'Deals 125 damage', 125, 2) molotov = items('Molotov', 'attack', 'Deals 100 damage', 100, 2) # creating list for spells and items spell_list = [fireblast, thunderbolt, blizzard, quake, poison, heal, superheal] items_list = [potion, max_potion, elixir, grenade, molotov] # get players name player1_name = input('Enter Player1\'s Name: ') player2_name = input('Enter Player2\'s Name: ') # initializing players and enemy player_1 = Enemy(player1_name, 550, 100, 50, 15, spell_list, items_list) player_2 = Enemy(player2_name, 550, 100, 50, 15, spell_list, items_list) enemy1 = Enemy('Ultra Beast', 550, 200, 70, 30, [], []) flag = True print(bc.WARNING + bc.BOLD + "A WILD BEAST APPEARS" + bc.ENDC) count = 0 players = [player_1, player_2] # Game while flag: print('---------------') for player1 in players: player1.choose_action() print(bc.FAIL + 'What will ' + player1.name + ' do?? ' + bc.ENDC) player_choice = int(input())-1
from classes.enemy import Enemy enemy = Enemy(20, 30) print("HP Enemy is", enemy.getHp())
from classes.enemy import Enemy enemy1 = Enemy(50, 80) enemy2 = Enemy(150, 180) enemy3 = Enemy(250, 280) print(enemy1.get_hp()) print(enemy2.get_hp()) print(enemy3.get_hp())
quit() if event.type == MOUSEBUTTONDOWN: if event.button == 1: click = True """ MAIN LOOP - GAME LOOP """ diff = "" main_loop = True seeing_score = False while main_loop: m_ship = Ship("NAVY BLUE", "1", SCREEN, SCREEN_WIDTH, SCREEN_HEIGHT) rect = Enemy(SCREEN, SCREEN_WIDTH, SCREEN_HEIGHT) global SCORE SCORE = 0 #json_file = pen("scores.json", "r+", encoding="utf-8") #j_score = json.load(json_file) #BACKGROUND Sound mixer.music.load('src/sounds/Mercury.mp3') mixer.music.play(-1) """ MENUS LOOP """ menu_loop = True while menu_loop: main_menu() clock.tick(FPS)
from classes.enemy import Enemy # Relative paths are written with '.' NOT '/' enemy = Enemy(200, 60) print("HP: ", enemy.get_hp())
from classes.enemy import Enemy enemy = Enemy(200, 60) print("hp", enemy.get_hp()) ''' import random class Enemy: hp = 600 # This is used to intiliaze and to make the values more dynamic def __init__(self, atkl, atkh): self.atkl = atkl self.atkh = atkh def getatk(self): print("Enemy attack is : ", self.atkl) def gethp(self): print(" Enemy Hp is :", self.hp) enemy1 = Enemy(40, 60) enemy1.getatk() enemy1.gethp() enemy2 = Enemy(90, 100) enemy2.getatk() enemy2.gethp()