- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章
俄罗斯方块游戏
俄罗斯方块游戏是一款风靡全球的电视游戏机和掌上游戏机中的游戏产品,它曾经产生了无与伦比的商业价值,影响了一代游戏产业链。这款游戏最初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾,并且可以引发无数遐想。
在本章内容中,将介绍使用C语言开发一个简单的俄罗斯方块游戏的方法,并详细介绍其具体的实现流程。
1.1 第一个项目
我叫Bird,一名项目经理。和往常一样,早早地来到了办公室。和这个城市的大多数白领一样,有条不紊地进行着自己的工作。当闲暇时刻,我会静坐在办公桌前,展望我的未来,当然也会回忆过去。我回忆最多的是第一次做项目时的情景。作为普通程序员的众多第一次中,肯定会对自己第一次做项目的情景印象深刻。追忆大学四载,做过很多东西:网页设计、个人网站、照片处理、扫雷游戏等。但是真正能称为项目的是大三那年做过的一款游戏——俄罗斯方块游戏。
1.1.1 老师的作业
2004年7月1日,晴,我的作业
今天可以离校了,一想到未来两个月的假期,我的心情就不能平静,很早就向往这两个月假期了,我想趁着大学时期的最后一个暑假,好好地出去转一转,思索一下自己的未来路……
在离校前的10分钟,我们最敬仰的程序老师TC给我们布置了一个暑期作业:题目很简单——用C语言实现俄罗斯方块游戏(提示用graphics.h实现),并提醒务必做好前期的分析工作。
1.1.2 准备工作
2004年7月3日,微风阵阵
暑假,总能给人带来美好的心情和很多想象的空间,总想利用这个假期去旅游,去放飞心情,我也想出去玩玩。坐在家中的电脑前,我想起了老师的作业——俄罗斯方块游戏,这是一款风靡全球的电视游戏机和掌上游戏机游戏,少时的我曾经为它痴狂过。时过境迁,没想到现在我能去开发这个游戏!永远记得老师的建议:在做项目前一定要好好地构思和规划项目,根据需求规划开发流程。于是,我在电脑上画了一个简单的项目开发流程图,如图1-1所示。
图1-1 功能分析:分析整个系统所需要的功能;
模块结构规划:规划系统中所需要的功能模块;
总体设计:分析系统处理流程,探索系统核心模块的运作;
数据结构:设计系统中需要的数据结构;
规划函数:预先规划系统中需要的功能函数;
具体编码:编写系统的具体实现代码。
1.2 功 能 分 析
2004年7月4日,阳光明媚
清晨太阳未升,我起了一个大早。俄罗斯方块游戏在脑海中还隐隐约约有印象,为了更深入地了解这款游戏,我专门到网上下载了一个,并试玩了几分钟,其基本结构如图1-2所示。
图1- 俄罗斯方块游戏的基本结构
这样,我总结出了俄罗斯方块游戏的基本功能模块,并做了一个简单的项目规划书,整个规划书分为两个部分:
系统需求分析;
结构规划。
1.2.1 系统需求分析
1) 游戏方块的预览功能
当游戏运行后并在底部出现一个游戏方块时,必须在预览界面中出现下一个方块,这样便于玩家提前进行控制处理。因为在该游戏中共有19种方块,所以在方块预览区内要显示随机生成的游戏方块。
2) 游戏方块的控制功能
游戏玩家可以对出现的方块进行移动处理,分别实现左移、右移、快速下移、自由下落和行满自动消除功能的效果。
3) 更新游戏显示
当在游戏中移动方块时,需要先消除先前的游戏方块,然后在新坐标位置重新绘制新方块。
4) 游戏速度设置和分数更新
通过游戏分数能够实现对行数的划分,例如,可以设置消除完整的一行为10分。当达到一定数量后,需要给游戏者进行等级上的升级。当玩家级别升高后,方块的下落速度将加快,从而游戏的难度就相应地提高了。
5) 系统帮助
游戏玩家进入游戏系统后,通过帮助了解游戏的操作提示。
一个俄罗斯方块游戏的基本功能也就上述5条了,当然现实中的游戏产品更加复杂,但其基本的功能都是大同小异的。
1.2.2 结构规划
现在开始步入结构规划阶段。为了加深印象,我做了一个模块结构图,如图1-3所示。
图1- 游戏的模块结构
1.2.3 选择工具
2004年7月5日,晴,工具的困惑
都说“工欲善其事,必先利其器!”,我也深知一个好的开发工具对整个项目进展的重要性。但是长久以来我一直很困惑:Turbo C确实很好用,老师也极力推荐用Turbo,但是我却一直不喜欢,主要原因是不能在里面实现复制、粘贴功能。我很想找一种既简单,功能又全面的开发工具,由于自己水平有限,只好电话求救师兄A。
我:“老师布置了一个作业:用C语言实现俄罗斯方块游戏(提示用graphics.h实现)。我不喜欢用Turbo C,能否推荐几款能实现复制、粘贴的工具?”
A:“呵呵,我们现在的考试都是基于Turbo C的。除了Turbo C,还有很多工具可以实现C程序开发,例如DEV-C++、Visual C和
您可能关注的文档
- 消化内科危重症用药配方.doc
- 消弧线圈接地变容量计算.doc
- 消费社会中媒介与公共生活的互动.docx
- 消费致富-消费者也能成为资本家.doc
- 消防审查与水消防设计若干问题【新修改版】,总后薛英超.doc
- 消防系统设备设施操作及保养XZ改.doc
- 涉外技术许可合同(2009定稿)20110617160617247.doc
- 涉税通8226;企业版使用简明指南.doc
- 液体表面张力系数.doc
- 淄博市建筑工程质量监督档案(样表)20130220.doc
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)