《2022年基于c程序的俄罗斯方块游戏设计.docx》由会员分享,可在线阅读,更多相关《2022年基于c程序的俄罗斯方块游戏设计.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源本科毕业论文 设计 题目:基于 C 程序地俄罗斯方块嬉戏设计学院:物理与电子科学学院班级:09 级电子四班姓名:陈 飞指导老师: 梁国栋 职称: 助教完成日期: 2021 年 5 月 31日基于 C 程序地俄罗斯方块嬉戏设计欢迎下载精品学习资源摘要:俄罗斯方块是上世纪70 岁月设计出,是一个风靡全球地小简易液晶小嬉戏,虽然已经老旧,但是作为学习c 语言仍是可以作为一个很好地范例.俄罗斯方块中使用地方块是有四个小正方形小黑色块组成,建立一个结构体将方块存放在这个机构体中.如今技术地进展,可以为色块供应其他颜色,也可以增加色块地立体感,加大了嬉戏地美观性.嬉戏地使用着可以通过上下左右等
2、键对方块移动进行掌握.俄罗斯方块通常有七种类型地方块,需要使用c 程编写函数掌握它地生成移动已经排除.玩嬉戏地人可以通过点击电脑键盘地掌握键来掌握方块地地移动已经变形,经过肯定地摆放,程序判定是否排除以及执行排除.俄罗斯方块要做出简洁地图形,使用vc+ 与 easyx 软件进行编译 .文中将说明软件地使用 .文中使用地 c 语言需要在 Windows 7 旗舰版下实现 .关键词:俄罗斯方块; easyx; C 语言欢迎下载精品学习资源目录1 前言02 初步设想02.1 概述02.2 俄罗斯方块地历史与前景02.2 系统设计流程图13 嬉戏地运行环境23.1 硬件环境23.2 软件环境23.3
3、关于 easyx 地介绍34 嬉戏地详细设计34.1 方块地设计34.2 嬉戏界面地初始化54.3 嬉戏界面加入背景图片64.4 嬉戏加入背景音乐64.5 方块地初始化74.6 对方块地移动动态设计掌握84.7 满行处理95 测试运行105.1 嬉戏代码输入到 vc 中105.2 嬉戏终止时弹出来地对话框115.3 绘图框中地嬉戏界面11图 512终止语13参考文献14致谢14欢迎下载精品学习资源1 前言在这个科技进展迅猛地时代,电子类产品已经深化到我们每个人地生活当中,成为我们日常 生活中不行缺少地一部分.俄罗斯方块嬉戏地显现可以说是嬉戏历史上地一件大事情,曾经制造地经济价值是不行估量地.该
4、嬉戏曾经被全世界人们所追捧,我们中国人也不另外.小时候黑白机中嬉戏俄罗斯方块可以说是必不行少地.如今,俄罗斯方块仍旧没有离开我们地实现,qq 嬉戏等诸多嬉戏平台以及网站都供应了俄罗斯方块地改良版,譬如双人嬉戏,积分嬉戏等.每每看到俄罗斯方块嬉戏都会勾起我们童年地一些回忆,可以说,俄罗斯方块已不再单单是一款嬉戏,它已经是我们回忆地一部分,深深地烙在我们心中.俄罗斯方块嬉戏方块随着运算机技术已经电子技术地进展而不断进步,而且在俄罗斯方块游戏基础上也推出了各种嬉戏,比如说玛丽医生,信任这款小嬉戏也得到很多人地青睐.俄罗斯方块嬉戏操作简洁,它地原理其实就是运动地方块自上而下下落,在底部堆叠组合,并按规
5、章消除.对于很多人而言,嬉戏地设计是高深莫测地,具有很高地专业技术难度.俄罗斯方块作为一个比较老但是很具有代表性地嬉戏,对于一些新手如我这样地人来说,不失为一个学习地好游戏,而且,如今信息沟通发达,可供应借鉴地材料也很多.本论文使用vc+6.0 以及 easyx 对俄罗斯方块嬉戏代码进行编写,供应了一个学习c 地机会,以便以后学习并开放更好地嬉戏或者应用软件 .该简易俄罗斯方块嬉戏是在当下用户最多地windows操作系统下运行,拥有常见俄罗斯方块地基本功能,嬉戏玩家可通过键盘掌握嬉戏区域中地活动方块进行操作.设计地方块是随机显现地,并且拥有肯定地颜色,提高了嬉戏地观看性和可玩性.嬉戏方块在下落
6、究竟板后堆叠,满一行就消去这一行 .值得留意地是本论文中加入了背景图片跟音乐,使这个嬉戏更具好玩味性.2 初步设想2.1 概述综合自己在高校四年期间学习过地c 语言学问,并通过自己查阅各种资料,设计俄罗斯方块嬉戏 .通过设计嬉戏地过程,让自己明白嬉戏开发地过程,为将来走向社会打好基础.从嬉戏地设计到完成,提高自己地c 语言编译才能 .2.2 俄罗斯方块地历史与前景俄罗斯方块顾名思义,这个小嬉戏肯定跟俄罗斯有关.在 1984 年地时候,一个俄罗斯地小程序员受到了拼图嬉戏地启示,经过一段不为人知地讨论,编写了俄罗斯方块嬉戏,他地名字叫阿列克谢 帕吉特诺夫 .这个嬉戏在创造以后到现在,始终有很多人喜
7、爱.据说,俄罗斯方块嬉戏至少有 10 亿人玩过,这个数据是不完全统计.我认为,单单就中国这个拥有13 亿劳累大众地市场欢迎下载精品学习资源来说,这个嬉戏影响地不止一代人,而是好几代人.我信任俄罗斯方块嬉戏是有史以来,迄今为止使用人数最多地嬉戏,也是最火地嬉戏,30 多年来,俄罗斯方块嬉戏始终都存在在我们地事业中,你在 qq 嬉戏平台,以及别地平台,仍有各个网页平台都能搜寻到俄罗斯方块嬉戏,现代人给了俄罗斯方块更多地定义,可以有双人嬉戏,甚至仍有了积分嬉戏,玩家可以通过嬉戏累加积分得到不同地更好地道具以增加嬉戏地趣味性.在俄罗斯方块刚刚被作者制造出来地时候,由于俄罗斯仍是一个社会主义国家,而且仍
8、处在冷战时期,嬉戏地开发已经都有肯定地局限性,在当时地俄罗斯并没有推广开来,更没有形成一个产业 .人们只是使用电脑复制嬉戏来玩,仅仅作为一个消遣地小程序,并没有想到将来造成地经济影响 .直到后来几年一个英国地软件公司地制造商到匈牙利拜望时看到有人玩彩色地俄罗斯方块嬉戏,这个商人以敏捷地经济眼光看到了这个嬉戏地进展前景,于是,他便到俄罗斯找到嬉戏地创始人商谈嬉戏地开发问题.再后来地几年,各大软件制造商开头了疯抢嬉戏地分销权.也是由于这种竞争,俄罗斯方块传到世界各地,当然也有中国这个大市场.从今,俄罗斯方块嬉戏影响了中国几代人.虽然俄罗斯方块地进展经受了30 年,但是,依旧没有减退她地光辉.在现代
9、电子技术地进展下,俄罗斯方块显现了3D 模式,据说 2021 年仍显现了决战俄罗斯.2.2 系统设计流程图欢迎下载精品学习资源图 13 嬉戏地运行环境3.1 硬件环境本论文中地代码实在windows 7 旗舰版下运行地,内存为2G,配置有键盘鼠标显示器,程序运行地最低硬件要求有待讲究.3.2 软件环境本论文中地编写使用了visual C+6.0 , eaysx2021 最新版 .easyx 为 vc+6.0 供应了图形库graphics.h,为嬉戏地设计供应了便利条件.在嬉戏设计不再单单地创建 file 文件这么简洁,步骤如下:1. 点击 file ,点击 projects,创建 win32
10、console application ,定义工程名 .留意不能加后缀 .确定以后工程创建完毕.欢迎下载精品学习资源2. 点击左侧界面内地工作区,点击已经创建好地工程,打开 source files. 3.点击 file ,创建 c+source file ,填写文件名,留意文件名不能加 .c 后缀 .图 23.3 关于 easyx 地介绍在大一期间学习 c 语言是用到了 vc,vc 有较好地编辑和调试才能,但是却没有 turbo c 地绘图才能,而且 turbo c 这个软件没有更新,过于老旧,连最基本地复制粘贴这种功能都没有 .基于这种这种缘由,仍是用 vc 设计俄罗斯方块嬉戏,利用 ea
11、syx 供应地图形库设计俄罗斯方块嬉戏 .在 easyx 官网下载最新版压缩包,通过解压找到 setup.hta 文件,点击这个文件,再点安装库 . 安装过程中会自动检测到电脑已装地 vc,将库文件和头文件分别放入到 vc 对应地 include 和 lib 文件夹中 .也可以手动操作,将文件复制到对应文件夹中,这样就可以删掉 easyx.安装完毕后,输入范例程序运行,检查软件必要地环境是不是正确 .4 嬉戏地详细设计4.1 方块地设计第一是要设计嬉戏地方块,方块是有 4*4 即 16 个小色快构成地, 0 就是没有色块, 1 就是有色块 .根据既定地规律,方块有 7 钟,分别有 z 型,反
12、z 型, t 型, 7 型,反 7 型, 1 型,口型,以下代码为定义结构体 boxs, boxs 结构体中 7 个元素就是上述提到到 7 个类型 .boxs7 =欢迎下载精品学习资源/* 口* 口* 口口口口口* 口*/0x0F00, 0x4444, 0x0F00, 0x4444, blue,/* 口口* 口口*/0x0660, 0x0660, 0x0660, 0x0660, red,/* 口口口口 口口口* 口口口 口口口* 口口口*/0x4460, 0x02E0, 0x0622, 0x0740, YELLOW,/* 口口口 口口口* 口 口口口* 口口 口口口 口*/0x2260, 0x
13、0E20, 0x0644, 0x0470, MAGENTA,/* 口口口* 口口口口* 口*/0x0C60, 0x2640, 0x0C60, 0x2640,GREEN ,/* 口欢迎下载精品学习资源*口口口口*/口口口0x0360, 0x4620, 0x0360, 0x4620, CYAN,/* 口口口* 口口口口口 口口口 口口* 口口口*/0x4E00, 0x4C40, 0x0E40, 0x4640, BROWN;4.2 嬉戏界面地初始化initgraph640,480绘图地坐标体系范畴是x640 像素, y480 像素 .坐标体默认 x 轴右为正方向,y 轴是以下为正方向,这个是值得留意
14、地,度量单位是象素.坐标原点可以通过setorigin 函数修改嬉戏左下侧设置了嬉戏地操作说明,使用wasd 操作方向 ./ 设置坐标原点setorigin220, 20 ;/ 绘制嬉戏区边界rectangle0, 0, WID* SIZE, HEI * SIZE;rectangleWID + 1 * SIZE , 0, WID + 5 * SIZE, 5 * SIZE;/ 显示操作说明setfont14, 0, _T 宋体 ;outtextxy20, 330, _T 操作说明 ;outtextxy20, 350, _T 上:旋转 ;outtextxy20, 370, _T 左:左移 ;out
15、textxy20, 390, _T 右:右移 ;outtextxy20, 410, _T 下:下移 ;outtextxy20, 430, _T 空格:沉底 ;outtextxy20, 450, _TESC :退出 ;欢迎下载精品学习资源4.3 嬉戏界面加入背景图片为了增加嬉戏地美观度,我为嬉戏背景增加了图片,图标路径用双斜杠./ 主函数void main/ 使用 640*480 色素地绘图框初始化initgraph640, 480 ;/ 找到图片,将图片引用到绘图框loadimageNULL,D:MSDev98MyProjectspictur514ff62248d5b962df15471a.j
16、pg;/ 按任意键退出getch;closegraph;4.4 嬉戏加入背景音乐为了增加嬉戏地消遣性,我为嬉戏添加了背景音乐,音乐使用童年经典地叮当猫.加音乐地部分多使用了一个库文件,导入winmm.lib库,告知编译器要用到得winmm.lib库 ,这样就可以使用 windows 地多媒体,并找到音乐开头播放.此处地音乐文件要放到程序新建地工程文件夹中,即project 中, pragma 可以搜寻工程文件夹找到音乐文件,并利用windows 多媒体地播放器将找到地音乐播放.#include #include #pragma commentlib,Winmm.libvoid maininit
17、graph640, 480 ;/ 找到工程文件夹中地音乐mciSendString_Topen叮当猫 .mp3 alias mymusic, NULL, 0, NULL;outtextxy0, 0, _T 俄罗斯方块嬉戏 ;欢迎下载精品学习资源_getch ;/使用 windows 地播放器播放音乐mciSendString_Tplay mymusic, NULL, 0, NULL;_getch ;closegraph;4.5 方块地初始化初始化俄罗斯方块,编写代码将方块表示在嬉戏中.用到了 bar 跟 bar3d 这两个函数,这两个函数同属于图形库.这两个函数是easyx 新增地函数,是具有
18、三围立体成效,大大地提高了嬉戏地可观看性 .一下仅介绍bar3d()地用法,该函数用于画有边框填充矩形.函数中有 depth 这个参数,矩形深度,使方块具有立体感.void bar3dint left,矩形左坐标xint top,矩形上坐标yint right,矩形右坐标xint bottom,矩形下坐标 y int depth,矩形地深度bool topflag当该值为 false 时,不画顶部;详细代码如下void DrawboxsboxsINFO _boxs, DRAW _drawWORD b = g_boxs_boxs.id.dir_boxs.dir;int x, y ;int col
19、or = BLACK;switch_drawcase SHOW: color = g_boxs_boxs.id.color; break;case HIDE: color = BLACK;break;case FIX:BYTE r = GetRValueg_boxs_boxs.id.color * 3 / 4;BYTE g = GetGValueg_boxs_boxs.id.color * 3 / 4;BYTE b = GetBValueg_boxs_boxs.id.color * 3 / 4;color = RGBr, g, b ;欢迎下载精品学习资源break;setfillcolorco
20、lor ;forint i=0 ; i16 ; i+if b & 0x8000x = _block.x + i % 4 ;y = _block.y - i / 4 ;if y HEIif _draw .= HIDEbar3dx * SIZE + 2, HEI - y - 1 * SIZE + 2, x + 1 * SIZE- 4, HEI - y * SIZE - 4, 3, true;elsebarx * SIZE, HEI- y - 1 * SIZE, x + 1 * SIZE - 1, HEI -y * SIZE - 1 ;b = maxg_Curboxs.y - 3, 0 ; y-i
21、= 0 ;forx = 0 ; x WID ; x+if g_Worldxy = 1i+ ;if i = WIDbRow = true ;rowg_Curboxs.y - y = 1 ;setfillcolorWHITE;setfillstyleDIAGCROSS2_FILL;bar0, HEI - y - 1 * SIZE + SIZE / 2 - 2, WID* SIZE - 1, HEI - y - 1 *SIZE + SIZE / 2 + 2 ;setfillstyleSOLID_FILL;5 测试运行5.1 嬉戏代码输入到 vc 中将代码根据先建立工程再建立文件地次序,输入代码.编译
22、正确后运行 .图 3编译运行正确后 0 错误, 0 警告 .欢迎下载精品学习资源5.2 嬉戏终止时弹出来地对话框图 45.3 绘图框中地嬉戏界面欢迎下载精品学习资源图 5欢迎下载精品学习资源图 6终止语本文介绍了俄罗斯方块这款风靡世界地嬉戏地设计思路及其编程实现.重点介绍各功能模块地设计原理和数据结构地实现.通过本论文程序地编写和开发,进一步地提高了我地基本编程能力和嬉戏开发技巧,使我熟识了C 语言图形模式下地编程 .深化地懂得了程序中有关结构体、数组及绘图等方面地学问.通过本程序地训练,使我对C 语言有了一个更深刻地明白.本文地程序设计借鉴了参考书籍和互联网上相关程序地设计思想,在此对相关网
23、站地源代码供应者表示诚心地感谢.由于时间、体会及水平地缘由,论文中难免有不足之处. 很多问题往往都不是只有一种解决方法,本嬉戏地开发也是如此,可以对此程序进行优化和功能完善或者使用不同方法来实现某些功能,以达到学以致用地目地欢迎下载精品学习资源参考文献1 苏小红 .C 语言高校有用教程 M. 北京: 电子工业出版社 ,19882 荣软科 .VisualC+ 嬉戏设计 M. 北京 :北京科海电子出版社 ,19933 严蔚敏,吴伟民 .数据结构 C 语言版 M. 北京 :清华高校出版社 ,19904 仇芒仙,张丽华 .C 语言程序设计案例教程M. 北京 :清华高校出版社 ,19975 姜灵芝,余健
24、 .C 语言课程设计案例精编M. 北京:清华高校出版社 ,20066 Stanley B. Lippman.Barbara C+Primer中文版 M. (美)北京 :人民邮电出版社 ,20217 谭浩强 .C+程序设计 M. 北京 :清华高校出版社 ,20078 黄维通 .VisualC+ 面对对象与可视化程序设计M. 北京:清华高校出版社 ,19899 张敏.C 程序与算法思想 M. 北京 :高等训练出版社 ,202110 周纯杰,刘正林 .标准 C 语言程序设计及应用 M. 北京 :华中科技高校 ,2005致谢在高校地四年转瞬就要终止了,经过了一段时间地努力,我地俄罗斯方块嬉戏(C 语言
25、)这篇论文最终完成了.对这次论文地编写使我受益非浅,我深刻地熟识到理论和实践相结合地重要性,除了自身地努力之外,与各位老师、同学和伴侣地关怀、帮忙和勉励是分不开地,特别是我地指导老师梁国栋,从嬉戏地设计、编写到程序地修改再到毕业论文定稿,梁老师始终尽心地指导我,使我受益非浅.欢迎下载精品学习资源The Design of Tetris Based on C LanguageTetris is a popular around the world to design a small simple LCD game, although already old, but as a learning
26、c language or can be used as a good example. Tetris box is composed of four small square black patches, the establishment of a structure box stored in the body of this institution.Today, the development of technology, can provide blocks of color other colors can also increase the sense of three-dime
27、nsional color blocks, increase the aesthetics of the game. Game box move up and down keysto control.Tetris is usually seven types of the box, you need to use the c drive to write functions to control its generation mobile has been eliminated. The people who play games can click on the control keys o
28、f the computerkeyboard to controlbox mobilehas been deformed, placed after a certain programto determine whether the cancellation, and implementingprograms to eliminate.Tetris to make simple graphics, vc easyx software to compile.It describes the use of the software. C language used in Windows 7 Ultimate.Key words: Tetris ; array ; the C language-欢迎下载