前言本文主要分为三个部分:1.原版再现1.0原版:1.0原版具有以下特点:1.玩家可以控制大炮(书中的宇宙飞船)在屏幕底部左右移动并射击僵尸。2、僵尸群固定3排,固定数量,固定间距,不随等级提升而变化。3.玩家有3条生命,左上角代表剩余生命,若被僵尸群触及或尸体群到达屏幕底部,则生命为-14。玩家每次射击都必须按下射击键(这里是一个空格),不能连续射击。5.尸群整体左右移动,点击走一步到屏幕边缘。如果不能及时消灭群体边缘的丧尸,这群尸体的??移动速度会非常快。7.玩法单调,没有特效,没有技能,没有道具,没有地图。8、无法实现分数存储,每次运行程序时不会保存最高分记录。只能说原来的1.0版本实现了一个小游戏的基本框架,如下图:此时左上角有3个大炮图标,代表我还有3条命。屏幕上方中央为最高分,屏幕右上角为当前得分。由于这是运行程序后的第一场比赛,所以当前得分为最高分。屏幕右上角当前分数下方的数字为当前等级。杀死所有僵尸进入下一关。随着等级的提升,尸群的移动速度会越来越快。如果你被一群僵尸触碰或者尸体到达屏幕底部,你的生命值将会减少。在上图中,只剩下2条生命。原1.0版本要用到的文件如下:分门别类,每个文件都有自己明确的分工。alien是专门写外星人的,alien_invasion是主程序,bullet用来控制子弹及相关参数,button用来控制游戏开始的按钮,game_stats是游戏的一些初始化设置,scoreboard是控制得分面板,settings是用来设置游戏参数的,ship是专门用来控制飞船的。原来1.0版本要用的图片也很简单,都是图片存储,只有外星人和宇宙飞船,这里我用的是丧尸和大炮。您也可以选择自己喜欢的图像进行替换。原版1.0源码免费获取:https://download.csdn.net/download/x978404178/20299596?spm=1001.2014.3001.55012.魔改??思路本文将初步介绍魔改后的版本,可能记为魔改Version2.0。1.醒目的UI界面通过精心设计的登录界面,游戏命名为星际前线,并实现了以下效果:该登录界面支持鼠标点击开始游戏按钮开始游戏,点击鼠标或按下键盘s键进入/退出积分商城,点击联系我们可以看到作者信息。部分代码:self.color=(230,230,230)self.fm=pygame.image.load('images/fm.png').convert_alpha()self.title=pygame.image.load('images/title.png').convert_alpha()self.titlerect=pygame.Rect(-190,-60,1920,1000)#Rectangle(x,y,width,height)self.play=pygame.image.load('images/play.png').convert_alpha()self.playrect=pygame.Rect(645,300,280,280)#Rectangle(x,y,width,height)self.shop=pygame.image.load('images/shop.png').convert_alpha()自己。shoprect=pygame.Rect(0,700,330,158)#Rectangle(x,y,width,height)self.lianxi1=pygame.image.load('images/lianxi1.png').convert_alpha()self.lianxi1rect=pygame.Rect(1330,780,187,80)#Rectangle(x,y,width,height)self.shop2=pygame.image.load('images/shop2.png').convert_alpha()self.shop2rect=pygame.Rect(1395,735,140,??126)#Rectangular(x,y,width,height)2.实现地图、怪物、血量的多样化。生成的怪物数量与等级有关。怪物的生成数量在一定限度内是随机的,但等级越高,生成的数量越多。怪物生成的范围也是在一定限度内随机生成的。怪物的移动速度与等级有关。等级越高,前进速度越快,但有速度限制。怪物有一定概率在体内瞬移,可以躲避飞船的子弹。第一层是一个生命值1的可爱小机器人,第三层是一个手持盾牌的机器人,生命值3。Boss出现在5级,上面是红色的血条,很长。老大,不抗打怎么当老大?我在游戏里设置了丰富的地图,每10级就会切换一个场景。BOSS的排列遵循每5级一个小BOSS,每10级一个大BOSS的规律,让玩家尽情体验激烈的战斗。部分代码:def_create_fleet(self):"Createmonstergroup1"self.alien_bloodmax=1self.alien_blood=1ifself.stats.level>=5:self.alien_bloodmax=2self.alien_blood=2ifself.stats.level>=10:自己。alien_bloodmax=3self.alien_blood=3ifself.stats.level>=15:self.settings.guainum=2self.alien_bloodmax=5self.alien_blood=5ifself.stats.level>=25:self.alien_bloodmax=10self.alien_blood=10ifself.stats。level>=30:self.alien_bloodmax=20self.alien_blood=20ifself.stats.level>=40:self.settings.guainum=3self.alien_bloodmax=50self.alien_blood=50ifself.stats.level>=45:self.alien_bloodmax=100self.alien_blood=100ifself.stats.level>=50:self.alien_bloodmax=150self.alien_blood=150number_alien=random.randint(5+self.stats.level*1,15+self.stats.level*2)forrow_numberinrange(number_alien):alien=Alien(self)self.aliens.add(alien)3、如何实现游戏商城,丰富金融体系?作者小白自己一点点做的游戏商城可以接受吗?左上角为金币,与游戏中击杀怪物获得的积分挂钩。右上角是一颗钻石,顾名思义,属于氪金大佬和少数精英玩家的稀缺资源。当鼠标移到相应的产品上时,会显示半透明的介绍、名称、价格、类别和功能。加载图片和位置:self.gaosi1=pygame.image.load('images/gaosi1.png').convert_alpha()self.gaosi1rect=pygame.Rect(230,480,751,240)#Rectangle(x,y,width,height)mouse位置决定是否显示商品介绍:button3_clicked=self.gaodirect.collidepoint(mouse_pos)ifbutton3_clicked:self.screen.blit(self.gaosi1,self.gaosi1rect)至于魔法版的更多解释和源码,我们稍后会解释。三、总结本期超魔改异星入侵小游戏-01到此结束。对本游戏有更好想法的朋友也可以提出你的魔改想法,让游戏变得更加有趣好玩,让大家的创意思维火花碰撞出尽情的火花。【编辑推荐】HarmonyOS官方战略合作共建——HarmonyOS技术社区云端容器:你有哪些选择?5G消息全面进入发展期什么是域名劫持?如何应对域名劫持自学编程,首先应该选择什么语言?一文看完网络爬虫发展史【责任编辑:江华TEL:(010)68476606】
