def interact(self, player): """ A method that controls what the story character says or does to the player character; controls the interaction ... Parameters ---------- :param player: represents user :type player: player.character """ if player.story_tracker <= 10: p("""THE END IS HERE! YOU CANNOT STOP THIS! MY MINION WILL SLAY YOU""") opponent = enemy(25, "Drakthor's Minon") winner = player.battle(opponent) time.sleep(2) if winner == player.name: p("""Well done against my minion, maybe I underestimated you...") HE IS HERE!! DRAGONTHOR! DRAGONTHOR: LETS TEST MY NEW STRENGTH ON YOU""") opponent = enemy(35, "DRAGONTHOR") winner = player.battle(opponent) time.sleep(2) if winner == player.name: p("""Thank you for playing. Hope you enjoyed this game By Diljeet Jagpal""") player.story_tracker = 11 else: p("YOU DO NOT STAND A CHANGE AGAINST THE MIGHTY DRAKTHOR") else: p("YOU DO NOT STAND A CHANGE AGAINST THE MIGHTY DRAKTHOR")
def setEnemyList(self): if (self.getLevelStart()): for i in range(0, self.getECount()): e = enemy.enemy() self.enemyList.append(e) if i == 100: break if (self.getLevelNo() % 5 == 0 and self.getLevelNo() > 0): if (self.getLevelNo() % 5 == 0): for i in range(0, int(self.getLevelNo() / 5)): boss = enemy.enemy() boss.setWidth(boss.enemySizes[1]) boss.setHeight(boss.enemySizes[1]) boss.setStyle(2) boss.setHP(100) self.enemyList.append(boss) self.setECount(self.getECount() + 1) if i == 30: break self.setLevelStart(False)
def level2(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [enemy(315, 515, 535), enemy(270, 510, 275)] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def makeLevel(self): counter = 0 xSpot = 16 ySpot = 16 for x in self.design: for y in x: if y is '#': self.boxes.append( sprites.sprites('Obstacles/box.png', (xSpot, ySpot))) self.boxGroup.add(self.boxes[counter]) counter += 1 elif y is 'X': self.enemies.append( enemy.enemy('Enemies/slime.png', (xSpot, ySpot), self.boxes)) #this shouldn't be here: #bosses take have their own entire level, and theres only one of them #no need to waste time checking for them among a bunch of enemies ''' elif y is 'O': self.enemies.append(boss.boss('Enemies/orc.png', (xSpot, ySpot), self.boxes)) ''' xSpot += 48 xSpot = 0 ySpot += 58 #Reset counters to iterate through again -- this time for spawning enemies. #(Obstacles list must be passed in for each enemy.) #Leaving this in case something breaks """
def launchBattle(self, enemyNpc, lD): #self.boxMessage("The battle is joined!") result = self.myBattle.fightBattle(self, enemy.enemy(enemyNpc.name, lD), self.gameBoard, enemyNpc.images, self.myHero.images) #result = self.myBattle.fightBattle(self, enemy.enemy(enemyNpc.name, lD), self.gameBoard ) if result == 'escaped': # escaped from battle return False elif result == 'died': # died in battle self.gameOver() elif result == 'won': # won battle for item in self.myMenu.displayChest(self.getLoot(enemyNpc.name), 'Enemy Loot'): msg = self.myHero.getItem(item) self.Ticker.tick(30) self.textMessage(msg) self.myHero.notchKill() # final boss if enemyNpc.name == 'Garden Badger': self.Director.advanceQuest(0) if self.Director.getQuestStatus(0) == 3: self.boxMessage( "Finished off those garden badgers, did ya? Garden Variety is more like it!" ) elif enemyNpc.name == 'Skeleton King': self.Director.setEvent(11) return True
def startup(self): #method for starting Game state stuff print('Starting Up Game State...') #set the next state, defaults to the transition state self.next = self.previousState.targetState #initialize the player self.player1 = player.player(self.window.windowSize) self.playerProjectiles = [] #initialize the camera #self.camera1 = camera('basicCamera', self.levelWidth, self.levelHeight) #initialize enemies self.enemies = [] numberEnemies = 5 for i in range(0, numberEnemies): self.enemies.append( enemy.enemy(self.window.windowSize[0], self.window.windowSize[1])) pass #initialize entities object list self.entities = []
def run(self, already_run): """Begin running the game""" if (not already_run): pass self.clock.tick() while self.no_exit: #print "updating..." self.frame += 1 probability = 50+(self.myshop.sharkconvo.debt/1000) if probability < 1: probability = 1 print "probability is ", probability if self.frame%probability==0: self.enemies.append(enemy()) if self.frame >= 900: self.levelactive = False self.frame = 0 if (self.levelactive): self.handle_events() self.update() self.draw() pygame.display.flip() else: self.myshop.activate(self.screen, self.money + 2500) self.money = 0 self.levelactive = True self.frametime = float(self.clock.tick(60))
def interact(self, player): """ A method that controls what the story character says or does to the player character; controls the interaction ... Parameters ---------- :param player: represents user :type player: player.character """ if player.story_tracker <= 8: p("""You DARE come to my lair... BIG MISTAKE!""") opponent = enemy(20, "Sion") winner = player.battle(opponent) time.sleep(2) if winner == player.name: player.story_tracker = 9 p("""WHO ARE YOU??? I will leave Queen Rachel alone... Just please dont hurt me anymore...""") else: p("""DRAKTHOR WILL DRINK THE BLOOD OF HIS ENEMIES I SHALL FEAST BY HIS SIDE""") elif player.story_tracker > 8: p("I wil do whatever you want...")
def level4(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(315, 465, 535), enemy(750, 900, 430), enemy(310, 460, 320), enemy(0, 150, 210) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def level3(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(0, 170, 450), enemy(770, 900, 450), enemy(0, 260, 290), enemy(620, 900, 290) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def interact(self, player): """ A method that controls what the story character says or does to the player character; controls the interaction ... Parameters ---------- :param player: represents user :type player: player.character """ if player.story_tracker <= 5: p("""SSSSSSSSsssssssssssssssssssssso you thinksss you can take my goldssss... thinkssss AGAIN!""") opponent = enemy(10, "Serpant Queen") winner = player.battle(opponent) time.sleep(2) if winner == player.name: player.story_tracker = 6 p("""SSSssuch power... Get AWAY FROM ME! Drakthor will give me power... You will SSSSssseeeee....""") player.add_item(earls_gold) else: p("""So... PATHETIC""") elif player.story_tracker > 5: p("""You got your gold... What do you want from me...""")
def interact(self, player): """ A method that controls what the story character says or does to the player character; controls the interaction ... Parameters ---------- :param player: represents user :type player: player.character """ if player.story_tracker <= 3: p("""You better have brought me some sheep... I guess you will have to do""") opponent = enemy(5, "Wolfernius") winner = player.battle(opponent) time.sleep(2) if winner == player.name: player.story_tracker = 4 p("""You win, I will stop taking your sheep... But if you think it ends here... HAH... Dark times are coming... When Drakthor takes final form... I will be back ... *cough*""") else: p("""HA!... YOU THOUGHT YOU COULD DEFEAT ME...""") elif player.story_tracker > 3: p("""You win, I will stop taking your sheep... But if you think it ends here... HAH... Dark times are coming... When Drakthor takes final form... I will be back ... *cough*""")
def test7(self): # Test exp gain x = self.p1.EXP y = self.p1.level self.e2 = enemy(100) self.p1.exp_gain(self.e2) self.assertGreater(self.p1.EXP,x) self.assertEqual(self.p1.level, y + 1)
def level8(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(315, 465, 160), enemy(15, 150, 450), enemy(585, 800, 450), enemy(30, 230, 275), enemy(600, 800, 275) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def level5(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(315, 465, 535), enemy(750, 900, 420), enemy(150, 300, 300), enemy(495, 695, 300), enemy(361, 511, 200) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def level6(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(430, 580, 535), enemy(0, 182, 323), enemy(640, 890, 395), enemy(545, 645, 237), enemy(230, 380, 237) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def generate_enemys(): names_list=os.listdir('./') enemys=[] for f in names_list: e=enemy.enemy(f,35) enemys.append(e) return enemys
def main(): # тикер отрисовки кадров clock = pygame.time.Clock() # настройки окна pygame.display.set_caption(c.GAME_NAME) # игровое меню intro_font = pygame.font.Font(None, 72) a.game_intro(intro_font) BG = a.load_image("bg.jpg") # очки points_font = pygame.font.Font(None, 36) point = po.points(points_font) # игровой персонаж health_font = pygame.font.Font(None, 72) man = p.player((800 - 130) / 2, 375, 70, 70, health_font) # враги viruses = pygame.sprite.Group() viruses.add(e.enemy(900, 390, 150, 150, viruses)) # основной цикл while c.runing: clock.tick(c.FPS) for i in pygame.event.get(): if i.type == pygame.QUIT: runing = False break # враги for virus in viruses: virus.move() point.up(virus.get_points()) # столкновение if pygame.sprite.spritecollide(man, viruses, False): man.wound() # управление keys = pygame.key.get_pressed() if keys[pygame.K_ESCAPE]: c.runing = False break # анализ движения man.move(keys) # прыжки man.jump(keys) a.re_draw_window(BG, man, point, viruses) # если перса убили, конец игры man.kill(intro_font, point, viruses)
def newEnemy(self, x): xInit = (random.randint(1, 20)) * 5 * -1 if x % 2 == 0: xInit = self.screen_width + (x + 1) * 5 e = enemy(pygame, xInit, self.screen_height - 102, 64, 64, 450, assets(pygame).getEnemy()) e.vel = random.randint(1, 4) * self.dificultyMultiplier return e
def generate(n): 哥布林 = [] 史萊姆 = [] 怪物 = [] 魔王 = [] for i in range(1, n + 1): 史萊姆.append(enemy.enemy('史萊姆', '無', i)) 史萊姆.append(enemy.enemy('史萊姆', '無', i)) 哥布林.append(enemy.enemy('哥布林', '男', i)) 哥布林.append(enemy.enemy('哥布林', '男', i)) 魔王.append(enemy.devil('L王', '男', 10)) 魔王.append(enemy.devil('O王', '男', 20)) 魔王.append(enemy.devil('S王', '男', 30)) 魔王.append(enemy.devil('E王', '男', 40)) 魔王.append(enemy.devil('R王', '男', 50)) 魔王.append(enemy.devil('LOSER王', '男', 60)) en = [史萊姆, 哥布林, 魔王] return en
def enter(): global sky, ground, rsky, rground, rev_state, stage_term, stamp, H, E, phase global ground_x, ground_y, sky_x, sky_y global fev global stage_start_time, stage_state global E_appear_speed, E_appear_time_ratio, Emax global hit global shake, up_key_on, down_key_on, left_key_on, right_key_on global dash_dir # 1: 상 10: 하 100: 좌 1000: 우 global cur_score global Item, Item_last_create_time, Item_create_time global skill_inv, slot global selection skill.lock = load_image('../Pics/locked.png') rev_state = False ground_x, ground_y = 200, 100 sky_x, sky_y = 200, 100 shake = shaking() sky = load_image('../Pics/sky_background.png') rsky = load_image('../R_Pics/sky_background.png') ground = load_image('../Pics/ground_map.png') rground = load_image('../R_Pics/ground_map.png') hit = load_image('../Pics/hit_effect.png') slot = load_image('../Pics/skill_slot.png') stage_term = load_image('../Pics/vacant_bar.png') stamp = load_image('../Pics/hero_stamp.png') fev = fever() skill_inv = [ skill.Thunder(random.randint(0 + 150, 800 - 150)), skill.Barrier(), skill.Shout() ] selection = 0 E_appear_speed = 0.5 #몬스터 출현 속도 E_appear_time_ratio = 1 #몬스터 출현 속도 증가량 Emax = 10 #몬스터 최대 출현 수 stage_start_time = time.time() #스테이지 시작 시간 stage_state = stage_start up_key_on, down_key_on, left_key_on, right_key_on = False, False, False, False H = [hero.hero()] E = [enemy.enemy(H[-1], H[-1])] Item = [] Item_last_create_time = time.time() Item_create_time = 1 cur_score = number(0) phase = [phrase(stage_state)]
def __init__(self): pygame.init() pygame.mixer.init() self.screen = pygame.display.set_mode((700, 700), 0, 32) self.clock = pygame.time.Clock() self.player = player.Player(700, 700) self.Food = food.Food() self.Girl = girl.girl() self.Enemy = enemy.enemy() self.font = pygame.font.SysFont("freesansbold.ttf", 40) pygame.display.set_caption("Cupid Shuffle") self.go = pygame.mixer.Sound(os.path.join(os.getcwd(), "gameover.aiff"))
def explore_room(self): print("\nThis is a room!") if (self.combat): print("ENTERING COMBAT") mob = enemy.enemy(self.level) print(mob.get_name()) if (not combat_handler.do_combat(mob, self.player)): return False self.output_move_options() input = getInput() input_num = self.sanitize_input(input) return self.explore_next_room(input_num)
def put_enemy(): i=0 while i<no_of_enemy: if i%2==0: a=random.randint(4,19) b=random.randint(1,19) y=4+4*(a-1) x=2+2*(b-1) else: a=random.randint(1,19) b=random.randint(4,19) y=4+4*(a-1) x=2+2*(b-1) if arr[x][y]==' ' and arr[x+1][y+3]==' ': enemy_objs.append(enemy(x,y,i%4+1,0)) i+=1 for obj in enemy_objs: obj.place_enemy()
def level9(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(315, 515, 160), enemy(515, 815, 535), enemy(330, 440, 160), enemy(400, 500, 350), enemy(215, 350, 450), enemy(525, 715, 450), enemy(30, 230, 275), enemy(600, 800, 275) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def level10(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(15, 115, 450), enemy(785, 885, 450), enemy(640, 740, 375), enemy(130, 230, 375), enemy(175, 275, 300), enemy(15, 365, 160), enemy(535, 880, 160), enemy(560, 740, 300) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def level7(key_x, key_y, enemy_list, score, bg): state = 'retry' while state == 'retry': enemy_list = [ enemy(135, 315, 535), enemy(135, 315, 535), enemy(310, 560, 375), enemy(20, 255, 450), enemy(315, 415, 200), enemy(15, 265, 300), enemy(15, 165, 105) ] score1, state = Game(display, enemy_list, block_list, key_x, key_y, score, bg) if state == 'retry': score1 = 0 score_screen(display, score) score = score1 return score
def launchBattle(self, enemyNpc, lD): #self.boxMessage("The battle is joined!") result = self.myBattle.fightBattle(self, enemy.enemy(enemyNpc.name, lD), self.gameBoard, enemyNpc.images, self.myHero.images) #result = self.myBattle.fightBattle(self, enemy.enemy(enemyNpc.name, lD), self.gameBoard ) if result == 'escaped': # escaped from battle return False elif result == 'died': # died in battle self.gameOver() elif result == 'won': # won battle for item in self.myMenu.displayChest( self.getLoot(enemyNpc.name), 'Enemy Loot' ): msg = self.myHero.getItem(item) self.Ticker.tick(30) self.textMessage(msg) self.myHero.notchKill() # final boss if enemyNpc.name == 'Garden Badger': self.Director.advanceQuest(0) if self.Director.getQuestStatus(0) == 3: self.boxMessage("Finished off those garden badgers, did ya? Garden Variety is more like it!") elif enemyNpc.name == 'Skeleton King': self.Director.setEvent(11) return True
def interact(self, player): """ A method that controls what the story character says or does to the player character; controls the interaction ... Parameters ---------- :param player: represents user :type player: player.character """ if player.story_tracker == 7: p("By Lord Drakthor you shall not pass") opponent = enemy(15, "Drakthor's Minion") winner = player.battle(opponent) time.sleep(2) if winner == player.name: player.story_tracker = 8 p("In the end, Drakthor will still remain victorious...") else: p("YOU DO NOT STAND A CHANGE AGAINST THE MIGHTY DRAKTHOR") elif player.story_tracker > 7: p("In the end, Drakthor will still remain victorious... **Cough**")
def __init__(self, width, height): self.width, self.height = width, height screen = pygame.display.set_mode((width, height)) rpl_mem = replay_memory() counter = 0 enemy_lists = [] for i in range(5): speed = random.randint(4, 10) ene = enemy(width, height, screen, speed) enemy_lists.append(ene) player = player_agent(screen, width, height, rpl_mem) rect = [0, 0, 0, 0] reward = Rewards(enemy_lists, rect) while 1: screen.fill(0) for i in range(len(enemy_lists)): enemy_lists[i].run_single(rect) n_act = player.run_single(rect) r = reward.getReward() if n_act > 0: #enough images to observe player.set_reward(r) player.training() pygame.display.flip()
def addEnemy(): enemy = en.enemy(window, BS, BSI) vertical = randint(0, 1) # generated in the top/down or left/right borders if vertical == 0: # left/right posy = randint(1, HEIGHT - 2) left_right = randint(0, 1) if left_right == 0: posx = 1 else: posx = WIDTH - 2 else: # top/down posx = randint(1, WIDTH - 2) top_down = randint(0, 1) if top_down == 0: posy = 1 else: posy = HEIGHT - 2 enemy.setPos(posx, posy) enemy_list.append(enemy)
#sound.play() music = pg.mixer.music.load('audio/dvs.mp3') pg.mixer.music.play(-1) xin = 50 yin = 585 change = 8 lm = False rm = False ls = False rs = True jump = False jump_h = 10 neg = 1 bullet = [] enemy_list = [enemy(0, 350, 370), enemy(290, 640, 270)] block_list = [[290, 640, 500], [0, 350, 420], [290, 640, 320], [0, 350, 210]] fall = 1 fall_state = True health = 10 health_list = [] gameExit = False while not gameExit: clock.tick(24) for bullets in bullet: if bullets.x > 885 or bullets.x < 15: if bullets in bullet: bullet.pop(bullet.index(bullets))
def map_enemies(self, val): """ controls all random battles on all maps ... Parameters ---------- :param val: numeric element from map matrix, decides possible interactions :type val: int Return ------ :return True: To inform completion without error :type True: Bool """ flt = random( ) # Random number to decide how often a random battle should occur if flt < 0.3: if val == 26: # Set regions have varying levels of difficulty in terms of enemies self.world_map_enemies(enemy(level=1, name=names[1]), enemy(level=2, name=names[2]), enemy(level=3, name=names[3])) elif val == 27: self.world_map_enemies(enemy(level=4, name=names[4]), enemy(level=5, name=names[5]), enemy(level=6, name=names[6])) elif val == 28: self.world_map_enemies(enemy(level=7, name=names[7]), enemy(level=8, name=names[8]), enemy(level=9, name=names[9])) elif val == 29: self.world_map_enemies(enemy(level=10, name=names[10]), enemy(level=11, name=names[11]), enemy(level=12, name=names[12])) elif val == 30: self.world_map_enemies(enemy(level=13, name=names[13]), enemy(level=14, name=names[14]), enemy(level=15, name=names[15])) elif val == 10: pass else: # If battle is not on world map then use enemies dict. to find right strength enemy opponent = enemy(level=val - 10, name=names[val - 10]) self.battle(opponent) return True
import pygame from pygame.locals import * import sys, text, save, player, minimap, enemy, math, pause enemy = enemy.enemy('whiteWolf') clock = pygame.time.Clock() background = pygame.transform.scale2x(pygame.image.load('UI.png').convert_alpha()) pygame.init() pygame.display.set_caption('Dungeon Crawler') pygame.display.set_icon(pygame.image.load('icon.png')) size = width, height = 672, 378 screen = pygame.display.set_mode(size) screen.blit(background, (0,0)) pygame.display.update() chr = player.character("cleric") textBox = text.textBox() hotbar = player.hotBar() bag = player.bag() bar = player.bar() regen = False exit = False nodeScreen = False def nothing(): pass def hotbarUpdate(): hotbar.update(mousePosition, hotbar.zero, mouseClick, pressed, pygame.K_0, nothing) hotbar.update(mousePosition, hotbar.one, mouseClick, pressed, pygame.K_1, nothing) hotbar.update(mousePosition, hotbar.two, mouseClick, pressed, pygame.K_2, nothing) hotbar.update(mousePosition, hotbar.three, mouseClick, pressed, pygame.K_3, nothing) hotbar.update(mousePosition, hotbar.four, mouseClick, pressed, pygame.K_4, nothing) hotbar.update(mousePosition, hotbar.five, mouseClick, pressed, pygame.K_5, nothing) hotbar.update(mousePosition, hotbar.six, mouseClick, pressed, pygame.K_6, nothing)