关于开发Python项⽬的⼼得总结
最近照着《Python编程从⼊门到实践》这本书上的内容,开发了第⼀个完整的Python项⽬。之前都是⽤Python写⼀些脚本什么的,这是第⼀次开发⼀个完整的项⽬,现将在开发过程中的⼀些⼼得总结如下。
这个Python项⽬是⼀个⼩游戏,名叫《外星⼈⼊侵》,就是移动飞船并射击来击杀外星⼈的游戏。项⽬依赖的基础的库是pygame,这是⼀个可以很⽅便的⽤于开发游戏的库,提供很多游戏界⾯,游戏元素显⽰的函数,让开发者专注于考虑游戏的逻辑,⽽降低了在游戏界⾯上开发的难度。
⾸先讲⼀下这个游戏的主体架构:第⼀个就是主程序alien_invasion,这个程序就是整个游戏的启动程序,在这个程序中,要初始化各种设置,还有创建各种对象实例,然后就是游戏的主循环,主循环的任务就是不断响应⽤户输⼊(键盘事件和⿏标事件),从⽽在游戏中做出各种动作和改变,不断刷新游戏画⾯。第⼆就是函数⽂件game_functions,这个⽂件包含了这个游戏运⾏所需的所有的函数,(当然是除了那些类中⾃带的处理函数喽)。第三个就是设置⽂件settings,包含了这个游戏的所有配置信息(设置信息),创建了⼀个Settings类,这个类就是⽤于包含所有的游戏相关的设置变量,⽐如游戏的屏幕设置(长宽,背景颜⾊),⼦弹的设置(⼦弹的长宽和颜⾊),飞船的设置等等。接下来就是各种游戏中的元素所对应的类了,⽐如Alien,Bullet, Ship分别代表游戏中的外星⼈,⼦弹,飞船。这三个类构成了游戏的主要的元素。当然还有就是为了提⾼游戏的⽤户体验⽽新增的⼀些功能,⽐如游戏的开始按钮Button,还有游戏的计分板Scoreboard。
然后讲⼀下主要的开发过程,⾸先是再游戏的主程序中,完成响应⽤户输⼊的功能,测试⽅法就是使⽤pygame提供的函数处理QUIT消息(即点击游戏右上⾓的关闭按钮),然后就是将处理函数放置到game_functions中,尽量简化主程序的结构,让主程序主要就是调⽤各种函数来完成各种各功能,⽽不要将⼤量的功能集中到程序的主循环中,这样既不便于开发,也不容易维护,同时也要开始游戏的设置,⼀开始只是设置游戏窗⼝的⼤⼩和背景的颜⾊。完这些最简单的初步⼯作后,就要开始着⼿Ship类的开发,确定Ship类的创建,⼤⼩,还有如何移动,当然涉及移动那就⼜要修改处理消息的函数了,当处理消息的函数变得很庞⼤时,就要开始着⼿重构函数,尽量保持⼀个函数完成⼀个功能的原则,当出现多个功能时,就要考虑使⽤多个函数来完成,这样代码便于维护,同时也可以很好的做到代码重⽤,提⾼开发效率。之后就要开始Bullet类的编写,同样⾸先是Bullet的创建,这个类除了要响应⽤户的输⼊,就是按下空格就会发射⼦弹,还有就是如何管理多个同时存在的Bullet,这⾥引⼊了pygame 的Group编组进⾏管理,⼤⼤提⾼了效率,之后当然还要处理⼦弹飞出游戏窗⼝的处理,长时间按住空格键的处理。之后就要开始Alien类的编写,Alien类主要的⼯作就是Alien在游戏窗⼝中的分布还有和飞船碰撞,到达游戏窗⼝底部,和⼦弹碰撞时的处理,同样也是需要使⽤Group进⾏统⼀的编组管理。完成游戏的主体元素的开发后,主要的任务就是在于提⾼游戏体验,需要设计⼀个Play按钮,需要显⽰玩家的得分,最⾼分,还有等级等信息,完成这些功能的开发后,那这个游戏就基本完成了。
开发过程中的⼼得:
1.开发步骤:就是完成项⽬主体的搭建,然后完成主体元素(主要部件,主要功能)的开发,最后就是功能的完善和增强⽤户体验的设计
关于python的书2.⼀定要记得代码的重构,⼀边开发,⼀边要思考,是否⼀个函数从的功能过于冗余,如果是,那就要考虑重构函数,重构的确需要花费⼀定的时间,但是可以为以后的开发带来更⼤的⽅便
3.开发过程的⽂档编写也很重要,要注意为每⼀个函数编写⽹上的功能描述,这样为之后的代码修改和维护带来巨⼤的⽅便
4.对于项⽬架构的思考:⼀个项⽬主要的组成⽅式就是主程序+配置(设置)⽂件+功能函数⽂件+项⽬所需的各种对象,关于对象如何确定就需要根据项⽬的具体需求来确定了
5.⼀个项⽬开发完成要记得去思考:这次开发有什么经验和教训,好的⽅⾯和不好的⽅⾯?还有什么改进?专注于⽤户体验的思考?
这些就是我对于在开发第⼀个Python项⽬过程中的⼼得体会。
笔者拙见,仅供参考。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论