基于C#连连看游戏开发.docx
- 文档编号:7782994
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:28
- 大小:266.77KB
基于C#连连看游戏开发.docx
《基于C#连连看游戏开发.docx》由会员分享,可在线阅读,更多相关《基于C#连连看游戏开发.docx(28页珍藏版)》请在冰豆网上搜索。
基于C#连连看游戏开发
毕业设计(论文)
题目:
基于C#的连连看游戏开发
系别信息工程系
专业名称电子信息工程
班级学号088205208
学生姓名曹丛
指导教师廖远
二O年月
毕业设计(论文)任务书
I、毕业设计(论文)题目:
基于C#的连连看游戏开发
II、毕业设计(论文)使用的原始资料(数据)及设计技术要求:
1、游戏界面的设计。
2、连连看方块的造型。
3、连连看方块是否能够相连的判断。
4、游戏图片种类和重复数量的选择。
5、游戏得分的计算与存储。
6、游戏菜单选项的设计及功能实现。
III、毕业设计(论文)工作内容及完成时间:
第01-02周:
收集资料,学习开发工具等,要求完成需求分析说明书。
第03-04周:
模块结构设计,要求完成概要设计说明书
第05-07周:
实现各个模块的实现算法。
第08-12周:
编写各个模块的代码。
第13-14周:
进行模块测试、集成测试和系统测试。
第15-18周:
完成毕业论文撰写。
Ⅳ、主要参考资料:
1.梁立新,C#核心技术应用开发,电子工业出版社,2010.9
2.孙永强等.VisualC#.NET入门与提高.北京:
清华大学出版社,200214-16
3.郭胜等.C#.NET程序设计教程.北京:
清华大学出版社,2002
4.王昊亮,李刚等.VisualC#程序设计教程.北京:
清华大学出版社,2003
5.明月创作室.VisualC#编程精彩百例.北京:
人民邮电出版社,2001
6.JohnSharpJonJagger.《MicrosoftVisualC#.NET》,2002
信息工程系电子信息工程专业类0882052班
学生(签名):
填写日期:
年月日
指导教师(签名):
助理指导教师(并指出所负责的部分):
信息工程系主任(签名):
学士学位论文原创性声明
本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
2012年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权南昌航空大学科技学院可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
作者签名:
日期:
导师签名:
日期:
基于C#的连连看游戏开发
学生姓名:
曹丛班级:
0882052
指导老师:
廖远
摘要:
C#是一种最新的、面向对象的编程语言,C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与JAVA几乎同样的语法,和编译成中间代码再运行的过程。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选,无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
连连看游戏是一个经典的传统游戏,它因操作简单、娱乐性强而广受欢迎。
现在,人们已不满足于传统游戏简单的功能,已对该游戏在功能上有了更多的需求。
本文基于C#技术开发了一个操作简单、界面美观、功能较齐全的“连连看”游戏。
实现了游戏的开始游戏、游戏重列、游戏剩余计时、重新开始、图片种类和重复数的设置、分数显示。
通过本游戏的开发,达到学习C#技术和熟悉软件开发流程的目的。
关键词:
C#,面向对象,连连看游戏
指导老师签字:
Basedonthec#lianliankangamedevelopment
StudentName:
CaoCongClass:
088205208
Supervisor:
LiaoYuan
Abstract:
C#isoneofthelatestobject-orientedprogramminglanguagesimilartoC#looksalarmingandJava;itincludessuchassingleinheritance,interfaces,andJAVAalmostthesamesyntax,andcompiledintointermediatecodere-runtheprocess.ItispreciselybecausetheC#object-orienteddesignexcellence,makingittheidealchoicetobuildthevariouscomponents,whetheritisahigh-levelbusinessobjectorsystem-levelapplications.UsingasimpleC#languageconstructs,thesecomponentscanbeeasilyconvertedtoXMLwebservices,sothattheycanbecalledbyanylanguageonanyoperatingsystemthroughtheINTERNET.
Lianliankangameisaclassicgame,becauseitissimple,entertainingandpopular.Now,peoplenolongersatisfiedwithsimplefunctionoftraditionalgamesforthegamehavemoredemandsonthefunction.BasedonC#technologytodevelopasimpleoperation,beautifulinterface,andcomplete"Lianliankangame.Gametostartthegame,thegameisrestated,andtheremainingtimingofthegame,startagain,thesetofpicturetypeandthenumberofrepeats,scoredisplay.Throughthedevelopmentofthisgame,tolearnC#technologyandfamiliarwiththepurposeofthesoftwaredevelopmentprocess.
Keywords:
C#,object-oriented,Lianliankangame
SignatureofSupervisor:
基于C#连连看开发
1引言
C#是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相,它简单、安全、面向对象语言的设计。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,而且它是微软公司.NETwindows网络框架的主角。
C#是专门为.NET的应用而开发的语言。
它吸收了C++、VisualBasic、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。
C#继承了C语言的语法风格,同时又继承了C++的面向对象特性。
不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。
.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。
游戏产业作为现代电脑电子技术的产物,正在以其独特的魅力在全世界的娱乐领域占据主流位置,我们在承认广大娱乐网民的选择空间狭小的同时,也必须明确的一点就是游戏本身所具有的强大的吸引力。
游戏的吸引力主要在于,它在让玩家打发时间的同时,可以让人实现在显示生活中不能实现的理想,得到在现实中不能得到的东西。
而且游戏产业促动高科技技术不断升级,作为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。
连连看游戏是一种桌面益智小游戏。
它简单易上手好玩还锻炼人深受人们喜爱,网上有各种不同的连连看版本,从FLSASH版本的连连看到社交网络的连连看,很多用户深深喜爱这款小游戏,所以如何编写更好版本的连连看,也就意味着更好的市场前景。
休闲益智简单的游戏设计的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松。
现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎,除了玩的方法简单外,很多游戏不乏经典。
连连看游戏就是一个典型。
不管走到哪个网页游戏网站,
哪个社交游戏平台,连连看游戏总是排在玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。
并于2004年,取得了国家版权局的计算机软件著作权登记证
并且玩连连看能锻炼人的观察仔细的能力,越相似的越难分辨这就要看你不是有耐心,还能考察人得反应能力,当然这个能力也是能慢慢培养的,玩连连看还有好多优点,以上的这几点玩连连看都能帮你很好的实现。
连连看游戏顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。
连连看是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
同样使用C#也能开发出界面优美,操作简单人性化和充满挑战的连连看游戏。
2绪论
2.1连连看游戏发展概况
连连看,又称对对卡,是指图案配对的一种益智游戏,有多种形式,如卡片游戏、电子游戏或网络游戏)。
与“找出两幅图片中的不同”类游戏同为比眼力的游戏。
最早期的形式是一副卡片中每种图案有相同的两张,先洗牌,然后排好卡片,背面朝上,玩家轮流揭开卡片,每次揭两张,如两张图案不同则回复背面朝上的状态,如揭到两张图案相同则取走卡片,到桌上所有卡片都被取走时即结束游戏,手上最多卡片者为胜利者。
由于玩法简单,常用作儿童启蒙教育游戏。
又有一种字图连连看,是一种专供幼童识字认图的游戏,与一般连连看不同的是它并非以一对相同图案成对,而是以字配图成对。
相关内容连连看则是以两张内容相关的卡片(可以是字或图)配成对代替相同图案。
也有以扑克牌进行游戏的,把相同点数视为相同图案。
连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。
并于2004年,取得了国家版权局的计算机软件著作权登记证书。
随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。
如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。
2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。
“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。
最新连连看版本:
连连看5.0,很多人玩过单机版的连连看,但很少有人知道连连看的生命史,连连看是台湾的陈一进、简诚志先生改编、发明的一种桌面游戏。
连连看的最新版本区别与以往各个版本主要特点有:
1.全新引擎,游戏更为华丽、不再是静止不动。
2.总共五种游戏模式、三种难度等级、十三种关卡。
3.主题模式可自定义主题、玩家自己的图片、头像、音乐、链接将可进入游戏。
4.革新的动态头像。
5.漂亮的动态背景。
6.联机模式、可以边和朋友语音聊天,边玩连连看。
7.自带地图编辑器,可自己制作地图,并加入游戏。
8.更多改进期待您在游戏中发掘。
3游戏规则和设计目的
3.1连连看游戏的规则
(1)进行连连看游戏时用鼠标点击2张相同图片,2张图片就可以消除,游戏得分和游戏剩余时间也随之增加,但是连接线的折点不能多于2个。
(2)当游戏开始进行一段时间后发现找不到连接线的折点少于2个以上的,可以进行剩余图片重列,但剩余时间不改变,这样使玩这个游戏显得更简单更人性化,当然也可以进行重新开始游戏。
(3)在游戏开始前可以对游戏图片的种类数和种类出现的重复数进行设置,图片种类数的设置不能超过图片的总数,重复数不能设置为奇数,最后总的图片不能超过游戏限制。
(4)在剩余时间50s没有走到0s内,将游戏界面内的图片全部消除即为过关并进入下一个关,通关后图片重新排列分数不丢失同时游戏的剩余时间也变为最大值,如果在剩余时间为0后界面上的图片没有完全消除即为Failed!
结束游戏。
3.2设计游戏的目的
连连看游戏是一种桌面益智小游戏。
它简单易上手好玩还锻炼人深受人们喜爱,网上有各种不同的连连看版本,从FLSASH版本的连连看到社交网络的连连看,很多用户深深喜爱这款小游戏。
休闲益智简单的游戏设计的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松。
现在桌面小游戏、在线网页游戏、社交游戏越来越受网民欢迎,除了玩的方法简单外,很多游戏不乏经典。
连连看游戏就是一个典型。
不管走到哪个网页游戏网站,哪个社交游戏平台,连连看游戏总是排在玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。
并且玩连连能锻炼人的观察仔细的能力,越相似的越难分辨这就要看你不是有耐心,还能考察人得反应能力,不过这些能力不都是天生的也是可以通过慢慢培养而产生,比如玩连连看游戏就能让这些能力得到一个很好的锻炼,连连看还有好多优点,比如简单易学等。
开发游戏行业无疑有着很好的发展空间和前景,现在这方面的人才非常紧缺,成为一个优秀的游戏开发者是许多开发者梦寐以求的一件事情,但做任何一件工作都是需要实际的经验的,这次连连看游戏的开发可以增加对游戏开发的经验,对开发游戏的编程语言也有着加深理解的作用,是一次理论和实践的完美结合,同时也是为以后的职业生涯奠定了坚实的基础。
4、方案论证
4.1设计原理
本设计采用单机模式,当在规定的时间内消完全部的图片则当前关卡通过,如果在规定的时间内没能消完所有的图片则游戏结束,结束后可以选择重新开始新游戏。
游戏规则是模仿普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题。
当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理。
在两张相同图片用三根以内的直线能连在一起,就可以消去;否则,不予处理。
游戏过程,如果玩家在一定的时间内消完则提示玩家胜利,并进入下一关。
如果在一定时间内图片没有消完则提示玩家Failed。
考虑到本游戏软件是单机小游戏,所以充分考虑到了它的娱乐性,并没有很复杂的功能。
4.2方案选择
在概要设计阶段,主要有两中方案可供选择:
一、所有的图片都是按约定好的种类数和在同一区域的重复次数随机出现,并且每张图片的的出现次数为偶数,时间会有限制,每一关的图片数量或时间是不同的,这样就增加了游戏的难度。
二、在同一区域中,图片出现的重复次数是可以由玩家选择的,时间由游戏约定。
不过玩家选择的种类数和重复次数必须是偶数才可以顺利完成游戏,否则游戏虽然可以正常运行,但无法完成游戏。
在第一种方案中,由于出现的图片的种类数和重复次数都由软件约定,这样就缺乏玩家自主选择的空间,只是在玩游戏时系统已经是设定好的游戏,不能改变什么,这样就在无意中降低了玩家在游戏的过程中乐趣,最后致使玩家放弃继续玩下去。
我们参考了网络上的连连看游戏,考虑到游戏的娱乐性。
所以我们放弃第一种方案的设计思想,参考网络上流行的连连看的游戏,选用第二种方案。
4.3主要问题
开始制作游戏时,主要要解决的问题有以下几个方面:
如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断;如何判断游戏是否结束以及输赢问题等。
4.4技术要求
本游戏软件可以再大多数计算机上运行,游戏中能正确判断鼠标两次点下的图片是否可以消去、能正确判断游戏是否已经结束。
5游戏设计
5.1技术原理
5.1.1开发语言
C#是一种编程语言,它简单、安全、面向对象语言的设计。
C#是微软公司研究员AndersHejlsberg的成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#是专门为.NET的应用而开发的语言。
它吸收了C++、VisualBasic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。
C#继承了C语言的语法风格,同时又继承了C++的面向对象特性。
不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。
.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。
C#看起来与Java有着相似之处;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程,它吸收了JAVA语言的很多优点。
使用了简单的C语言结构,C#有些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
C#具备JAVA和C语言的一些特点,它是面向对象的语言设计,还要JAVA和C语言不具备的特点,对C语言中的一些易出现问题的语法进行了一定的改进,使得它能既简单又方便的解决问题。
在C#中类的声明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态Main()方法.下面的HelloWorld程序展示了程序基本结构形式:
usingSystem; classHello { staticvoidMain() { 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.反之必须显式的转换.例:
inta=7; floatb=a;//隐式转换 longc=12L;//和C++一样必须加上后缀L才能定义为long型不然就为int型了 a=(int)c;//显式转换 使用上面的显示转换不能用在bool和string类型上。
2.2.3提高性能提升
在性能提高方面,ASP.NET团队会在在微软的分布式缓存Velocity发布之后,为ASP.NET提供相应的各类provider。
这样ASP.NET便可以将数据缓存,会话状态等各种信息存放在进程外的的分布式缓存中,以此得到更好的性能和健壮性。
这些provider实现可以与ASP.NET现有的扩展方式良好集成,对开发人员的使用保持透明。
5.1.2面向对象
面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象的基本概念:
1.对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
2.对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
3.类。
具有相同或相似性质的对象的抽象就是类。
因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
4.类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。
通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
(1)一般——具体结构称为分类结构,也可以说是“或”关系,或者是“isa”关系。
(2)整体——部分结构称为组装结构,它们之间的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C# 连连 游戏 开发