《俄罗斯方块游戏》项目实作【附源码】(3)

四、文件模块设计

整个程序由6个文件组成:

Tetris.h文件:所包含的头文件,一些宏定义,数据结构的定义,外部函数和外部变量的声明等。

main.c文件:程序的主文件,整个程序的主干流程在此。

Start.c文件:包含了初始化阶段和游戏前阶段的源代码。

Progress.c文件:整个程序的核心,包含了游戏时阶段的源码,

Over.c文件:包含了游戏后阶段的源代码。

makefile文件:编译程序用的,因为是在linux下写的,用它真的超方便。

五、作品展现

《俄罗斯方块游戏》项目实作【附源码】

《俄罗斯方块游戏》项目实作【附源码】

《俄罗斯方块游戏》项目实作【附源码】

《俄罗斯方块游戏》项目实作【附源码】

六、体会

1、写程序前,特别是相对大一点的程序,一定要先设计,包括文档设计,数据结构设计和流程图设计等,这有很多的好处。

首先,事先设计,可以从大方面构思,避免主要构架上走错路,要不然等到写了大部分之后才发现关键问题,为时已晚咯,这种情况我也经历过不少次。

其次,查错修改的时候很方便,因为代码是一行一行的字母数字符号,而设计往往是一些图表,当然是图表比较容易看啦,在图表上比较容易理清思路,哪一步到哪一步?数据是在哪里出了问题?清晰了然,等到图表修改好之后,源码其实就是图表的一个翻译了。

最后,设计能让程序更好地结构化,在看着设计编程时,可以很安心地编写本模块,因为我已经充分地信任我之前的设计,要不然,你总会在编写本模块的时候,考虑到这个数据会不会被以后的代码修改?现在修改这个数据影不影响前面?等等这些问题。

2、以前写大一点的程序,需要多个文件,但每次编译都会出现什么重复定义之类的各种各样错误,虽然最后都解决了,但文件模块被搞得乱七八糟。我觉得只要弄懂extern、static和程序是如何编译链接才能真正地解决问题。extern定义在头文件H中就像个中转站一样,它代表着所对应的函数或变量可以在文件A中定义,而文件A,B,C和D都可以使用该函数或变量(其中ABCD都包含该头文件)。static定义一个函数,就像一把锁一样,表明这个函数只能在本文件模块中使用,其他的文件不可调用。

3、在linux下的完美组合:LibreOfficeWrite(文档设计),LibreOfficeCalc(数据结构设计),

LibreOfficeDraw(界面设计),Dia(流程图设计),Vim(源代码编辑)。

七、下载

此代码是基于SDL的,安装使用SDL:

源代码我已经上传了,可到此地址下载:

下载在Linux公社的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:

密码:

在 2012年LinuxIDC.com\7月\《俄罗斯方块游戏》项目实作【附源码】

下载方法见

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxgfj.html