版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 算法设计文档题 目: 作 者: 2011年 5 月 浙江温州目 录第1章项目概述11.1项目背景11.2任务概述11.3项目开发计划2第2章算法分析32.1算法描述32.2交换、消除、填补算法3第3章构造阶段83.1核心代码83.2系统测试9第4章用户手册134.1系统主要功能134.2运行环境要求134.3系统安装与初始化134.4运行说明13第5章算法设计小结16参考文献17第1章 项目概述1.1 项目背景电子游戏的发展已经经过了很长的时间,从FC红白机到现在的PC、GBA、PSP,无论在游戏质量还是在游戏平台上都有了很大的飞跃。作为日常重要的通讯工具来说,手机游戏的发展有待看好。其中最
2、为重要的是手机平台和手机网络的先决条件,将决定手机游戏成为下一代的游戏产业链中焦点。一代代的高端手机不断的突破原本的功能平台,在手机的硬件上,显然已经超过了几年前的微机(386时代前的计算机)。S60、手机操作系统的出现更是把手机这一载体推向了另一个高度。部分手机已经拥有高速的存储读取速度和高容量的存储盘,甚至可以达到1G的大小。其功能上已经可以和掌上电脑所媲美,由此可见,手机是一个合格的游戏载体,它的发展速度并不亚于计算机,很难说在几年后手机平台将会是一个什么样的状况。不过从电脑的发展不难看出,从P3到P4的时间短得让人咋舌。身为一款移动通讯设备,手机是一个合格的网络传输工具,3G时代即将来
3、临,从手机网络来看,现在已然实现流畅的在手机平台上看即时的电视广播。GPRS的传输速度现在已经可以达到modem拨号56K的两倍,预计在3G时代来临时会和目前的电脑互联网的速度持平(在不考虑手机终端硬件条件的情况下)考虑这两个条件,手机的确是一个不错的游戏载体。就平台的便携性来讲,电脑就永远达不到手机的水平。而其他的优势,如:运行速度、网络速度、画面效果、音乐效果、操作系统等,手机平台也会在近几年内有望赶超电脑。唯一的缺陷就是手机屏幕过小,和手机键盘不便操作。但是只要把握好手机游戏的开发思路,开发符合小屏幕并且操作简单的游戏便可解决这一缺陷。对对碰游戏向来受到人们的爱戴,在QQ游戏中对对碰更是
4、玩家最多相当热门的游戏,知名度高,版本类型多。不过问题就存在于大多数版本都是基于WINDOWS平台的所以开发一个基于移动平台的对对碰是目前所需要的,具有非常好的市场前景1.2 任务概述1 配置操作:背景音乐、音效开关。2 开始游戏操作:生成模块,游戏开始。3 游戏操作:左键点击图片,再点击另张相邻图片,如果图片交换后横(竖)相同图片大于或等于3的消除这些图片,否则不交换任务分配编 码内容测 试内容报 告内容1.3 项目开发计划第2章 算法分析2.1 算法描述分析一下,交换一般分为三种情况:情况1:交换后,消除的头像是竖排的。情况2:交换后,消除的头像是横排的。情况3:交换后,消除的头像横竖排都
5、存在过程就是点击两个图样,先检查是否是同一图样,再检查是否在同一直线,再检查是否是一个折点,再是两个折点,如果都不是则返回无解,如果是,返回TRUE,记录折点,用直线连接折点和连接点并消除两个图样,这个点的值变为0。2.2 交换、消除、填补算法【代码】:private void play_MouseDown(object sender, MouseEventArgs e) if (first) label1.Text = (MousePosition.X / 30).ToString(); label2.Text = (MousePosition.Y / 30 - 2).ToString();
6、 first = false; second = false; x1 = MousePosition.X / 30; y1 = MousePosition.Y / 30 - 2; else label3.Text = (MousePosition.X / 30).ToString(); label4.Text = (MousePosition.Y / 30 - 2).ToString(); first = true; second = true; x2 = MousePosition.X / 30; y2 = MousePosition.Y / 30 - 2; if (Math.Abs(x1
7、- x2) + Math.Abs(y1 - y2) = 1 && second = true) label5.Text = "Yes" else label5.Text = "No" if (Math.Abs(x1 - x2) + Math.Abs(y1 - y2) = 1 && label5.Text = "Yes" && first = true) Change(x1, y1, x2, y2); check(); if (f=true) for (int i = 0; i <
8、N; i+) for (int j = 0; j < N; j+) if (szi, j = 0) fill(); progressBar1.Value = progressBar1.Value - 2; this.Invalidate(); reDraw(); f = false; CC(); else Change(x1, y1, x2, y2); /消除、填补public void fill() for (int i = 0; i < N; i+) /每列 if (emptyi > 0) for (int j = 0; j < N; j+) /每行 while (
9、szj, i = 0) if (j < N - 1) /空格之后的所有图片向前移一位 for (int n = j + 1; n < N; n+) down(i, n); /填充最后一位 Random rd = new Random(); int s = rd.Next(1, 8); Bitmap tb = (Bitmap)对对碰.Properties.Resources.ResourceManager.GetObject("_" + s.ToString(); sz7, i = s; bt7, i = tb; /Thread.Sleep(500); reDra
10、w(); /图标左移public void down(int x, int y) if (y > 0) szy-1 , x = szy, x; bty-1 , x = bty, x; /行、列检测 private void check() /行条件满足标记为0 for (int i = 0; i < N; i+) for (int j = 0; j < N; j+) if (j = 0) RowSames = 1; else if (szj, i = szj - 1, i) RowSames+; else if (RowSames >= 3) /该位置之前rowsame
11、s个格子的物体都要消除 for (int n = 1; n <= RowSames; n+) szj - n, i = 0; f = true; RowSames = 1; if (j = 7 && RowSames >= 3) for (int n = 1; n <= RowSames; n+) sz8 - n, i = 0; f = true; /列条件满足标记为0 if (j = 0) ColumSames = 1; else if (szi, j = szi, j - 1) ColumSames+; else if (ColumSames >=
12、3) /该位置之前rowsames个格子的物体都要消除 for (int n = 1; n <= ColumSames; n+) szi, j - n = 0; f = true; ColumSames = 1; if (j = 7 && ColumSames >= 3) for (int n = 1; n <= ColumSames; n+) szi, 8 - n = 0; f = true; RowSames = 1; ColumSames = 1; int temp = 0; for (int i = 0; i < N; i+) for (int
13、j = 0; j < N; j+) if (szj, i = 0) temp+; emptyi = temp; sore = sore +temp; temp = 0; reDraw(); /重画 public void reDraw() /画模块 Graphics g = Graphics.FromImage(bufferImage); for (int i = 0; i < N; i+) for (int j = 0; j < N; j+) g.DrawImage(bti, j, i * 30, 28 + j * 30); /交换数组元素及对应的图像private voi
14、d Change(int x1, int y1, int x2, int y2) int abc = szx1, y1; szx1, y1 = szx2, y2; szx2, y2 = abc; Bitmap temp = btx1, y1; btx1, y1 = btx2, y2; btx2, y2 = temp; /Thread.Sleep(500); 第3章 构造阶段3.1 核心代码3.1.1 方法1:模块生成private void play_Load(object sender, EventArgs e) for (int i = 0; i < N; i+) for (int
15、j = 0; j < N; j+) Random rd = new Random(); szi, j = rd.Next(1, 9); bti, j = (Bitmap)对对碰.Properties.Resources.ResourceManager.GetObject("_" + szi, j.ToString(); pti, j = new Point(i * 30, j * 30); 3.1.2 方法2:检测算法private void check() /行条件满足标记为0 for (int i = 0; i < N; i+) for (int j = 0
16、; j < N; j+) if (j = 0) RowSames = 1; else if (szj, i = szj - 1, i) RowSames+; else if (RowSames >= 3) /该位置之前rowsames个格子的物体都要消除 for (int n = 1; n <= RowSames; n+) szj - n, i = 0; f = true; RowSames = 1; if (j = 7 && RowSames >= 3) for (int n = 1; n <= RowSames; n+) sz8 - n, i
17、= 0; f = true; /列条件满足标记为0 if (j = 0) ColumSames = 1; else if (szi, j = szi, j - 1) ColumSames+; else if (ColumSames >= 3) /该位置之前rowsames个格子的物体都要消除 for (int n = 1; n <= ColumSames; n+) szi, j - n = 0; f = true; ColumSames = 1; if (j = 7 && ColumSames >= 3) for (int n = 1; n <= Col
18、umSames; n+) szi, 8 - n = 0; f = true; 3.2 系统测试3.2.1 测试用例模块生成测试, 如表格3.1模块生成测试格3.1所示。表格3.1模块生成测试序号1测试目的 测试模块生成用例级别高测试类型功能测试测试方法与步骤输入玩家开始游戏具体步骤在开始图片中点击开始游戏,转至游戏界面,生成8*8个30*30的图片模块(调用模块生成代码)输出1.成功布置游戏模块测试结果1. 正常2.布置模块成功功能完成是 交换测试, 如表格 3.2 交换测试所示。表格 3.2 交换测试序号2测试目的 测试图标能否顺利交换用例级别高测试类型功能测试测试方法与步骤输入点击两个相同
19、的可交换的图标具体步骤1.点击一个图标2.点击另个与上次点击相邻且交换后横(竖)有3个或3个以上相同图像(调用判断交换、消除填补代码)输出1. 两个图标成功交换2. 满足条件的模块消除3. 发出消除声音4. 分数加10测试结果1. 正常2.交换成功功能完成是 重列功能测试,如表格 3.3重列功能测试所示。表格 3.3重列功能测试序号3测试目的 测试模块能否顺利重列用例级别高测试类型功能测试测试方法与步骤输入点击重列按妞具体步骤点击重列按纽,游戏界面模块刷新重列(调用重画代码)输出模块重列;可重列次数减1测试结果1. 正常2.重列成功功能完成是 过关测试,如表格 3.4过关测试所示。表格 3.4过关测试序号4测试目的 测试过关用例级别高测试类型功能测试测试方法与步骤输入所有图标重列具体步骤分数达到要求、所有图标重列(调用重画代码)输出提示进入下一关;可用时间减少;可提示次数和可重列次数减少;地图重新布置测试结果1. 正常;2.过关成功功能完成是配置声音,如表格 3.5配置声音所示。表格 3.5配置声音序号5测试目的 测试配置声音用例级别高测试类型功能测试测试方法与步骤输入点击声音选中框具体步骤点击声音选中框输出1.如果声音为不选中状态则任何操作无声响2.如果声音为选中状态则提示重列和连线有声音测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年05月北京2024届中国民生银行资产管理部毕业生“未来银行家”暑期管培生校园招考笔试历年参考题库附带答案详解
- 2025年度房地产开发项目承包商资金保障担保合同3篇
- 2025年度拆迁安置补偿合同模板(含房屋买卖)4篇
- 2025年度厂房用电安全改造安装合同范本4篇
- 2025年度城市地下综合管廊建设场地平整与施工合同4篇
- 2025年度茶园场地承包合同范本-茶树种植基地合作经营4篇
- 2024年04月江苏交通银行信用卡中心苏州分中心校园招考笔试历年参考题库附带答案详解
- 临时暑期工劳动协议格式2024年版B版
- 2025年度茶园采摘加工一体化项目合作协议4篇
- 2025年度建筑材料运输安全管理与培训合同3篇
- 2024人教新版七年级上册英语单词英译汉默写表
- 《向心力》参考课件4
- 2024至2030年中国膨润土行业投资战略分析及发展前景研究报告
- 【地理】地图的选择和应用(分层练) 2024-2025学年七年级地理上册同步备课系列(人教版)
- 2024年深圳中考数学真题及答案
- 土方转运合同协议书
- Module 3 Unit 1 Point to the door(教学设计)-2024-2025学年外研版(三起)英语三年级上册
- 智能交通信号灯安装合同样本
- 安全生产法律法规清单(2024年5月版)
- 江苏省连云港市2023-2024学年八年级下学期期末道德与法治试卷(含答案解析)
- 2024年大学试题(宗教学)-佛教文化笔试考试历年高频考点试题摘选含答案
评论
0/150
提交评论