基于C#连连看游戏开题报告.doc_第1页
基于C#连连看游戏开题报告.doc_第2页
基于C#连连看游戏开题报告.doc_第3页
基于C#连连看游戏开题报告.doc_第4页
基于C#连连看游戏开题报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)开题报告题目 基于C#的连连看游戏开发专 业 名 称 电子信息工程班 级 学 号 088205208学 生 姓 名 曹丛指 导 教 师 廖 远填 表 日 期 2012 年 01 月 04 一、选题的依据及意义 连连看游戏是一种桌面益智小游戏。它简单易上手好玩还锻炼人深受人们喜爱,网上有各种不同的连连看版本,从FLSASH版本的连连看到社交网络的连连看,很多用户深深喜爱这款小游戏,所以如何编写更好版本的连连看,也就意味着更好的市场前景。休闲益智简单的游戏设计的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松。现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎,除了玩的方法简单外,很多游戏不乏经典。连连看游戏就是一个典型。不管走到哪个网页游戏网站,哪个社交游戏平台,连连看游戏总是排在玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。 并且玩连连能锻炼人的观察仔细的能力,越相似的越难分辨这就要看你不是有耐心,还能考察人得反应能力,当然这个能力也是能慢慢培养的,玩连连看还有好多优点,以上的这几点玩连连看都能帮你很好的实现。二、国内外研究概况及发展趋势2.1国内外研究的概况C#是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相,它简单、安全、面向对象语言的设计。C#是微软公司研究员Anders Hejlsberg的成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#是专门为.NET的应用而开发的语言。它吸收了C+、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。C#继承了C语言的语法风格,同时又继承了C+的面向对象特性。不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。现在我们常看到的是Visual Studio 2002、Visual Studio 2003、Visual Studio 2005这几个版本,C#的版本还在不断的被创造出来,VS2010(.NET 4.0)是现在比较新的版本。2.2 C# 的发展趋势2002年2月,微软终于推出了迟迟未上市的VisualStudio7.0,并将其定名为“VisualStudio.NET2002”。 此后,微软马不停蹄,VisualStudio也恢复了往日的开发进度。在2003年5月,微软如期推出了VisualStudio。NET2003,同时也发布了C#的改进版本C#1.1。这一时期的C#(以下称为C#1.x)提出了纯粹的面向对象概念,并在语言特性中展现得淋漓尽致。C 并非纯面向对象的,为了和C兼容以及提供更高的执行效率,它保留了很多模块化的东西。在C#1.x中,所有面向对象的概念都在语言中得到了非常好的体现。同时,C#还通过类类型、值类型和接口类型的概念形成了统一的类型系统。C#使用了大家所熟知的语法实现了方法,以至于很多人认为C#和Java、C 等面向对象语言“非常相像”,这使得从使用其他面向对象语言转到使用C#的过程非常简单。C#发展是相当的迅速的,它的优点在不断的体现出来也在不断的改善当中,版本在不断的向市面涌现出来,还要发展很长的一段时期,C#的发展并没有最终定型。2.2. 简化应用程序的开发2.2.1在简化应用程序开发方面 1.C#看起来与Java有着相似之处;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程,它吸收了JAVA语言的很多优点。 2.C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端.C#编写的类可以子类化一个已存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用。 3.使用了简单的C语言结构,C#有些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。 C#具备JAVA和C语言的一些特点,它是面向对象的语言设计,还要JAVA和C语言不具备的特点,对C语言中的一些易出现问题的语法进行了一定的改进,使得它能既简单又方便的解决问题。2.2.2 C#从Java继承而来的特点类:在C#中类的声明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态Main()方法.下面的Hello World程序展示了程序基本结构形式: using System; class Hello static void Main() Console.WriteLine(Hello,world); Console.ReadLine(); 在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类.C#关键字lock就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类.界面:就象在Java中一样,一个界面是一组方法集合的抽象定义.当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法.一个单一的类可以实现几个界面.也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化.布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量true和false是C#中的关键字.错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程.内存管理:由底层.NET框架进行自动内存垃圾回收.一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。 C#是一个强类型的语言,它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,例如int可以转换成long,float,double,decimal.反之必须显式的转换. 例: int a=7; float b=a; /隐式转换 long c= 12L ; /和C+一样必须加上后缀L才能定义为long型不然就为int型了 a=(int)c; /显式转换 使用上面的显示转换不能用在bool和string类型上。2.2.3 提高性能提升 在性能提高方面,ASP.NET团队会在在微软的分布式缓存Velocity发布之后,为ASP.NET提供相应的各类provider。这样ASP.NET便可以将数据缓存,会话状态等各种信息存放在进程外的的分布式缓存中,以此得到更好的性能和健壮性。这些provider实现可以与ASP.NET现有的扩展方式良好集成,对开发人员的使用保持透明。由于Web应用程序的显示效果越来越丰富,网页前端性能优化的重要性也随之提高。未来的ASP.NET将会内置CSS或JavaScript文件的压缩及合并,并对CSSSprites等复杂优化方式提供支持。CSSSprite的优化原理是将页面上大量的小图片合并成一个文件,然后使用CSS定位机制来显示其中的一部分,这么做的好处是大大减少了浏览器与服务器端的通信次数,往往可以使页面加载速度有明显提高。ASP.NET在未来可以根据开发人员的需求,自动将一组图片进行合并,并通过一些接口将单独某幅图片的信息(如位置,尺寸)暴露出来,甚至直接在页面上生成包含特定属性的HTML标签。2.2.3 C#从C和C+继承的特点编译:程序直接编译成标准的二进制可执行形式.如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序. 结构体:一个C#的结构体与C+的结构体是相似的,因为它能够包含数据声明和方法.但是,不象C+,C#结构体与类是不同的而且不支持继承.但是,与Java相同的是,一个结构体可以实现接口(interface). 预编译:C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制.可用的预编译指令有: #define #undef #if #elif #else #endif #warning #error #line 没有了#include 伪指令.你无法再用#define 语句对符号赋值,所以就不存在源代码替换的概念-这些符号只能用在#if和#elif伪指令里.在#line伪指令里的数字(和可选的名字)能够修改行号还有#warning和#error输出结果的文件名. 命名空间:命名空间提供了一种方法来唯一标识一个类型以及进行类型的逻辑组织。命名空间可以嵌套使用并可以跨程序集使用。一个类型的完全限定名包括所有命名空间。在一个命名空间中,所有的类型必须有一个唯一的名称。基本类型库(Base Class Library)是.NET Framework的所有语言可下可用的命名空间集。命名空间是组织和重用代码的编译单元。命名空间和文件的结构关系不像Java,命名空间与文件的结构之间没有关系。using语句是用来在使用类型时不需要用全限定名的类型,全限定名也可以被使用。命名空间中的声明,C#与C+有所不同,是C#独有的特点。 编辑本段操作符重载:一些操作符能够被重载,而另一些则不能.特别的是,没有一个赋值运算符能够被重载.能够被重载的单目操作符是: + - ! + - true false 能够被重载的二元运算符是: + - * / % & | = != = =三、研究内容及实验方案3.1研究内容分析算法,先抽象出游戏基本结构,对于连连看游戏来说,核心的部分应该是整个游戏界面内的地图数据。然后设计出标识地图的数据结构。3.2实验方案3.2.1游戏画面精致美观的画面能够吸引更多的玩家娱乐,本文画面虽不精致,也整体得当。3.2.2 获取图片位置 通过数组从图片库随即获取规定的偶数张图片,使其随机分布在游戏界面里。3.2.3 路径判断 连连看的要求:1:两张图片是相同的2:两张图片之间连线的折点不超过两个。(连接线由x轴和y轴的平行线组成)则两张图片的连接情况可以分为三种:a:直线相连b:一个折点c:两个折点;通过分析可知,每一个折点必定有且至少有一个坐标(x或者y)和两张图片中的任意一张图片是相同的,即折点必定在两张图片所在的x方向或y方向的直线上。因此路径的判断是:假设两张图片p1,p2,如果有两个折点分别在z1,z2 那么1:如果验证p1,p2直线连线,则连接成立2:搜索以p1,p2的x,y方向四条直线(可能某两条直线会重合)上的有限点,每次取两点作为z1,z2,验证p1到z1/z1到z2/z2到p2是否都能直线相连,是则路径连接成立否则连接不成立。3.2.4连连看系统结构 图3.1(连连看系统结构图)四、目标、主要特色及工作进度4.1目标 设计单机休闲小游戏的目的是为了休闲的需要,在紧张的工作,学习之余玩下小游戏能够带来一些放松,减轻一些压力。通过本程序将四年来所学的专业知识和其他方面的知识融入到实际应用中。4.2主要特色 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。4.3研究工作进度0102周:查找资料、论证方案、翻译英文资料。0309周:程序设计、运行、调试。1012周:软件测试、功能改进及完善。1318周:毕业论文撰写,答辩。 五、参考文献【1】刘浩,陈曙东:C#编程实例与技巧,清华大学出版社,2002.2【2】周存杰,C#网络核心编程,清华大学出版社,2002.11【3】梁立新,C#核心技术应用开发,电子工业出版社,2010.9【4】郑阿奇,:VisualC#应用案例教程,电子工业出版社2010.7【5】谭浩强,C程序设计(第三版),清华大学出版社 2005.7【6】金旭亮,编程的奥秘- .NET软件技术学习与实践,电子工业出版社,2007.2 【7】刘甫迎、刘光会、王蓉.C#程序设计教程(第2版).北京:电子工业出版社, 2008 【8】Microsoft Visual C# 2008 help,2008 【9】美国微软公司Visual C# 2005软件的帮助信息,2005 【10】李兰友 杨晓光.Visual C#.NET程序设计.北京:清华大学 北方交通大学出 版社,2004 【11】王昊亮,李刚等.Visual C#程序设计教程.北京:清华大学出版社,2003 【12】佟伟光.Visual Basic.NET实用教程.北京:电子工业出版社,2003 【13】施燕妹 陈培 陈发吉.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论