C连连看游戏设计报告.doc
《C连连看游戏设计报告.doc》由会员分享,可在线阅读,更多相关《C连连看游戏设计报告.doc(16页珍藏版)》请在咨信网上搜索。
1、 连连看游戏一、课程设计题目 基于C#的连连看设计二、 需求分析生活在节奏越来越快的城市里,适量的游戏可以为我们舒缓疲劳,带来愉悦的心情。不管你走到哪个游戏网站,连连看游戏总在排名的前5,休闲、趣味、益智是连连看玩不厌的精华,是一款适合大众的经典网络休闲小游戏。在讨论后我们小组最后选定做连连看这个小游戏。本系统是一款简单的单机版游戏,只要将相同花色的两张牌用三根以内的直线连在一起就可以消除,当游戏中已没有满足条件的图案时,点击重列可重新排序,规则简单容易上手。游戏速度节奏快,画面清晰可爱,老少皆宜,因此越来越受大众的欢迎。游戏规则如下:(1) 概要:玩家可以将2个相同图案的牌连接起来,连接线不
2、多于3根直线,就可以成功将两个牌消除。(2) 操作:第一次使用鼠标点击游戏界面中的牌,该牌此时为“被选中”,以特殊方式显示;再次以鼠标点击其他牌,若该牌与被选中的牌图案相同,且把第一个牌到第二个牌连接起来,中间的直线不超过3根,则消除这一对牌,否则第一个牌回复成未被选中状态,而第二个牌变成被选中状态。(3) 胜利条件:将游戏界面上的牌全部消除掉。(4) 失败条件:到规定时间,界面上的牌仍未全部消掉。三、 概要设计1. 方案选择 在概要设计阶段,有两种方案可供选择:第一种方案是所有出现的图像的种类数和重复次数都是软件约定的,这样就在无意中降低了玩家在游戏过程中乐趣,最后致使玩家不想继续玩下去。我
3、们参考了网络上的连连看游戏,考虑到游戏的娱乐性。所以参考网络上流行的连连看游戏,设计出第二种方案。 第二种方案:在同一区域中,图片出现的种类数和重复次数是可以由玩家选择的,时间由软件约定。不过玩家选择的种类数和重复次数必须是偶数才可以顺利完成游戏,否则游戏虽然可以正常运行,但无法完成游戏。 2. 系统设计针对上面的需求分析,我们把整个软件分成两个模块:1、整体界面的设计和图片的随机生成;2、图片路径判断函数; 以下就是系统结构图:连连看 图片路径判断函数界面设计和图片的随机生成模块模块连连看系统结构图3.基本思路3.1游戏画面问题的思路 画面,对于设计者来说,可以算是最简单的地方;但对于玩家,
4、这却是最重要的,一般玩家不会关心你是怎么实现的,他所关心的是画面的美观,漂亮,是否能让人赏心悦目。3.2获取图片位置的思路 通过数组从图片库随即获取规定个数得到图片,随机分布在画布上。图片个数一定是偶数个。 3.3路径判断的思路 连连看所要求的是:1:两个目标是相同的 2:两个目标之间连接线的折点不超过两个。(连接线由x轴和y轴的平行线组成) 那么分析一下连接的情况可以看到,一般分三种情况1:直线相连 2:一个折点 3:两个折点:可以发现,如果有折点,每个折点必定有且至少有一个坐标(x或者y)是和其中一个目标点是相同的,也就是说,折点必定在两个目标点所在的x方向或y方向的直线上。所以设计思路就
5、是:假设目标点 p1 , p2 ,如果有两个折点分别为z1 , z2 那么,所要进行的是 1:如果验证p1 , p2 直线连线,则连接成立 2:搜索以p1,p2的x,y方向四条直线(可能某两条直线会重合)上的有限点,每次取两点作为z1,z2 ,验证p1到z1/z1到z2/z2到p2 是否都能直线相连 ,是则连接成立。四、 详细设计4.1主界面的设计 由于这个程序的界面并不是很复杂,所以用到的控件也不多,主要核心内容还是后台的代码设计。图片的随机生成主要是用到一个random()函数将随机数赋值给flag数组中的每个元素,然后根据数组元素值,来显示图片。4.1.1 界面的设计 程序主体界面1、色
6、彩上:总结人们的视觉习惯和色彩对眼睛的健康影响,决定对于画布采用黑色背景,神秘而大方;右边的控制区采用天蓝色,配合左边纯黑的背景,就像黑夜中的蓝天,纯洁而大气。2、功能上:背景就是窗体,右侧是一个groupbox控件,用来放置控制按钮,下方是一个progressbar控件,用来显示时间条。4.2图片的随机生成 实现这个功能要分很多个步骤: 1、程序运行时即载入游戏需要的N张图片,默认情况下图片种类数是18,重复数是4(重复数必须是偶数),并且可以选择是否重列。通过一个循环,加载随即的选择N种图片。具体载入图片的代码如下: private void IniteBmp(int maxnum) g_
7、g = this.CreateGraphics(); for (int i = 0; i MAPWIDTH; i+) for (int j = 0; j MAPHEIGHT; j+) gmapi, j = 0; IniteRandomMap(ref gmap, maxnum); AI = new Kernal(ref gmap); for (int i = 0; i maxnum; i+) ResourceManager rm = new ResourceManager(LLK.data, Assembly.GetExecutingAssembly(); imgi= (Image)rm.Get
8、Object(i.ToString()+.bmp); /imgi = (Image)Bitmap.FromFile(Images+(i+1).ToString()+.bmp); for (int i = 0; i 6; i+) /bombimgi = (Image)Bitmap.FromFile(ImagesB+(i+1).ToString()+.bmp); 2、当确认游戏开始时,通过画图过程完成图片生成,画图的过程代码如下 :private bool CheckWin(ref int, map) bool Win = true; for (int i = 0; i MAPWIDTH; i+)
9、 for (int j = 0; j 0) for (int i = 0; i multipic; i+) int xrandom = r.Next(19) ; int yrandom = r.Next(11) ; if (mapxrandom, yrandom = 0) mapxrandom, yrandom = num; Else i-; num-; private void FreshMap(ref int, map) Random r = new Random(); for(int i=0;iMAPWIDTH;i+) for (int j = 0; j MAPHEIGHT; j+) i
10、f (gmapi, j != 0) int x = r.Next(19); int y = r.Next(11); int temp = gmapx, y; gmapx, y = gmapi, j; gmapi, j = temp; TransportMap(ref gmap); private void TransportMap(ref int, map) for(int i=0;iMAPWIDTH;i+) for (int j = 0; j MAPHEIGHT; j+) AI.GiveMapValue(i, j, mapi, j); /在指定位置画指定图 private void Draw
11、(Graphics g, Image scrImg, int PicX,int PicY) g.DrawImage(scrImg, new Point(PicX, PicY); private void Form1_Paint(object sender, PaintEventArgs e) g_g.DrawLine(new Pen(new SolidBrush(Color.DeepSkyBlue), 5), 0, 11 * 34 + 5, 19 * 34, 11 * 34 + 5); if (bStart) for (int i = 0; i MAPWIDTH; i+) for (int j
12、 = 0; j 209) MessageBox.Show(游戏区域内最多只有209个空,您选的数据太多,请重新选择!); textBox1.Text = 18; textBox2.Text = 4; return; IniteBmp(picnum); if (bStart) MessageBox.Show(游戏已在运行); return; else bStart = true; this.Invalidate(); music.Play(Soundsbg-03.mid); 重列实现代码如下: private void RefreshMap(ref int, map) if (bStart) f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 连连 游戏 设计 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。