def PollAndUpdate(self): self.error_text = None try: response = requests.get("http://localhost:6119/game") game_info = json.loads(response.text) self.game_time = game_info['displayTime'] for player in game_info['players']: name = player['name'] if self.villain is not None and name == self.villain.name: break elif name != self.cfg.hero: self.villain = Villain(name, self.cfg.data_dir) self.build = Build(player['race'], self.cfg.data_dir) self.view.SetNotesText(self.villain.GetNotes()) break else: self.error_text = 'No villain found.' except Exception as e: self.error_text = "Can't connect to API." print(e) self.UpdateView(self.view_format)
class Board: '''board class''' bricks = [] bricks2 = [] level1 = [] enemies = [] bullets = [] ebul = [] coins = [] flyer = Flyer(355, 35, 1, 0) player = Mario(620, 28, 5, 0, 0, 1) for j in range(40): row = [] for k in range(1000): row.append(" ") level1.append(row) enemy = Enemy(140, 20, 1, 0) enemies.append(enemy) enemy = Enemy(170, 32, 1, 0) enemies.append(enemy) enemy = Enemy(150, 32, -1, 0) enemies.append(enemy) enemy = Enemy(215, 20, 1, 0) enemies.append(enemy) enemy = Enemy(265, 32, 1, 0) enemies.append(enemy) enemy = Enemy(580, 32, 1, 0) enemies.append(enemy) enemy = Enemy(590, 32, 1, 0) enemies.append(enemy) vil = Villain(730, 22, 0, 10) brick(bricks) for i in range(70, 130, 5): brick = MakeBrick(i, 30, -2) bricks2.append(brick) coin = Coin(i + 1, 28) coins.append(coin) for i in range(50, 80, 5): brick = MakeBrick(i, 20, -2) bricks2.append(brick) coin = Coin(i + 1, 18) coins.append(coin) for i in range(10, 60, 5): brick = MakeBrick(i, 30, -2) bricks2.append(brick) coin = Coin(i + 1, 28) coins.append(coin) for i in range(100, 140, 5): brick = MakeBrick(i, 20, -2) bricks2.append(brick) coin = Coin(i + 1, 18) coins.append(coin) time = 0 alivev = 1 # print_background(level1) # draw_brick(level1,bricks) def print_board(self, k): '''print board function''' if self.player.level == 1: print_background(self) print_player(self) draw_brick(self, self.bricks) print_enemy(self) print_bullet(self, self.bullets) print_bullet(self, self.ebul) if self.alivev == 1: print_villain(self, self.vil.posx, self.vil.posy) if self.alivev == 0: win(self) # time.sleep(3) temp = "" string = '\033[93m' + "Life=" + str( self.player.life) + " Score=" + str( self.player.score) + " Coins=" + str( self.player.coins) + "\n" + '\033[0m' if k >= 550 and self.alivev == 1: string += '\033[93m' + "Boss Life=" + \ str(self.vil.life) + "\n" + '\033[0m' temp += string for i in range(40): for j in range(k, k + 150, 1): temp += self.level1[i][j] print(temp) else: print_background(self) print_player(self) draw_brick(self, self.bricks2) draw_coin(self, self.coins) if time.time() - self.time >= 0.3: write(self) self.time = time.time() temp = "" string = '\033[93m' + "Life=" + str( self.player.life) + " Score=" + str( self.player.score) + " Coins=" + str( self.player.coins) + "\n" + '\033[0m' temp += string for i in range(40): for j in range(k, k + 150, 1): temp += self.level1[i][j] print(temp) def dum(self): '''dummy method''' return self
def start_game(screen): height, width = os.popen( 'stty size', 'r' ).read().split() #this obtains board size and width as dependent on the terminal size config.height = int( height ) - 8 config.width = int( width ) * 5 config.frame_width = int( width ) Coin = coins.Coins() Obs = obstacles.Obstacles() Bullets = bullets.Bullet() Mag=Magnet() ice=bullets.Bullet() screen.create_board( height, width, Coin, Obs, Mag ) player = hero.Hero( 4, 40 ) # creating hero with co ordinates config.time_left = 500 config.start_time = time() screen.refresh_screen( player,Bullets ) dragon_flag=0 Dragon=Villain(config.width-49,player.get_y()) itr=1 quitter=False while ((not game_state.is_game_over()) and (config.time_left > 0) and (not quitter)): player.gravity() player.magnet_effect(Mag.get_y(),Mag.get_start(),Mag.get_end()) #to put the effect of the magnet on the hero quitter=player.movehero( screen.get_screen(), Bullets) game_state.coin_check( screen.get_screen() ) game_state.place_bullets( screen.get_screen(), Bullets, Obs ,dragon_flag) config.time_left = 500-(time()-config.start_time) screen.refresh_screen( player ,Bullets) if config.start_col < 4 * int( width ): # for moving the board frame config.start_col += 1 + config.boost_speed else: #this takes place when in the last frame dragon_flag=1 Dragon.update(player.get_y(),ice,screen.get_screen()) game_state.place_ice(screen.get_screen(),ice,player) if config.boost_end_time <= time(): #to handle power ups if config.state == 'u': if config.boost_speed!=0: config.boost_speed = 0 elif config.shield!=0: config.shield=0 config.state = 'c' config.boost_end_time=time()+10 elif config.state=='c': config.boost_end_time=time()+10 config.state='r' itr+=1 if player.get_y()<config.height-3: config.hangtime+=1 if config.result == 1: print( "\nYOU WON !!!!!!!!! :)" ) else: print( "YOU LOST :( :( :(" ) print( "SCORE:- %d" % (config.score) )
def quest_enemy(self): """Returns an enemy for revenge/killing based quests""" villain = Villain() self.enemy = villain.main()
print("\nCreando Arco") heroBow = Bow("Armatus", 4, 7, 70) print("Equipando arco ...") hero.equip(heroBow) print("\nCreando Escudo") heroShield = Shield("Aegis", 10, 10) print("Equipando escudo ...") hero.equip(heroShield) print("--------------------") #ENEMIGO print("Creando Enemigo") villain = Villain("Rixton", 45, 100) villain.details() #villain.equipment() print("--------------------") print("\nCreando Espada") villainSword = Sword("Dark Sword", 5, 11, 100) print("Equipando espada ...") villain.equip(villainSword) print("\nCreando Arco") villainBow = Bow("Dark Bow", 2, 9, 70) print("Equipando arco ...") villain.equip(villainBow)