ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:116.22KB ,
资源ID:10120169      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10120169.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课题报告.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

课题报告.docx

1、课题报告信科专业综合实践课程设计实践报告 题 目: C#连连看 班 级: 信科09-3班 学 号: 08093590 姓 名: 赵梓宇 指导教师: 马老师 中国矿业大学计算机学院2012-10-21摘 要 游戏“连连看”,只要将相同花色的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,老少皆宜。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。使用新颖的连击积分规则,使游戏玩家在体会连击的快感后,同时对自己的游戏速度,更有挑战性和追求极速的欲望。 游戏通过定义数组,根据一定的

2、算法实现规定的路径判断。 现在小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型了! 不管你走到哪个游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。游戏产业作为现代电脑电子技术的产物,正在以其独特的魅力在全世界的娱乐领域占据主流位置,我们在承认广大娱乐网民的选择空间狭小的同时,也必须明确的一点就是游戏本身所具有的强大的吸引力。游戏的吸引力主要在于,它在让玩家打发时间的同时,可以让人实现在显示生活中不能实现的理想,得

3、到在现实中不能得到的东西。而且游戏产业促动高科技技术不断升级,作为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。作为编写本程序的语言C#,其本身是一种最新的、面向对象的编程语言 C#看起来与Java有着惊人的相似 它包括了诸如单一继承、界面、与JAVA几乎同样的语法 和编译成中间代码再运行的过程。正是由于C#面向对象的卓越设计 使它成为构建各类组件的理想之选 无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构 这些组件可以方便的转化为XML网络服务 从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。关键字: 小游戏 连连看 数组 路径判断目 录第1章

4、课题概述 11.1 课题背景 11.2 课题目的与意义 11.3 报告组织结构 1第2章 相关理论与技术 22.1 22.1.1 22.1.2 22.2 22.3 2第3章 课题详细设计与实现 33.1 33.1.1 33.1.2 33.2 33.3 3结 论 4参考文献 5第1章 课题概述1.1 课题背景连连看游戏是一种桌面益智小游戏。它简单易上手好玩还锻炼人深受人们喜爱 网上有各种不同的连连看版本 从FLSASH版本的连连看到社交网络的连连看 很多用户深深喜爱这款小游戏 所以如何编写更好版本的连连看 也就意味着更好的市场前景。休闲益智简单的游戏设计的目的是满足了人们休闲的需要 在紧张工作之

5、余休闲类的小游戏能够给人带来最大程度的放松。现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎 除了玩的方法简单外 很多游戏不乏经典。连连看游戏就是一个典型。不管走到哪个网页游戏网站 哪个社交游戏平台 连连看游戏总是排在玩家欢迎排名的前5位 休闲、趣味、益智是连连看玩不厌的精华 且不分男女老少、工薪白领 是一款适合大众的经典网络休闲小游戏。 并且玩连连能锻炼人的观察仔细的能力 越相似的越难分辨这就要看你不是有耐心 还能考察人得反应能力 当然这个能力也是能慢慢培养的 玩连连看还有好多优点 以上的这几点玩连连看都能帮你很好的实现。连连看,又称对对卡,是指图案配对的一种益智游戏,有多种形式,如卡

6、片 游戏、电子游戏或网络游戏) 与“找出两幅图片中的不同”类游戏同为比眼力 。 的游戏。最早期的形式是一副卡片中每种图案有相同的两张,先洗牌,然后排好 卡片,背面朝上,玩家轮流揭开卡片,每次揭两张,如两张图案不同则回复背面 朝上的状态, 如揭到两张图案相同则取走卡片,到桌上所有卡片都被取走时即结 束游戏,手上最多卡片者为胜利者。由于玩法简单,常用作儿童启蒙教育游戏。 又有一种字图连连看, 是一种专供幼童识字认图的游戏,与一般连连看不同的是 它并非以一对相同图案成对, 而是以字配图成对。相关内容连连看则是以两张内 容相关的卡片 (可以是字或图) 配成对代替相同图案。 也有以扑克牌进行游戏的, 把

7、相同点数视为相同图案。连连看”的发展经历了从桌面游戏、在线游戏、社交 游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也 吸引众多程序员开发出多种版本的“连连看” 。这其中,顾方编写的“阿达连连 看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并 于 2004 年,取得了国家版权局的计算机软件著作权登记证书。随着 Flash 应用 的流行,网上出现了多种在线 Flash 版本“连连看” 。如“水晶连连看”“果蔬 、 连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被

8、引入了社交 网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏, 其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 最新连连看版本:连连看5.0,很多人玩过单机版的连连看,但很少有 人知道连连看的生命史,连连看是台湾的陈一进、简诚志先生改编、发明 的一种桌面游戏。 连连看的最新版本区别与以往各个版本主要特点有: 1全新引擎,游戏更为华丽、不再是静止不动。 2总共五种游戏模式、三种难度等级、十三种关卡。 3主题模式可自定义主题、玩家自己的图片、头像、音乐、链接将可 进入游戏。4革新的动态头像。 5漂亮的动态背景。 6联机模式、可以边和朋友语音聊

9、天,边玩连连看。 7自带地图编辑器,可自己制作地图,并加入游戏。 8更多改进期待您在游戏中发掘。1.2 课题目的与意义 连连看游戏是一种桌面益智小游戏。它简单易上手好玩还锻炼人深受人们 喜爱,网上有各种不同的连连看版本,从 FLSASH 版本的连连看到社交网络的连 连看, 很多用户深深喜爱这款小游戏。休闲益智简单的游戏设计的目的是满足了 人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放 松。现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎,除了玩的方 法简单外,很多游戏不乏经典。连连看游戏就是一个典型。不管走到哪个网页游 戏网站, 哪个社交游戏平台, 连连看游戏总是排

10、在玩家欢迎排名的前 5 位, 休闲、 趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大 众的经典网络休闲小游戏。 并且玩连连能锻炼人的观察仔细的能力, 越相似的越难分辨这就要看你不是 有耐心, 还能考察人得反应能力,不过这些能力不都是天生的也是可以通过慢慢 培养而产生, 比如玩连连看游戏就能让这些能力得到一个很好的锻炼,连连看还 有好多优点,比如简单易学等。 开发游戏行业无疑有着很好的发展空间和前景,现在这方面的人才非常紧 缺, 成为一个优秀的游戏开发者是许多开发者梦寐以求的一件事情,但做任何一件工作都是需要实际的经验的, 这次连连看游戏的开发可以增加对游戏开发的经 验,

11、 对开发游戏的编程语言也有着加深理解的作用,是一次理论和实践的完美结合,同时也是为以后的职业生涯奠定了坚实的基础。1.3 报告组织结构第2章 相关理论与技术2.1 设计原理本设计采用单机模式,当在规定的时间内消完全部的图片则当前关卡通过, 如果在规定的时间内没能消完所有的图片则游戏结束, 结束后可以选择重新开始 新游戏。 游戏规则是模仿普通的连连看游戏,主要是鼠标两次点击的图片能否消 去的问题。当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张 不同的图片,则不予处理。在两张相同图片用三根以内的直线能连在一起,就可 以消去;否则,不予处理。 游戏过程,如果玩家在一定的时间内消完则提示

12、玩家胜利,并进入下一关。 如果在一定时间内图片没有消完则提示玩家 Failed。 考虑到本游戏软件是单机小游戏,所以充分考虑到了它的娱乐性,并没有很 复杂的功能。2.2 方案选择在概要设计阶段,主要有两中方案可供选择: 一、所有的图片都是按约定好的种类数和在同一区域的重复次数随机出现, 并且每张图片的的出现次数为偶数 , 时间会有限制, 每一关的图片数量 或时间是不同的,这样就增加了游戏的难度。 二、在同一区域中,图片出现的重复次数是可以由玩家选择的,时间由游戏 约定。不过玩家选择的种类数和重复次数必须是偶数才可以顺利完成游 戏,否则游戏虽然可以正常运行,但无法完成游戏。 在第一种方案中, 由

13、于出现的图片的种类数和重复次数都由软件约定,这样 就缺乏玩家自主选择的空间, 只是在玩游戏时系统已经是设定好的游戏,不能改 变什么, 这样就在无意中降低了玩家在游戏的过程中乐趣,最后致使玩家放弃继 续玩下去。我们参考了网络上的连连看游戏,考虑到游戏的娱乐性。所以我们放 弃第一种方案的设计思想,参考网络上流行的连连看的游戏,选用第二种方案。2.3 主要问题开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的 界面; 如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后, 判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判 断;如何判断游戏是否结束以及输

14、赢问题等。2.4 技术要求本游戏软件可以再大多数计算机上运行, 游戏中能正确判断鼠标两次点下的 图片是否可以消去、能正确判断游戏是否已经结束。第3章 课题详细设计与实现3.1 游戏设计技术原理3.1.1 开发语言 C#是一种编程语言,它简单、安全、面向对象语言的设计。C#是微软公司 研究员 Anders Hejlsberg 的成果。C#看起来与 Java 有着惊人的相似;它包括 了诸如单一继承、界面、与 Java 几乎同样的语法,和编译成中间代码再运行的 过程。 但是 C#与 Java 有着明显的不同, 它借鉴了 Delphi 的一个特点, COM(组 与 件对象模型)是直接集成的,而且它是微

15、软公司.NET windows 网络框架的主角。 C#是 专 门为 .NET 的 应 用 而 开发 的 语 言 。 它 吸 收了 C+、Visual Basic、 Delphi、Java 等语言的优点,体现了当今最新的程序设计技术的功能和精 华。C#继承了 C 语言的语法风格,同时又继承了 C+的面向对象特性。不同 的是,C#的对象模型已经面向 Internet 进行了重新设计,使用的是.NET 框 架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地 址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中 由于多重继承带来的可怕后果。 .NET 框架为 C#提供了一

16、个强大的、 易用的、 逻辑结构一致的程序设计环境。 C#看起来与 Java 有着相似之处;它包括了诸如单一继承、界面、与 Java 几乎同样的语法,和编译成中间代码再运行的过程,它吸收了 JAVA 语言的很多 优点。使用了简单的 C 语言结构,C#有些组件可以方便的转化为 XML 网络服务, 从而使它们可以由任何语言在任何操作系统上通过 INTERNET 进行调用。 C#具备 JAVA 和 C 语言的一些特点,它是面向对象的语言设计,还要 JAVA 和 C 语言不具 备的特点, C 语言中的一些易出现问题的语法进行了一定的改进,使得它能既 对 简单又方便的解决问题。 在 C#中类的声明与 Ja

17、va 很相似.这是合理的因为经验告诉我们 Java 模型工 作得很好.Java 的关键字 import 已经被替换成 using,它起到了同样的作用.一个 类开始执行的起点是静态 Main()方法.下面的 Hello World 程序展示了程序基本 结构形式: Console.ReadLine(); using System; class Hello static void Main()Console.WriteLine(Hello,world); 在这个例子中,System 这个名字指向一个包括了基本 C#实用类集合的命名空间(namespace).这个命名空间包括了 Console 类,它

18、在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成 abstract 的类不能被实例化;它只能被用做一个基类.C# 关键字 lock 就象 Java 关键字 final,它申明一个类不是抽象的,但是它也不能 被用做另一个类的基类.界面: 就象在 Java 中一样,一个界面是一组方法集合的 抽象定义.当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义 的所有方法.一个单一的类可以实现几个界面.也许以后会出现一些微妙的差别, 但是这个特点看起来与 Java 相比没有变化.布尔运算:条件表达式的结果是布 尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔

19、类型到其 他类型没有直接的转换过程.布尔常量 true 和 false 是 C#中的关键字.错误处 理:如 Java 中那样,通过抛出和捕捉异常对象来管理错误处理过程.内存管理: 由底层.NET 框架进行自动内存垃圾回收.一个基本的 C#类中包含数据成员、属 性、构造器和方法。属性可以是静态或实例成员。 C#是一个强类型的语言, 它的数值类型有一些可以进行隐式转换,其他的必 须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,例如 int 可以转换成 long,float,double,decimal.反之必须显式的转换. 例: a=7; float b=a; /隐式转换 intlon

20、g c= 12L ; /和 C+一样必须加上 a=(int)c; /显式转换 使后缀 L 才能定义为 long 型不然就为 int 型了用上面的显示转换不能用在 bool 和 string 类型上。2.2.3 提高性能提升 在性能提高方面,ASP.NET 团队会在在微软的分布式缓存 Velocity 发布之 后,为 ASP.NET 提供相应的各类 provider。这样 ASP.NET 便可以将数据缓存, 会话状态等各种信息存放在进程外的的分布式缓存中, 以此得到更好的性能和健 壮性。这些 provider 实现可以与 ASP.NET 现有的扩展方式良好集成,对开发人 员的使用保持透明。3.1

21、.2 面向对象 面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。 如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、 CAD 技术、人工智能等领域。 面向对象的基本概念: 1. 对象。 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 2. 对象的状态和行为。 对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中 3. 类。 具有相同或相似性质的对象的抽象

22、就是类。因此,对象的抽象是类,类的具 体化就是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作, 它是对象的行为的抽象, 用操作名和实现该操作的方法来描述。 4. 类的结构。 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的 结构关系,即一般-具体结构关系,整体-部分结构关系。 (1) 一般具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。 (2) 整体部分结构称为组装结构,它们之间的关系是一种“与”关系, 或者是“has a”关系。 5. 消息和方法。 对象之间进行通信的结构叫做消息。在对象的操作中,

23、当一个消息发送给某 个对象时, 消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括 说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名) 。一般还 要对参数加以说明, 参数可以是认识该消息的对象所知道的变量名,或者是所有 对象都知道的全局变量名。 面向对象的特征: 1. 对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象 的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。分类性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一 个类就是这样一种抽象, 它反映了与应用有关的重要性质,而忽略其他一些无关 内容。任

24、何类的划分都是主观的,但必须与具体的应用有关。 3. 继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关 系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行, 把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语 言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信 息组织与分类的行之有效的方法,它简化了对象、类的

25、创建工作量,增加了代码 的可重性。 采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特 性能够共享,提高了软件的重用性。 4. 多态性(多形性)。 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同 的结果。 不同的对象, 收到同一消息可以产生不同的结果, 这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。 面向对象的要素:1. 抽象。 抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定 如何实现对象之前的对象的意义和行为。 使用抽象可以尽可能避免过早考虑一些 细节。 类实现了对象的数据

26、(即状态)和行为的抽象。2. 封装性。 封装性是保证软件部件具有优良的模块性的基础。 面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口) 与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用 域提供保护。 对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。 面向对象的封装比传统语言的封装更为清晰、更为有力。 3. 共享性。 面向对象技术在不同级别上促进了共享 同一类中的共享。 同一类中的对象有着相同数据结构。 这些对象之间是结构、 行为特征的共享关系。 在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子 类中,存在数据结构和行为

27、的继承,使各相似子类共享共同的结构和行为。使用 继承来实现代码的共享,这也是面向对象的主要优点之一。 在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且为未来 目标的可重用设计准备了条件。 通过类库这种机制和结构来实现不同应用中的信 息共享。3.1.3各个模块的详细算法设计1 时间限制模块的算法设计时间限制模块的算法主要分为如下几步: (1) 在游戏开始时,设置当前限制时间(nOverTime)为 60 秒。 (2) 设定一个时间定时器 TIMER1,时间间隔为 1000ms 。(3) 当每一次时间间隔到时,就把当前限制时间减少一秒。 (4) 如果游戏中有一对棋子消除时,就把限制时间

28、增加三秒。 (5) 如果限制时间变成零秒,说明游戏结束,弹出结束提示对话框。如果当前游戏 等级超过记录等级,还要弹出英雄榜对话框对话。2 消除相同棋子模块的算法设计消除相同棋子模块的算法主要分为如下几步: (1) 当鼠标单击棋子时,保存到棋子坐标及类型到第一次选中变量中。 (2) 得到鼠标第二次选中的棋子坐标及类型。 (3) 比较两次棋子类型,如果相同,转步骤(4) 。如果不相同,转步骤(5) 。 (4)画一条连接线,并消除这对棋子,退出等待下一次鼠标选择。 (5) 把鼠标第二次选中的棋子坐标及类型赋值给第一次选中变量。3 游戏升级模块的算法设计游戏升级模块的算法主要分为如下几步: (1) 保

29、存当前游戏等级和限制时间初始值。(2) 当游戏中的棋子全部被消除完毕时,就把当前游戏等级增加一级。 (3) 把限制时间的初始值减少 5 秒。 (4) 调用重新开始游戏接口函数。4 消除提示模块的算法设计消除提示模块的算法主要分为如下几步:(1)判断提示次数变量的值,如果等于 0,结束。 (2)查找当前棋盘中相同的棋子。 (3)在相同棋盘中,查找可以消除的棋子。 (4)给出提示连线,提示次数变量减少 1。5 棋子换盘模块的算法设计棋子换盘模块的算法主要分为如下几步:(1)保存当前棋盘数组中的数据到临时数组中。 (2)循环的从临时数组中,随机取出数据保存到棋盘数组中。6 音乐播放模块的算法设计需要

30、在用户选择音乐播放时,把音乐资源载入程序并播放。7 帮助类模块的算法设计把相应的对话框资源显示出来即可。3.2 设计构思3.2.1 游戏画面目标 一个精美的游戏画面往往能够吸引更多的玩家来尝试娱乐, 这不仅仅是增加 了娱乐者的好奇,一个的游戏画面能使游戏者的心情愉快达到娱乐休闲的目的, 再者一个游戏画面,对于设计者来说,可以算是简单的地方;但对于玩家,这却 是重要的, 一般玩家不会关心你是怎么实现的, 他所关心的是画面的美观, 漂亮, 是不是能让人赏心悦目。 本文设计的画面虽不完美,也整体得当,设置合理和和更人性化。3.2.2 游戏的路径判断 1:两张图片是相同的 2:两张图片之间连线的折点不

31、超过两个。那么两张图片的连接情况可以分为三 种情况: (1):直线相连 (2):一个折点 (3):两个折点; 由此分析我们知道,每一个折点必定有且至少有一个坐标(x 或者 y)和两张图 片中的任意一张图片是相同的, 即折点必定在两张图片所在的 x 方向或 y 方向的 直线上,只有这样两张图片才能在不超过两个折点进行连接。 所以得出路径的判断是: 假设两张图片 A,B,如果有两个折点分别在 x,y 那么 (1): 如果验证 A,B 直线连线,则连接成立 (2): 搜索以 A, 的 x, 方向四条直线 B y (可能某两条直线会重合) 上的有限点, 每次取两点作为 z1,z2,验证 A 到 z1/

32、z1 到 z2/z2 到 B 是否都能直线相连,是 则路径连接成立否则连接不成立。3.2.3 游戏的系统结构图3.3 程序算法设计算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指 令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够 对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺 陷,或不适合于某个问题,执行这个算法将不会解决这个问题 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃 至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法 的评价主要从时间复杂度和空间复杂度来考虑。算法的时间复杂度是指执 行算法所需要的时间;算法的空间复杂度是指算法需要消耗的内存空间。 开发一个游戏,分析算法前,应先抽象出游戏基本结构,对于连连看游戏来 说,核心的部

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2