1 / 13
文档名称:

可视化程序设计.doc

格式:doc   大小:47KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

可视化程序设计.doc

上传人:qiang19840906 2021/3/3 文件大小:47 KB

下载得到文件列表

可视化程序设计.doc

文档介绍

文档介绍:《可视化程序设计》
——课程设计报告
题目: ***方块
班级: 04级本一班
成员: 吴晓娟()
赵粉娟()
***()
专业: 计算机科学与技术
日期: 2008-1-07
一、设计内容
创建一个单文档应用程序, 设计一个简单的俄罗斯方块游戏,能够完成俄罗斯方块游戏的基本功能。
二、设计目的
通过本实验来巩固本学期中所学的Vc++ 中的类的使用,菜单资源的添加及使用,学会进行消息影射,能够实现对键盘消息进行响应。
三、设计要求
要求通过键盘上的左右方向键来控制游戏中方块的左右移动,通过键盘上的向上键来改变方块的排列方向,同过向下的键来使方块直接移动到下面。通过在菜单栏里面的skill下的1,2,3,4来选择游戏的难度。
四、设计原理
先在菜单资源中添加和修改相应的资源,并对其进行消息映射,再在CView中添加相应的函数和变量完成相应的设置以实现其功能。主要是通过键盘消息响应实现各个方块的移动和变化。通过计时器实现游戏难度的设置。用数组的方式来表示游戏中的格子,每种不同排列的方块用不同的颜色来表示。方块移动时使用填充和绘制的方式来实现。
设计步骤
1)创建MFC单文档应用程序。
2)添加和修改菜单资源,并进行消息映射。
3)利用ClassWizard添加成员变量。
4)利用ClassWizard添加成员函数及结构体point。
六、设计总结
通过本次实验,巩固和更深的理解了本学期所学的知识,理解了类的定义,资源的添加和消息映射,对键盘消息的响应有了更好的掌握,
七、主要源码
具体代码如下:添加的成员变量如下:
COLORREF tempcolor,color[20][10];void myDraw();int time;void Star();
int count;void Isover();int dop();int Isbottom();int Isout(int w);int round(int as);
void clean(int b);int index;int R; int L;int H;int cor[20][10];int J;
CBitmap* m_pbmpContents; // to get a faster update if flickerfree is on
int K;BOOL flag,flag2;int Y;int X;int k;point aa[4],bb[4],dd[4];
添加成员函数及其代码如下:
int CFanView::OnCreate(LPCREATESTRUCT lpCreateStruct)
// 初始化游戏界面
{if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
flag2=0;
k=0;
time=500;
K=0;
Y=0;
for(int i=0;i<20;i++)
{for(int j=0;j<11;j++)
{cor[i][j]=0;
}
}
count=0;
R=0;
L=0;
H=0;
index=0;
flag=0;
Star();
SetTimer(IDC_TIMER,time,NULL);
return 0;
}
// 设置定时器
void CFanView::OnTimer(UINT nIDEvent)
{ Y=1;
if(K)
{if(Isbottom())
{flag=1;
clean(0);
R=R+2;
for(int a=0;a<4;a++)
{aa[a].x++;
}
myDraw();
}
else if(K)
{Isover();
Star();
flag=1;
}
}
Y=0;
CView::OnTimer(nIDEvent);
}
void CFanView::clean(int b)
{for(int a=0;a<4;a++)
{ cor[aa[a].x][aa[a].y]=0;
dd[a].x=aa[a].x;
dd[a].y=aa[a].y;
}
}
int CFanView::round(int as)
{ int tempx=