- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(论文)_基于C语言的俄罗斯方块游戏开发
青 岛 农 业 大 学
本 科 生 课 程 论 文
论 文 题 目 基于C语言的俄罗斯方块游戏开发
学生专业班级 2010级通信工程专业02班
学生姓名(学号)
指 导 教 师
完 成 时 间 2011年9月22日
2011 年 9 月 11 日
基于C语言的俄罗斯方块游戏开发
实验题目
本课程设计是在学生完成计算机技术基础课程学习后进行的。学生通过本课程的实践,能进一步掌握高级语言程序设计基本概念,掌握基本的程序设计方法;通过设计一个完整的小型程序,初步掌握开发软件所需的需求定义能力、功能分解能力和程序设计能力、代码调试技能;学习编写软件设计文档;为未来的软件设计打下良好的基础。
要求学生掌握所学的程序设计方法的基本知识。结合实际深入理解高级语言程序设计的基本概念、原理及方法。运用所学的基础知识开发一个小型的程序,能根据问题的需要构造所需的数据结构,设计适合的算法,解决问题。掌握设计任务的具体要求,进行设计、调试软件的具体方法、步骤和技巧。对一个实际课题的软件设计有基本了解,拓展知识面,激发在此领域中继续学习和研究的兴趣,为学习后续课程做准备。
二.实验要求与目的
设计目的:本程序旨在训练学生的基本编程能力和游戏开发技巧,熟悉C语言图形模式下的编程。本程序中涉及机构体、数组、时钟中断及绘图方面的知识。通过本程序的训练,使学生能对C语言有更深入的了解,掌握俄罗斯方块游戏开发的基本原理,为将来开发出高质量的游戏软件打下坚实的基础。
功能:
1)游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块,这样有利于游戏玩家控制游戏的策略。由于在此游戏中存在19种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。
2)游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能,以及行满消除行的功能。
3)游戏显示更新功能。当游戏方块左右移动、下落、旋转时,要清除先前的游戏方块,用新坐标重绘游戏方块。当消除满行时,要重绘游戏底板的当前状态。
4)游戏速度分数更新功能。在游戏玩家进行游戏过程中,需要按照一定的游戏规则给游戏玩家计算游戏分数。比如,消除一行加10分。当游戏分数达到一定数量之后,需要给游戏者进行等级的上升,每上升一个等级,游戏方块的下落速度将加快,游戏的难度将增加。
5)游戏帮助功能。玩家进入游戏后,将有对本游戏如何操作的友情提示。三.实验环境
硬件:CPU--------------AMD AthlonXP 1800+??????内存--------------DDR333??256M??????硬盘--------------40G??????显示卡-----------Max440??64M?? 128bit??????显示器-----------17寸彩显软件:OS----------------Windows XP开发工具-------VC++四.系统的设计思想
实现程序的流程图
;(二)具体的函数实现
我先将该程序分为三个部分,即必要的输出部分、主要的函数、次要函数。必要的输出部分应包括背景的输出(包括原有方块的显示)、方块的输出、及下一方块的输出。主要函数应包括实现方块的打印、消行、自由下落、旋转、原来方块的擦除。次要函数应包括显示下一方块、计分、暂停、对方快进行涂色、难度设置等功能的实现。
首先进行相关定义为下面编写程序做准备
int dia_x, dia_y;//存储方块的位置,左上角
int shape, change, nextshape, nextchange;//定义方块的开关与变型
clock_t nowtime;//定义开始时间
int Background[YYY][XXX] = {0};//定义背景并初始化
int Is_Gethit = 0;//接受按键为1, 否则为0;
int score = 0, Allscore = 0;//你的得分
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);//设置控制台
void gotoxy(int x, int y)//设置光标位置
进行必要的输出
1.通过数组输出方块的所有图形
int Tetris[7][4][4][4] =
{
{{{0,0,0,0},{0,1,1,0},{0,1,1,0},{0,0,0,0
您可能关注的文档
- 计算机软件测试专业毕业设计(论文)_BOffice系统(10-0502版)插入框模块测试报告.doc
- 议论文破理技巧种种(精).doc
- 计算机软件技术毕业设计(论文)_VB6.0图书管理系统的设计与实现.doc
- 计算机辅助工业设计:农用风车(proe三维建模)毕业设计(论文)word格式.doc
- 论人文精神在航空服务中的应用毕业设计(论文).doc
- 讷河市中低产田改造(玉米、马铃薯轮作)项目可行性研究报告.doc
- 论今食品质量与安全现状与我思_我与安全同行文化艺术大赛作品.doc
- 论公路工程建设管理体系中合同管理的作用毕业设计(论文).doc
- 论分体式超大功率电子节能工矿灯(UHP)在照明节能应用中的优势.doc
- 论企业网的网络安全(论文).doc
- 课程设计(论文)_基于c语言的学分管理系统.doc
- 课程设计(论文)_基于DS18b20数字测温仪的设计.doc
- 课程设计(论文)_基于DDS的波形发生器设计.doc
- 课程设计(论文)_基于DS18B20的多点温度测量系统.doc
- 课程设计(论文)_基于DS18B20设计的数字温度计.doc
- 课程设计(论文)_基于DS18B20的温湿度巡检仪电路设计.doc
- 课程设计(论文)_基于Devicenet设备网电机控制系统的智能节点设计.doc
- 课程设计(论文)_基于AT89S51单片机数字频率计的设计.doc
- 课程设计(论文)_基于DSP的高速公路能见度测量系统的设计.doc
- 课程设计(论文)_基于DSP的实时语音处理设计.doc
文档评论(0)