- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#俄罗斯方块程序设计
姓 名:
学 号:
专 业:计算机科学与技术学院
班 级: 级 班
时 间: 2009—2010年第一学期
该实验制作的是小游戏----俄罗斯方块
1.可实现以下基本功能:
用户可自定义添加或删除方块样式及颜色;
用户可自定义修改游戏背景颜色及按键设置。
2.另增加了几个功能:
按键设置改变后点击保存,会弹出对话框提示“保存成功” ;
点击“开始”运行游戏,背景音乐自动播放,点击暂停后,背景音乐也随之停止;
每消除一行,会有特效声音提示消除成功;
根据消行多少会自动加分并显示。
游戏界面效果图如下:
配置窗体效果图如下:
砖块样式配置效果图如下:
游戏设计分为如下九个部分:
新建窗体“配置窗体”(TrmConfig)
添加TabControl控件
砖块样式配置
I.abel控件(lblMode)
点击“事件”,选择“Paint”
Graphics gp=e.Graphics;
gp.Clear(Color.Black);
Pen p=new Pen(Color.White);
for (int i=31;i155;i=i+31)
gp.DrawLine(p,1,i,155,i);
for (int i=31;i155;i=i+31)
gp.DrawLine(p,i,1,i,155);
SolidBrush s=new SolidBrush(blockColor);
for (int x=0;x5;x++)
{
for(int y=0;y5;y++)
{
if(struArr[x,y])
{
gp.FillRectangle(s,31*x+1,31*y+1,30,30);
}
}
}
点击“事件”,选择“MouseClick”
private bool[,] struArr=new bool[5,5];
private Color blockColor=Color.Red;
--------------------------------------------------------
if (e.Button!=MouseButtons.Left)
return;
int xPos,yPos;
xPos=e.X/31;
yPos=e.Y/31;
struArr[xPos,yPos]=!struArr[xPos,yPos];
bool b=struArr[xPos,yPos];
Graphics gp=lblMode.CreateGraphics();
SolidBrush s=new SolidBrush(b ? blockColor:Color.Black);
gp.FillRectangle(s,31*xPos+1,31*yPos+1,30,30);
gp.Dispose();
II.添加ColorDialog控件
添加label(lblColor)控件
点击“事件”,选择“click”
colorDialog1.ShowDialog();
blockColor=colorDialog1.Color;
lblColor.BackColor=colorDialog1.Color;
lblMode.Invalidate();
III.添加listView控件(lsvBlockSet)
点击“事件”,选择“ItemSelectionChanged”
if (e.IsSelected)
{
blockColor=Color.FromArgb(int.Parse(e.Item.SubItems[1].Text));
lblColor.BackColor=blockColor;
string s=e.Item.SubItems[0].Text;
for(int i=0;is.Length;i++)
{
struArr[i/5,i%5]=(s[i]==1)?true:false;
}
lblMode.Invalidate();
}
IV.“添加”按钮(btnAdd)bool isEmpty=false;
foreach (bool i in struArr)
{
if(i)
{
isEmpty=true;
break;
}
}
if (!isEmpty)
{
MessageBox.Show(图案为空,请先用鼠标点击左边窗口绘制图案!,提示窗口,
MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
StringBuilder sb=new StringBuilder(25);
foreach (bool i in struArr)
{
sb.Appen
您可能关注的文档
- .2014浙大建筑施工技术1-3在线作业及答案.doc
- .2014陕西事业单位招聘申论模拟题:过期药如何处理.doc
- .2014青北方圆教育学员记忆-民法.pdf
- .2015-12会考模拟范文.pptx
- .2015.11.24《采薇》.ppt
- .2015升级版足球视频教学大全 足球训练教学视频教程12光盘.doc
- .2015天津历史高考试题.doc
- .2015年12月四级写作真题解析.pdf
- .2015年3月托福口语预测及范文(上).pdf
- .2015年二建公路真题含答案及解析.pdf
- 母婴用品跨境电商产品创新与设计趋势报告.docx
- 聚焦2025:塑料管材行业技术突破与市场潜力分析报告.docx
- 聚焦2025:大数据隐私保护技术在深海海底地球化学物理探测领域的应用与创新报告[001].docx
- 行政法与民主宪政的结合试题及答案.docx
- 交通拥堵对智慧城市居民生活质量影响分析报告——2025年数据解读.docx
- 美妆消费行为分析报告:2025年女性用户需求与市场拓展建议.docx
- 航空航天零部件制造高精度加工技术在航空航天器零部件制造中的钴基合金加工技术报告.docx
- 2025年食品饮料行业包装可持续发展中的包装材料选择与可持续性.docx
- 聚焦2025:大气污染防治技术突破与政策导向深度解读报告.docx
- 2025年农产品品牌建设资金申请与执行方案报告.docx
文档评论(0)