当前位置:首页 >> 中药方剂 >> 一个Python摸鱼神器,好“吃”又口头禅

一个Python摸鱼神器,好“吃”又口头禅

发布时间:2023-04-23

碰到这,说明你对Python制先为的的游戏有一定的兴趣的。

这个特对于只想导论Python的游戏开发新或者其他语言的的游戏开发新来说,只不过就是一个宝藏。

29款的游戏理论上隔开了很多配流的游戏的理论上范式。

就像上篇名我提到,那款生气的鸟儿,“化学引擎”非常的棒子,我也很好奇他是如何实现的。

我就可以去查看他的源码是如何实现这个的游戏的。

便我没只想到的是,这个生气的鸟儿的字符串量只有100讫,舍弃配置信息,的游戏配范式只有50多讫。

'''Function: 生气的鸟儿'''import osimport pygamefrom ...utils import QuitGamefrom ..base import PygameBaseGamefrom .modules import GameLevels, Pig, Bird, Block, Slingshot, Slab, Button, Label'''配置类'''class Config(): # 根编目 rootdir = os.path.split(os.path.abspath(短时file短时))[0] # FPS FPS = 60 # 大屏幕大小 SCREENSIZE = (1800, 700) # 歌名 TITLE = '生气的鸟儿 —— Charles的皮卡丘' # 一些颜色定义 BACKGROUND_COLOR = (51, 51, 51) # 背景音乐方向 BGM_PATH = os.path.join(rootdir, 'resources/audios/bgm.ogg') # 的游戏相片方向 IMAGE_PATHS_DICT = { 'pig': [ os.path.join(rootdir, 'resources/images/pig_1.png'), os.path.join(rootdir, 'resources/images/pig_2.png'), os.path.join(rootdir, 'resources/images/pig_damaged.png'), ], 'bird': [ os.path.join(rootdir, 'resources/images/bird.png'), ], 'wall': [ os.path.join(rootdir, 'resources/images/wall_horizontal.png'), os.path.join(rootdir, 'resources/images/wall_vertical.png'), ], 'block': [ os.path.join(rootdir, 'resources/images/block.png'), os.path.join(rootdir, 'resources/images/block_destroyed.png'), ] } # 字体方向 FONT_PATHS_DICT_NOINIT = { 'Comic_Kings': os.path.join(rootdir, 'resources/fonts/Comic_Kings.ttf'), 'arfmoochikncheez': os.path.join(rootdir, 'resources/fonts/arfmoochikncheez.ttf'), }'''生气的鸟儿'''class AngryBirdsGame(PygameBaseGame): game_type = 'angrybirds' def 短时init短时(self, **kwargs): self.cfg = Config super(AngryBirdsGame, self).短时init短时(config=self.cfg, **kwargs) '''接入的游戏''' def run(self): # 初始化 screen, resource_loader, cfg = self.screen, self.resource_loader, self.cfg # 播放背景音乐 resource_loader.playbgm() # 开始的游戏 def startgame(): game_levels = GameLevels(cfg, resource_loader, screen) game_levels.start() # 开始界面 components = pygame.sprite.Group() title_label = Label(screen, 700, 100, 400, 200) title_label.addtext('ANGRY BIRDS', 80, cfg.FONT_PATHS_DICT_NOINIT['arfmoochikncheez'], (236, 240, 241)) components.add(title_label) start_btn = Button(screen, 500, 400, 300, 100, startgame, (244, 208, 63), (247, 220, 111)) start_btn.addtext('START GAME', 60, cfg.FONT_PATHS_DICT_NOINIT['arfmoochikncheez'], cfg.BACKGROUND_COLOR) components.add(start_btn) quit_btn = Button(screen, 1000, 400, 300, 100, QuitGame, (241, 148, 138), (245, 183, 177)) quit_btn.addtext('QUIT', 60, cfg.FONT_PATHS_DICT_NOINIT['arfmoochikncheez'], cfg.BACKGROUND_COLOR) components.add(quit_btn) charles_label = Label(screen, cfg.SCREENSIZE[0] - 300, cfg.SCREENSIZE[1] - 80, 300, 100) charles_label.addtext('CHARLES', 60, cfg.FONT_PATHS_DICT_NOINIT['arfmoochikncheez'], (41, 41, 41)) components.add(charles_label) clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: QuitGame() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_q: QuitGame() elif event.type == pygame.MOUSEBUTTONDOWN: if start_btn.selected(): start_btn.action() elif quit_btn.selected(): quit_btn.action() screen.fill(cfg.BACKGROUND_COLOR) for component in components: component.draw() pygame.display.update() clock.tick(cfg.FPS)友情提示

该特中才会的的游戏理论上上都有BGM,而且声音还相当可观。

如果摸鱼运用于,商量关闭声音外放!!!!

安必丁可以长期吃吗
安必丁的作用机理
肌肉酸疼用什么药最好
奥美拉唑是抑制胃酸的吗
武汉妇科医院
标签:
友情链接: