网站大量收购独家精品文档,联系QQ:2885784924

基于c程序的俄罗斯方块游戏设计_毕业设计.doc

基于c程序的俄罗斯方块游戏设计_毕业设计.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 本科毕业论文(设计) 题目:基于C程序的俄罗斯方块游戏设计 学院: 物理与电子科学学院 基于C程序的俄罗斯方块游戏设计 摘要:俄罗斯方块是上世纪70年代设计出, 是一个风靡全球的小简易液晶小游戏,虽然已经老旧,但是作为学习c语言还是可以作为一个很好的范例。俄罗斯方块中使用的方块是有四个小正方形小黑色块组成,建立一个结构体将方块存放在这个机构体中。如今技术的发展,可以为色块提供其他色彩,也可以增加色块的立体感,加大了游戏的美观性。游戏的使用着可以通过上下左右等键对方块移动进行控制。 俄罗斯方块通常有七种类型的方块,需要使用c程编写函数控制它的生成移动已经消除。玩游戏的人可以通过点击电脑键盘的控制键来控制方块的的移动已经变形,经过一定的摆放,程序判断是否消除以及执行消除。俄罗斯方块要做出简单的图形,使用vc++与easyx软件进行编译。文中将说明软件的使用。文中使用的c语言需要在Windows 7旗舰版下实现。 关键词:俄罗斯方块 ;easyx; C语言 目 录 TOC \o 1-2 \h \z \u )); outtextxy(20, 330, _T(操作说明)); outtextxy(20, 350, _T(上:旋转)); outtextxy(20, 370, _T(左:左移)); outtextxy(20, 390, _T(右:右移)); outtextxy(20, 410, _T(下:下移)); outtextxy(20, 430, _T(空格:沉底)); outtextxy(20, 450, _T(ESC:退出)); 4.3游戏界面加入背景图片 为了增加游戏的美观度,我为游戏背景增加了图片,图标路径用双斜杠。 // 主函数 void main() { // 使用640*480色素的绘图框初始化 initgraph(640, 480); // 找到图片,将图片引用到绘图框 loadimage(NULL,D:\\MSDev98\\MyProjects\\pictur\\514ff62248d5b962df15471a.jpg); // 按任意键退出 getch(); closegraph(); } 4.4 游戏加入背景音乐 为了增加游戏的娱乐性,我为游戏添加了背景音乐,音乐使用童年经典的叮当猫。加音乐的部分多使用了一个库文件,导入winmm.lib库,告诉编译器要用到得winmm.lib库 ,这样就可以使用windows的多媒体,并找到音乐开始播放。 此处的音乐文件要放到程序新建的工程文件夹中,即project中,pragma可以搜索工程文件夹找到音乐文件,并利用windows多媒体的播放器将找到的音乐播放。 #include easyx.h #include conio.h #pragma comment(lib,Winmm.lib) void main() { initgraph(640, 480); // 找到工程文件夹中的音乐 mciSendString(_T(open 叮当猫.mp3 alias mymusic), NULL, 0, NULL); outtextxy(0, 0, _T(俄罗斯方块游戏)); _getch(); //使用windows的播放器播放音乐 mciSendString(_T(play mymusic), NULL, 0, NULL); _getch(); closegraph(); } 4.5 方块的初始化 初始化俄罗斯方块,编写代码将方块表示在游戏中。用到了bar跟bar3d这两个函数,这两个函数同属于图形库。这两个函数是easyx新增的函数,是具有三围立体效果,大大的提高了游戏的可观赏性。一下仅介绍bar3d()的用法,该函数用于画有边框填充矩形。函数中有depth这个参数,矩形深度,使方块具有立体感。 void bar3d( int left, 矩形左坐标x int top, 矩形上坐标y int right, 矩形右坐标x int bottom, 矩形下坐标y int depth, 矩形的深度 bool topflag 当该值为false时,不画顶部 ); 具体代码如下 void Drawboxs(boxsINFO _boxs, DRAW _draw) { WORD b = g_boxs[_boxs.id].dir[_boxs.dir]; int x, y; int color = BLACK; swi

文档评论(0)

weidameili + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档