基于C连连看游戏开题报告.docx
《基于C连连看游戏开题报告.docx》由会员分享,可在线阅读,更多相关《基于C连连看游戏开题报告.docx(7页珍藏版)》请在冰豆网上搜索。
![基于C连连看游戏开题报告.docx](https://file1.bdocx.com/fileroot1/2022-12/17/4974f719-7000-49e0-9d7d-6e0f8706bceb/4974f719-7000-49e0-9d7d-6e0f8706bceb1.gif)
基于C连连看游戏开题报告
毕业设计(论文)开题报告
题目基于C#的连连看游戏开发
专业名称电子信息工程
班级学号0
学生姓名曹丛
指导教师廖远
填表日期2012年01月04
一、选题的依据及意义
连连看游戏是一种桌面益智小游戏。
它简单易上手好玩还锻炼人深受人们喜爱,网上有各种不同的连连看版本,从FLSASH版本的连连看到社交网络的连连看,很多用户深深喜爱这款小游戏,所以如何编写更好版本的连连看,也就意味着更好的市场前景。
休闲益智简单的游戏设计的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松。
现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎,除了玩的方法简单外,很多游戏不乏经典。
连连看游戏就是一个典型。
不管走到哪个网页游戏网站,哪个社交游戏平台,连连看游戏总是排在玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。
并且玩连连能锻炼人的观察仔细的能力,越相似的越难分辨这就要看你不是有耐心,还能考察人得反应能力,当然这个能力也是能慢慢培养的,玩连连看还有好多优点,以上的这几点玩连连看都能帮你很好的实现。
二、国内外研究概况及发展趋势
国内外研究的概况
C#是公司在2000年6月发布的一种新的,并定于在微软职业开发者论坛(PDC)上登台亮相,它简单、安全、面向对象语言的设计。
C#是微软公司AndersHejlsberg的成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、、与几乎同样的语法,和编译成中间再运行的过程。
但是C#与Java有着明显的不同,它借鉴了的一个特点,与COM()是直接集成的,而且它是微软公司.NET网络框架的主角。
C#是专门为.NET的应用而开发的语言。
它吸收了C++、VisualBasic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。
C#继承了C语言的语法风格,同时又继承了C++的面向对象特性。
不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。
.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。
现在我们常看到的是VisualStudio2002、VisualStudio2003、VisualStudio2005这几个版本,C#的版本还在不断的被创造出来,VS2010(.NET)是现在比较新的版本。
C#的发展趋势
2002年2月,微软终于推出了迟迟未上市的,并将其定名为“”。
此后,微软马不停蹄,VisualStudio也恢复了往日的开发进度。
在2003年5月,微软如期推出了VisualStudio。
NET2003,同时也发布了C#的改进版本——C#。
这一时期的C#(以下称为C#)提出了纯粹的面向对象概念,并在语言特性中展现得淋漓尽致。
C并非纯面向对象的,为了和C兼容以及提供更高的执行效率,它保留了很多模块化的东西。
。
在C#中,所有面向对象的概念都在语言中得到了非常好的体现。
同时,C#还通过类类型、值类型和接口类型的概念形成了统一的类型系统。
C#使用了大家所熟知的语法实现了方法,以至于很多人认为C#和Java、C等面向对象语言“非常相像”,这使得从使用其他面向对象语言转到使用C#的过程非常简单。
C#发展是相当的迅速的,它的优点在不断的体现出来也在不断的改善当中,版本在不断的向市面涌现出来,还要发展很长的一段时期,C#的发展并没有最终定型。
.简化应用程序的开发
在简化应用程序开发方面
#看起来与Java有着相似之处;它包括了诸如单一继承、、与几乎同样的语法,和编译成中间再运行的过程,它吸收了JAVA语言的很多优点。
#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端.C#编写的类可以子类化一个已存在的;生成的类也能被作为一个COM组件使用,然后又能使用。
3.使用了简单的C语言结构,C#有些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
C#具备JAVA和C语言的一些特点,它是面向对象的语言设计,还要JAVA和C语言不具备的特点,对C语言中的一些易出现问题的语法进行了一定的改进,使得它能既简单又方便的解决问题。
C#从Java继承而来的特点
类:
在C#中类的声明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态Main()方法.下面的HelloWorld展示了程序基本结构形式:
usingSystem; classHello { staticvoidMain() { ("Hello,world"); (); } } 在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:
一个被申明成abstract的类不能被实例化;它只能被用做一个基类.C#关键字lock就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类.界面:
就象在Java中一样,一个界面是一组方法集合的抽象定义.当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法.一个单一的类可以实现几个界面.也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化.运算:
条件表达式的结果是布尔,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔true和false是C#中的关键字.错误处理:
如Java中那样,通过抛出和捕捉异常来管理错误处理过程.管理:
由底层.NET框架进行自动内存垃圾回收.一个基本的C#类中包含数据成员、属性、构造器和方法。
属性可以是静态或实例成员。
C#是一个强类型的语言,它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,例如int可以转换成long,float,double,decimal.反之必须显式的转换.例:
inta=7; floatb=a;果前面的HelloWorld程序被保存成一个并被命名为,它将被编译成命名的可执行程序. 结构体:
一个C#的结构体与C++的结构体是相似的,因为它能够包含数据声明和方法.但是,不象C++,C#结构体与类是不同的而且不支持继承.但是,与Java相同的是,一个结构体可以实现接口(interface). 预编译:
C#中存在预编译指令支持,警告,和编译行控制.可用的预编译指令有:
#define #undef #if #elif #else #endif #warning #error #line[] 没有了#include伪指令.你无法再用#define语句对符号,所以就不存在源代码替换的概念--这些符号只能用在#if和#elif伪指令里.在#line伪指令里的数字(和可选的名字)能够修改行号还有#warning和#error输出结果的文件名.
命名空间:
命名空间提供了一种方法来唯一标识一个类型以及进行类型的逻辑组织。
命名空间可以嵌套使用并可以跨程序集使用。
一个类型的完全限定名包括所有命名空间。
在一个命名空间中,所有的类型必须有一个唯一的名称。
基本类型库(BaseClassLibrary)是.NETFramework的所有语言可下可用的命名空间集。
命名空间是组织和重用代码的编译单元。
命名空间和文件的结构关系不像Java,命名空间与文件的结构之间没有关系。
using语句是用来在使用类型时不需要用全限定名的类型,全限定名也可以被使用。
命名空间中的声明,C#与C++有所不同,是C#独有的特点。
操作符重载:
一些操作符能够被重载,而另一些则不能.特别的是,没有一个赋值能够被重载.能够被重载的单目操作符是:
+-!
~++--truefalse 能够被重载的二元运算符是:
+-*/%&|^<<>>==!
=><>=<=
三、研究内容及实验方案
研究内容
分析算法,先抽象出游戏基本结构,对于连连看游戏来说,核心的部分应该是整个游戏界面内的地图数据。
然后设计出标识地图的数据结构。
实验方案
游戏画面
精致美观的画面能够吸引更多的玩家娱乐,本文画面虽不精致,也整体得当。
获取图片位置
通过数组从图片库随即获取规定的偶数张图片,使其随机分布在游戏界面里
。
路径判断
连连看的要求:
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是否都能直线相连,是则路径连接成立否则连接不成立。
连连看系统结构
图(连连看系统结构图)
四、目标、主要特色及工作进度
目标
设计单机休闲小游戏的目的是为了休闲的需要,在紧张的工作,学习之余玩下小游戏能够带来一些放松,减轻一些压力。
通过本程序将四年来所学的专业知识和其他方面的知识融入到实际应用中。
主要特色
不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络。
研究工作进度
01~02周:
查找资料、论证方案、翻译英文资料。
03~09周:
程序设计、运行、调试。
10~12周:
软件测试、功能改进及完善。
13~18周:
毕业论文撰写,答辩。
五、参考文献
【1】刘浩,陈曙东:
C#编程实例与技巧,清华大学出版社,
【2】周存杰,C#网络核心编程,清华大学出版社,
【3】梁立新,C#核心技术应用开发,电子工业出版社,
【4】郑阿奇,:
VisualC#应用案例教程,电子工业出版社
【5】谭浩强,C程序设计(第三版),清华大学出版社
【6】金旭亮,编程的奥秘--.NET软件技术学习与实践,电子工业出版社,
【7】刘甫迎、刘光会、王蓉.C#程序设计教程(第2版).北京:
电子工业出版社,
2008
【8】MicrosoftVisualC#2008help,2008
【9】美国微软公司VisualC#2005软件的帮助信息,2005
【10】李兰友杨晓光.VisualC#.NET程序设计.北京:
清华大学北方交通大学出
版社,2004
【11】王昊亮,李刚等.VisualC#程序设计教程.北京:
清华大学出版社,2003
【12】佟伟光.Visual实用教程.北京:
电子工业出版社,2003
【13】施燕妹陈培陈发吉.C#语言程序设计教程.北京:
中国水利水电出版
【14】明月创作室.VisualC#编程精彩百例.北京:
人民邮电出版社.2001
【15】孙永强等.VisualC#.NET入门与提高.北京:
清华大学出版社.2002
【16】郭胜等.C#.NET程序设计教程.北京:
清华大学出版社.2002
【17】B-power工作室.C#网络程序设计.北京:
中国铁道出版社.2001
【18】(美)内格尔,C#高级编程(第六版),清华大学出版社
【19】[美]HerbertSchildt著,长春亿特译.C#编程序起步.北京:
人民邮电出
版社.2002
【20】[美]微软公司著,熊盛新许志庆李钦译.VisualC#.NET语言参考手册
北京:
清华大学出版社.2002
【21】[美]AndersHejlsberg,ScottWiltamuth,PeterGolde著,张晓坤谭立平
车树良译《C#编程语言详解》.北京:
电子工业出版社.2004
【22】[美]SimonRobinson/ChristianNagel著,李敏波译.《C#高级编程(第3
版)》.北京:
清华大学出版社.2005
【23】[美]JohnSharpJonJagger.《MicrosoftVisualC#.NET程序设计》.北
京:
北京大学出版社.2002
【24】(美)ChristianNagel,C#入门经典(第五版),清华大学出版社,