拼数字游戏C#课程设计Word文件下载.docx
- 文档编号:8402714
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:13
- 大小:221.58KB
拼数字游戏C#课程设计Word文件下载.docx
《拼数字游戏C#课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《拼数字游戏C#课程设计Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。
3.2详细设计3
4关键代码与全部代码4
4.1关键代码4
4.2全部代码欣赏5
5课程设计总结9
参考文献9
评语及成绩10
1前言
拼数字游戏是一种很简单但也是很有趣味性的游戏。
编写一个拼数字游戏,通过把9个label控件绑定起来共用一个事件,来实现label控件的移动进而在后续的判断中确定是否通关。
2课题介绍
拼数字游戏通过把1—9这9个数在游戏开始后上随机排序,用到数组和随机函数的知识!
2.1功能要求
(1)用C#语言实现程序设计;
(2)利用二维数组进行相关信息处理;
(3)画出查询模块的流程图;
(4)系统的各个功能模块二维数组实现;
(5)界面友好(良好的人机互交),程序要有注释。
2.2主要任务
(1)定义一个二维数组,数组中的每一个成员代表一张带数字的卡片;
(2)画出所有模块的流程图;
(3)编写代码;
(4)程序分析与调试。
2.3运行环境
(1).NETFramework平台
(2)VisualStudio2010开发环境
2.4开发语言
C#语言
3概要设计与详细设计
3.1系统流程图
系统的主要功能包括:
定义二维数组,把二维数组中的数据存到相对应的一位数组中,利用随机函数产生一个不可见的数字,通过判断不可见得数字和
系统的流程及框架如图3.1所示。
图3.1系统流程图
3.2详细设计
【以下为样例】
(1)功能“快速生成没有重复的随机数”的详细设计
“快速生成没有重复的随机数”功能是:
先生成0—8的随机数,然后找到下标为这个随机数的元素,并与第一个交换战后产生1—8的随机数和第二个交换。
如此反复,一直生成7—8的随机数。
该功能的实现流程如图3.2所示。
......
图3.2快速生成不重复的随机数
(2)功能“移动方块”的详细设
“移动方块”功能是:
先判断被单击方块是不是和空白方块相邻的方块,如果是移动到空白处,并使其原来的位置便为空白。
是否
图3.3移动方块流程图
4关键代码与全部代码
4.1关键代码
【在程序的开头部分定义二维数组数组,用来存放信息,共9条信息。
Label[,]arrLbl=newLabel[3,3];
intunRow=0,unCol=0;
boolplaying=false;
privatevoidbtnPlay_Click(objectsender,EventArgse)
{
arrLbl[0,0]=label1;
arrLbl[0,1]=label2;
arrLbl[0,2]=label3;
arrLbl[1,0]=label4;
arrLbl[1,1]=label5;
arrLbl[1,2]=label6;
arrLbl[2,0]=label7;
arrLbl[2,1]=label8;
arrLbl[2,2]=label9;
arrLbl[unRow,unCol].Visible=true;
int[]arrNum={1,2,3,4,5,6,7,8,9};
Randomrm=newRandom();
for(inti=0;
i<
8;
i++)
intrmNum=rm.Next(i,9);
inttemp=arrNum[i];
arrNum[i]=arrNum[rmNum];
arrNum[rmNum]=temp;
}
9;
arrLbl[i/3,i%3].Text=arrNum[i].ToString();
intcover=rm.Next(0,9);
unRow=cover/3;
unCol=cover%3;
arrLbl[unRow,unCol].Visible=false;
playing=true;
4.2全部代码及运行结果
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Media;
namespaceWindowsFormsApplication1
{
publicpartialclassMainFrom:
Form
publicMainFrom()
InitializeComponent();
}
privatevoidlabel1_Click(objectsender,EventArgse)
if(!
playing)
return;
introw=((Label)sender).Top/80;
intcol=((Label)sender).Left/80;
if(Math.Abs(row-unRow)+Math.Abs(col-unCol)==1)
stringtemp=arrLbl[unRow,unCol].Text;
arrLbl[unRow,unCol].Text=arrLbl[row,col].Text;
arrLbl[row,col].Text=temp;
arrLbl[row,col].Visible=false;
unRow=row;
unCol=col;
if(arrLbl[i/3,i%3].Text!
=Convert.ToString(i+1))
break;
if(i==8)
playing=false;
MessageBox.Show("
恭§
喜2你?
通?
过y了?
游?
戏·
"
"
消?
息¢对?
话°
框ò
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
图3.4开始游戏界面
图3.4完成游戏界面
5课程设计总结
在做这个小程序期间在生成Click事件时由于没有把所有的九个控件选中所以必可避免的出了些问题,我也曾尝试做个4*4的拼数字游戏但是遇到了我所解决不了的问题,所以就停止了。
通过这次的课程设计我发现我们学习的课本知识远远不够,可惜啊仍需要我们,继续努力!
参考文献
[1]罗福强,VisualC#.NET程序设计教程[M].人民邮电出版社,2012.
[2]牛莉,刘远军等.计算机等级考试辅导教程[M].北京:
中国铁道出版社,2008.
[3]张福祥.C语言程序设计实验实训与习题解答[M].沈阳:
辽宁大学出版社,2010.1
成绩评定
类别
各项分值
评分标准
实际得分
实训表现
10
态度端正,出勤率高,不做与课程设计无关的事情,积极思考,认真分析、研究,勤于动手实践。
课题难易程度和工作量
达到或超过任务书中规定课题的难易程度和工作量。
从规模、复杂性、关键问题解决的难易和多少等方面进行衡量。
知识理解掌握情况
对所学知识和技术有充分理解并掌握,能融会贯通,充分发挥自己的才能实施设计方案。
积极体温,所提问题新颖,有水平,是深思熟虑后而产生的疑问。
能力评价
从自学能力、知识接受能力、分析问题、解决问题的能力、创新能力、动手能力、写作能力等方面进行衡量。
模块完成情况
30
系统整体运行情况及各模块功能实现情况
团队协作表现
积极参与团队研究讨论,主动发表自己的看法和观点,合理解决争执。
本人任务完成情况及贡献
所担任的设计任务重要而且关键,独立完成并完成情况良好。
在方案设计过程中起到重要作用,是团队中的核心任务。
设计报告质量
报告文字通顺,内容翔实,论述充分、完整,长度符合相关要求,排版规范整齐。
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
综合得分
总评成绩:
(五分制)
补充说明:
指导教师:
(签字)
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 游戏 C# 课程设计