GUI课程设计报告Guhong.docx
- 文档编号:12403689
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:19
- 大小:62.77KB
GUI课程设计报告Guhong.docx
《GUI课程设计报告Guhong.docx》由会员分享,可在线阅读,更多相关《GUI课程设计报告Guhong.docx(19页珍藏版)》请在冰点文库上搜索。
GUI课程设计报告Guhong
《GUI.Net应用程序设计》
课程设计报告
设计题目:
俄罗斯方块
专业计算机科学与技术
班级110051B
学号12010051044、12010051053
学生姓名曹蒋星、乔伟岭
指导教师顾洪
设计时间2012-12-24至2013-1-6
教师评分
2013年1月4日
一、课程设计概述
1.1设计任务及目的
C#中俄罗斯方块小游戏的简单的实现
1.2课程设计的步骤
1.构思框架
2.考虑能力以内所能实现的简单功能
3.编写代码
4.调试并寻找问题,解决问题
二、课程设计过程
2.1对象分析
1、整体结构规划思想
要求阐述系统整体结构的选择、设计的思想,绘制功能结构图。
进入俄罗斯游戏页面,按照简单的游戏思路进行游戏!
通过数组操作,逐步实现方块的产生、下落、变形、左右移动、消除、整体下落、以及积分的功能。
方块产生
(判断是否下落)
下落
(是否可以左右移动)
变形、左右移动
(判断是否满行)
消行
(是否消行成功)
增加积分
2、主界面设计思想
简单清晰,让人容易看懂游戏的玩法。
3、子界面的设计思想
要求对子界面的设计以及界面上对象的选取思路进行阐述和分析。
无子界面!
2.2界面详细设计
对主界面的设计实现过程进行阐述和分析,详细说明制作该界面的步骤,所使用的对象以及属性设置、使用事件及代码等。
2.3设计模型
原型设计图:
设计效果图:
#region 定义砖块int[i,j,y,x] Tricks:
i为那块砖,j为状态,y为列,x为行
privateint[,,,]Tricks= {{
{
{1,0,0,0},
{1,0,0,0},
{1,0,0,0},
{1,0,0,0}
},
{
{1,1,1,1},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,0,0,0},
{1,0,0,0},
{1,0,0,0}
},
{
{1,1,1,1},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0}
}
},
{
{
{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
}
},
{
{
{1,0,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{0,1,1,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{0,1,1,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
}
},
{
{
{1,1,0,0},
{0,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{0,0,1,0},
{1,1,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,0,0,0},
{1,1,0,0},
{0,0,0,0}
},
{
{1,1,1,0},
{1,0,0,0},
{0,0,0,0},
{0,0,0,0}
}
}};
#endregion
#region 定义背景
privateint[,]bgGraoud={
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0}
}
//随机生成方块和状态
privatevoidBeginTricks()
{
//随机生成砖码和状态码
inti=rand.Next(0,TricksNum);
intj=rand.Next(0,StatusNum);
CurrentTrickNum=i;
CurrentStatusNum=j;
//分配数组
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
CurrentTrick[y,x]=Tricks[i,j,y,x];
}
}
CurrentX=0;
CurrentY=0;
timer1.Start();
}
// 变化方块
privatevoidChangeTricks()
{
if(CurrentStatusNum<3)
{
CurrentStatusNum++;
}
else
{
CurrentStatusNum=0;
}
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
CurrentTrick[y,x]=Tricks[CurrentTrickNum,CurrentStatusNum,y,x];
}
}
}
//下落方块
privatevoidDownTricks()
{
if(CheckIsDown())
{
CurrentY++;
}
else
{
if(CurrentY==0)
{
timer1.Stop();
MessageBox.Show("OVER");
return;
}
//下落完成,修改背景
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
if(CurrentTrick[y,x]==1)
{
bgGraoud[CurrentY+y,CurrentX+x]=CurrentTrick[y,x];
}
}
}
CheckSore();
BeginTricks();
}
Draw();
}
//检测是否可以向下了
privateboolCheckIsDown()
{
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
if(CurrentTrick[y,x]==1)
{
//超过了背景
if(y+CurrentY+1>=20)
{
returnfalse;
}
if(x+CurrentX>=14)
{
CurrentX=13-x;
}
if(bgGraoud[y+CurrentY+1,x+CurrentX]==1)
{
returnfalse;
}
}
}
}
returntrue;
}
//检测是否可以左移
privateboolCheckIsLeft()
{
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
if(CurrentTrick[y,x]==1)
{
if(x+CurrentX-1<0)
{
returnfalse;
}
if(bgGraoud[y+CurrentY,x+CurrentX-1]==1)
{
returnfalse;
}
}
}
}
returntrue;
}
// 检测是否可以右移
privateboolCheckIsRight()
{
for(inty=0;y<4;y++)
{
for(intx=0;x<4;x++)
{
if(CurrentTrick[y,x]==1)
{
if(x+CurrentX+1>=14)
{
returnfalse;
}
if(bgGraoud[y+CurrentY,x+CurrentX+1]==1)
{
returnfalse;
}
}
}
}
returntrue;
}
privatevoidDraw()
{
Graphicsg=Graphics.FromImage(myImage);
g.Clear(this.BackColor);
for(intbgy=0;bgy<20;bgy++)
{
for(intbgx=0;bgx<14;bgx++)
{
if(bgGraoud[bgy,bgx]==1)
{
g.FillRectangle(newSolidBrush(Color.Blue),bgx*20,bgy*20,20,20);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GUI 课程设计 报告 Guhong
![提示](https://static.bingdoc.com/images/bang_tan.gif)