In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/03 Report--
This article mainly introduces how to use python to achieve the bomber academy games, has a certain reference value, interested friends can refer to, I hope you can learn a lot after reading this article, the following let the editor take you to understand.
Text
The rules of the game are still clear, ha, I do not do more introduction is not clear how to play can be under Baidu!
First of all, prepare the corresponding material: [the part is as follows]
Bomber master program:
Import sysimport cfgimport randomimport pygamefrom modules import * 'game main program' 'def main (cfg): # initialize pygame.init () pygame.mixer.init () pygame.mixer.music.load (cfg.BGMPATH) pygame.mixer.music.play (- 1) 0) screen = pygame.display.set_mode (cfg.SCREENSIZE) pygame.display.set_caption ('bomber-Source Base: # 959755565) # start interface Interface (screen, cfg, mode='game_start') # Game main loop font = pygame.font.SysFont (' Consolas', 15) for gamemap_path in cfg.GAMEMAPPATHS: #-Map map_parser = mapParser (gamemap_path Bg_paths=cfg.BACKGROUNDPATHS, wall_paths=cfg.WALLPATHS, blocksize=cfg.BLOCKSIZE) #-Fruit fruit_sprite_group = pygame.sprite.Group () used_spaces = [] for i in range (5): coordinate= map_parser.randomGetSpace (used_spaces) used_spaces.append (coordinate) fruit_sprite_group.add (Fruit (random.choice (cfg.FRUITPATHS), coordinate=coordinate Blocksize=cfg.BLOCKSIZE) #-our Hero coordinate= map_parser.randomGetSpace (used_spaces) used_spaces.append (coordinate) ourhero = Hero (imagepaths=cfg.HEROZELDAPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser) Hero_name='ZELDA') #-computer Hero aihero_sprite_group = pygame.sprite.Group () coordinate= map_parser.randomGetSpace (used_spaces) aihero_sprite_group.add (Hero (imagepaths=cfg.HEROBATMANPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser) Hero_name='BATMAN') used_spaces.append (coordinate) coordinate= map_parser.randomGetSpace (used_spaces) aihero_sprite_group.add (Hero (imagepaths=cfg.HERODKPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser) Hero_name='DK')) used_spaces.append (coordinate) #-bomb bomb bomb_sprite_group = pygame.sprite.Group () #-flag is_win_flag = False #-main loop screen = pygame.display.set_mode (map_parser.screen_size) clock = pygame.time.Clock () while True: dt = clock.tick (cfg.FPS) for event in pygame.event.get (): if event.type = = pygame.QUIT: pygame.quit () sys.exit (- 1) #-↑↓←→ key controls up and down The space bar drops bombs elif event.type = = pygame.KEYDOWN: if event.key = = pygame.K_UP: ourhero.move ('up') elif event.key = = pygame.K_DOWN: ourhero.move (' down') elif event.key = pygame.K_LEFT: ourhero.move ('left') elif event.key = = pygame.K_RIGHT: ourhero.move (' right') elif event.key = = pygame.K_SPACE: if ourhero.bomb_cooling_count = len (instances_list [0]) or Instances_list [self.coordinate [1]] [xmax] in ['w' 'x roles,' z']: break explode_area.append ([xmax, self.coordinate [1]]) return explode_area''role classes' 'class Hero (pygame.sprite.Sprite): def _ _ init__ (self, imagepaths, coordinate, blocksize, map_parser * * kwargs): pygame.sprite.Sprite.__init__ (self) self.imagepaths = imagepaths self.image = pygame.image.load (imagepaths [- 1]) self.image = pygame.transform.scale (self.image, (blocksize, blocksize)) self.rect = self.image.get_rect () self.rect.left Self.rect.top = coordinate [0] * blocksize Coordinate [1] * blocksize self.coordinate = coordinate self.blocksize = blocksize self.map_parser = map_parser self.hero_name = kwargs.get ('hero_name') # Health self.health_value = 50 # bomb cooldown Self.bomb_cooling_time = 5000 self.bomb_cooling_count = 0 # Random move cooldown (for AI computers only) self.randommove_cooling_time = 100self.randommove_cooling_count = 0 'character move' 'def move (self Direction): self.__updateImage (direction) if direction = = 'left': if self.coordinate [0]-1
< 0 or self.map_parser.getElemByCoordinate([self.coordinate[0]-1, self.coordinate[1]]) in ['w', 'x', 'z']: return False self.coordinate[0] = self.coordinate[0] - 1 elif direction == 'right': if self.coordinate[0]+1 >= self.map_parser.width or self.map_parser.getElemByCoordinate ([self.coordinate [0] + 1, self.coordinate [1]]) in ['wicked,' xtriple,'z']: return False self.coordinate [0] = self.coordinate [0] + 1 elif direction = = 'up': if self.coordinate [1]-1
< 0 or self.map_parser.getElemByCoordinate([self.coordinate[0], self.coordinate[1]-1]) in ['w', 'x', 'z']: return False self.coordinate[1] = self.coordinate[1] - 1 elif direction == 'down': if self.coordinate[1]+1 >= self.map_parser.height or self.map_parser.getElemByCoordinate ([self.coordinate [0], self.coordinate [1] + 1]) in ['wicked,' x' 'z']: return False self.coordinate [1] = self.coordinate [1] + 1 else: raise ValueError ('Unknow direction% s..'% direction) self.rect.left, self.rect.top = self.coordinate [0] * self.blocksize Self.coordinate [1] * self.blocksize return True''Random Action (for AI computers)' 'def randomAction (self, dt): # cooling countdown if self.randommove_cooling_count > 0: self.randommove_cooling_count-= dt action = random.choice ([' left', 'left'] 'right',' right', 'up',' up', 'down',' down', 'dropbomb']) flag = False if action in [' left', 'right',' up', 'down']: if self.randommove_cooling_count
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.