- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 基于CC2530的光照信息的采集系统设计_毕业设计论文.doc
- 基于CC2530温湿度采集系统_课程设计报告.doc
- 基于CC2540的蓝牙4.0温度传感器模块的设计.doc
- 基于CC2540的照明控制系统设计毕业设计.doc
- 基于CCD的安全气囊装配质量检测装置设计_学士学位论文.doc
- 基于CMF架构的网站设计毕业设计论文.doc
- 基于CMMI的软件项目过程管理方法改进论文.doc
- 基于cocos2d-x的斗地主游戏开发毕业设计.doc
- 基于Coretex-M3的智能家居远程监控系统智能家居毕业论文.doc
- 基于Cortex-M0的智能寻迹小车设计.doc
- 2025年山西电力职业技术学院单招计算机测试模拟题库推荐.docx
- 2025年山西卫生健康职业学院单招计算机测试模拟题库最新.docx
- 2025年安徽省宣城市单招(计算机)测试题库最新.docx
- 2025年安徽绿海商务职业学院单招(计算机)测试模拟题库附答案.docx
- 2025年南京机电职业技术学院单招(计算机)测试题库附答案.docx
- 2025年安庆医药高等专科学校单招(计算机)测试题库附答案.docx
- 2025年四川中医药高等专科学校单招计算机测试模拟题库必考题.docx
- 2025年德阳农业科技职业学院单招计算机测试模拟题库最新.docx
- 2025年山东化工职业学院单招(计算机)测试题库附答案.docx
- 2025年厦门华厦学院单招(计算机)测试模拟题库附答案.docx
最近下载
- 人教版二年级下册数学计算题专项练习1500题带答案.docx VIP
- 虚拟语气专项练习(附答案).docx VIP
- 深入了解胰岛素PPT课件.pptx
- GB_T 4728.2-2018电气简图用图形符号 第2部分_ 符号要素、限定符号和其他常用符号.pdf
- 蒸压加气混凝土板轻质隔墙施工方案ALC板、NALC板.docx
- 一年级下册道德与法治课件-第2课《我们有精神》第2课时说课人教版.ppt
- 2020 生态环境保护隐患排查治理工作规定.doc
- 《高血压危象护理》课件.pptx VIP
- 《GBT 13894-2023石油和液体石油产品 液位测量 手工法》最新解读.pptx
- 基于改进粒子群算法的光伏逆变器控制参数辨识.docx VIP
文档评论(0)