半年前开始自学python编程,就学着玩玩,买了本入门的书,网上看了几个视频教程,飞机大战主要是看某马的教程,就是600集的那个。不过跟着教程写了个飞机大战游戏的皮就断了,没有后续了,很多我想学的都还没讲,估计是为了吸引你买他们的课,不过基本的语法和编程思路我学到了。
游戏代码是按我自己的思路写的,跟教程里和网上的都有不一样的地方,动画效果也是自己琢磨写出来的,这样边写边学还是挺有成就感的,边写边调试,遇到bug自己找自己解决,有时候有些没有达到自己预期的也要自己琢磨修改代码完善,挺好玩的,不过自己写的代码肯定还有很多可以优化的地方。
先分享下成果吧,里面除了第1版,后续版本都有源代码,游戏素材在网上找的。
第1版和教程比,添加了玩家飞机的尾气动态动画,增加了我方飞机和敌机的死亡爆炸动画,设置大点的敌机要打5下才能消灭,玩家拥有3条命并展示在右下角,每死一次减少一个,然后从玩家的出生点复活,剩最后一个时再撞到敌机就结束了。这些都是教程里没教的。
第2版增加了背景音乐和音效,第3版增加了计分系统和大型敌机,重构了主程序的代码结构,把主程序也class成一个对象。添加的大型敌机拥有12滴血,飞行速度为中型敌机的一半,中型敌机由5滴血改为6滴血,在第一次运行游戏并用完三条命更新最高纪录时会在游戏程序同目录下创建一个highscore.txt文件,用来保存最高纪录,之后每次运行游戏时都会从中读取历史最高纪录并在游戏中显示出来,如果游戏中当前得分超过了历史最高纪录,则历史最高分显示会同步更新成当前得分,但还是要三条命用完才会保存到文件里,消灭一个小型敌机得100分,中型敌机500分,大型敌机1000分,玩家飞机被撞也会加分。
现在还没有难度变化,慢慢做吧,我想自己想思路逻辑,这样才能把这些知识变成自己的。附个游戏截图。
有兴趣的新手朋友可以一起讨论,我知道这里大多都是高手,高手可以不吝指教,谢谢!