关于开发Python项目的心得总结

栏目: Python · 发布时间: 5年前

内容简介:最近照着《Python编程从入门到实践》这本书上的内容,开发了第一个完整的Python项目。之前都是用Python写一些脚本什么的,这是第一次开发一个完整的项目,现将在开发过程中的一些心得总结如下。这个Python项目是一个小游戏,名叫《外星人入侵》,就是移动飞船并射击来击杀外星人的游戏。项目依赖的基础的库是pygame,这是一个可以很方便的用于开发游戏的库,提供很多游戏界面,游戏元素显示的函数,让开发者专注于考虑游戏的逻辑,而降低了在游戏界面上开发的难度。首先讲一下这个游戏的主体架构:第一个就是主程序al

最近照着《Python编程从入门到实践》这本书上的内容,开发了第一个完整的 Python 项目。之前都是用Python写一些脚本什么的,这是第一次开发一个完整的项目,现将在开发过程中的一些心得总结如下。

这个Python项目是一个小游戏,名叫《外星人入侵》,就是移动飞船并射击来击杀外星人的游戏。项目依赖的基础的库是pygame,这是一个可以很方便的用于开发游戏的库,提供很多游戏界面,游戏元素显示的函数,让开发者专注于考虑游戏的逻辑,而降低了在游戏界面上开发的难度。

首先讲一下这个游戏的主体架构:第一个就是主程序alien_invasion,这个程序就是整个游戏的启动程序,在这个程序中,要初始化各种设置,还有创建各种对象实例,然后就是游戏的主循环,主循环的任务就是不断响应用户输入(键盘事件和鼠标事件),从而在游戏中做出各种动作和改变,不断刷新游戏画面。第二就是函数文件game_functions,这个文件包含了这个游戏运行所需的所有的函数,(当然是除了那些类中自带的处理函数喽)。第三个就是设置文件settings,包含了这个游戏的所有配置信息(设置信息),创建了一个Settings类,这个类就是用于包含所有的游戏相关的设置变量,比如游戏的屏幕设置(长宽,背景颜色),子弹的设置(子弹的长宽和颜色),飞船的设置等等。接下来就是各种游戏中的元素所对应的类了,比如Alien,Bullet, Ship分别代表游戏中的外星人,子弹,飞船。这三个类构成了游戏的主要的元素。当然还有就是为了提高游戏的用户体验而新增的一些功能,比如游戏的开始按钮Button,还有游戏的计分板Scoreboard。

[友情链接查询][1]

然后讲一下主要的开发过程,首先是再游戏的主程序中,完成响应用户输入的功能,测试方法就是使用pygame提供的函数处理QUIT消息(即点击游戏右上角的关闭按钮),然后就是将处理函数放置到game_functions中,尽量简化主程序的结构,让主程序主要就是调用各种函数来完成各种各功能,而不要将大量的功能集中到程序的主循环中,这样既不便于开发,也不容易维护,同时也要开始游戏的设置,一开始只是设置游戏窗口的大小和背景的颜色。完这些最简单的初步工作后,就要开始着手Ship类的开发,确定Ship类的创建,大小,还有如何移动,当然涉及移动那就又要修改处理消息的函数了,当处理消息的函数变得很庞大时,就要开始着手重构函数,尽量保持一个函数完成一个功能的原则,当出现多个功能时,就要考虑使用多个函数来完成,这样代码便于维护,同时也可以很好的做到代码重用,提高开发效率。之后就要开始Bullet类的编写,同样首先是Bullet的创建,这个类除了要响应用户的输入,就是按下空格就会发射子弹,还有就是如何管理多个同时存在的Bullet,这里引入了pygame的Group编组进行管理,大大提高了效率,之后当然还要处理子弹飞出游戏窗口的处理,长时间按住空格键的处理。之后就要开始Alien类的编写,Alien类主要的工作就是Alien在游戏窗口中的分布还有和飞船碰撞,到达游戏窗口底部,和子弹碰撞时的处理,同样也是需要使用Group进行统一的编组管理。完成游戏的主体元素的开发后,主要的任务就是在于提高游戏体验,需要设计一个Play按钮,需要显示玩家的得分,最高分,还有等级等信息,完成这些功能的开发后,那这个游戏就基本完成了。

开发过程中的心得:

1.开发步骤:就是完成项目主体的搭建,然后完成主体元素(主要部件,主要功能)的开发,最后就是功能的完善和增强用户体验的设计

2.一定要记得代码的重构,一边开发,一边要思考,是否一个函数从的功能过于冗余,如果是,那就要考虑重构函数,重构的确需要花费一定的时间,但是可以为以后的开发带来更大的方便

3.开发过程的文档编写也很重要,要注意为每一个函数编写网上的功能描述,这样为之后的代码修改和维护带来巨大的方便

4.对于项目架构的思考:一个项目主要的组成方式就是主程序+配置(设置)文件+功能函数文件+项目所需的各种对象,关于对象如何确定就需要根据项目的具体需求来确定了

5.一个项目开发完成要记得去思考:这次开发有什么经验和教训,好的方面和不好的方面?还有什么改进?专注于用户体验的思考?

这些就是我对于在开发第一个Python项目过程中的心得体会。

笔者拙见,仅供参考。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Paradigms of Artificial Intelligence Programming

Paradigms of Artificial Intelligence Programming

Peter Norvig / Morgan Kaufmann / 1991-10-01 / USD 77.95

Paradigms of AI Programming is the first text to teach advanced Common Lisp techniques in the context of building major AI systems. By reconstructing authentic, complex AI programs using state-of-the-......一起来看看 《Paradigms of Artificial Intelligence Programming》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具