哈喽!大家好,我是不凡……
《经典坦克大战小游戏》是当年火遍大江南北的FC游戏,小霸王时代的装机必备。现在看来是
觉得画面有点简陋,但在以前绝对是属于玩不腻的游戏之一。今天不凡就带大家一起来康康吧~👇
环境
操作系统:Windows
Python 版本:3.8
涉及模块:pygame
实现
经典坦克大战的构成相对比较简单,主要包括:主界面、玩家、坦克、敌方坦克、墙壁、子弹、计分板、背景音乐等,下面来看一下具体实现。
看一下玩家的坦克样式:
主要实现代码如下所示:
'''主函数'''
def main(cfg):
# 游戏初始化
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT))
pygame.display.set_caption(cfg.TITLE)
# 加载游戏素材
sounds = {}
for key, value in cfg.AUDIO_PATHS.items():
sounds[key] = pygame.mixer.Sound(value)
sounds[key].set_volume(1)
# 开始界面
is_dual_mode = gameStartInterface(screen, cfg)
# 关卡数
levelfilepaths = [os.path.join(cfg.LEVELFILEDIR, filename) for filename in sorted(os.listdir(cfg.LEVELFILEDIR))]
# 主循环
for idx, levelfilepath in enumerate(levelfilepaths):
switchLevelIterface(screen, cfg, idx+1)
game_level = GameLevel(idx+1, levelfilepath, sounds, is_dual_mode, cfg)
is_win = game_level.start(screen)
if not is_win: break
is_quit_game = gameEndIterface(screen, cfg, is_win)
return is_quit_game
'''run'''
if __name__ == '__main__':
while True:
is_quit_game = main(cfg)
if is_quit_game:
break
看一下效果:
1)游戏介面,1是单人模式,2是双人模式
2)单人模式 :点击Enter键 游戏运行 按空格键发射子弹
2)双人模式 :点击向下键选择双人模式,Enter键 游戏运行
玩家操作方式如下:
玩家一:
wsad键:上下左右;
空格键:射击。
玩家二:
↑↓←→键:上下左右;
小键盘0键:射击。
(3)游戏规则:
游戏有单人和双人两种模式,己方大本营被破或者己方坦克被歼灭则游戏失败,成功通过所有
关卡则游戏胜利。另外,玩家可以通过射击特定的坦克使地图上随机出现一个道具,若己方坦
克捡到该道具,则触发一个事件,例如坦克能力的增强。
加载游戏素材中:
总结
这游戏的话经典哈,还是你们记忆中的坦克吗?
说实话代码真挺多的,你感觉这款坦克大战有还原多少呀??
需要源码的可以滴滴我哟~