残缺棋盘的完全覆盖交互设计

残缺棋盘的完全覆盖交互设计[20191214193125]
摘要
利用C#设计一个交互界面,完成残缺棋盘的完全覆盖。残缺棋盘问题要求用L型三格板覆盖这个残缺棋盘,其中任意两个三个板都不能覆盖残缺的方格,但最后要求所有的方格都要被覆盖完全。这个设计是一款小游戏的前身,我利用算法实现了棋盘自动覆盖,只利用一个L型方阵格子把2nx2n的方阵完全覆盖,并且我对L进行了计数,采用不同的颜色进行覆盖并利用计数的不同对L颜色进行调整。主要算法我利用的是分而治之算法,也就是二分法,L型分为四种对残缺棋盘进行填充。
然后递归地利用分而治之策略来解决,选择采用用递归算法,先构造一个能够自我调用的函数,专门用来递归完成棋盘完全填充的问题。首先,取棋盘中点,判断残缺方格的位置,然后根据算法,递归函数进行调用,直至所有棋盘都被覆盖。通过这次设计可以很好的把我大学四年学习到计算机知识利用到实践中,可以很好的增强自我动手能力,加强对C#语言的理解,虽然比较基础,但是有很好的利用价值,因为它的架构很好,是一般软件的一种简化。
 查看完整论文请+Q: 351916072 
关键字:C#语言,分治算法,递归算法
目录
摘要 I
ABSTRACT II
目 录 III
第1章 绪论 1
1.1 问题的提出及研究意义 1
1.2 国内外现状 2
第2章 开发环境与开发技术.3
2.1 Visual Studio 概述3
2.2 C#界面设计的概述4
2.3 开发平台——.NET Framework5
2.4 操作流程6
2.5 小结8
第3章 算法结构的设计与分析9
3.1 问题分析9
3.2 分而治之算法10
3.3 递归算法分析10
3.4 算法设计12
3.5 小结14
第4章 程序编写与调试16
4.1 方案设计16
4.2 界面设计16
4.3 主程序编写19
4.4 程序调试27
4.5 小结29
第5章 全文总结31
第6章 致谢词33
参考文献34
附录35
第1章 绪论
1.1 问题的提出及研究意义
现在有很多软件开发公司进行各种游戏的研发,这方面的软件设计越来越盛行,进行这方面的研究有利于毕业以后能够更快的融入自己的工作环境,所以我设计了一款小游戏的一个方面,即残缺棋盘的完全覆盖设计。增加我的实践能力,为我以后的工作进行铺垫,能够让我很好的利用计算机语言,这是作为一个计算机方面的学生所必须拥有的一项基本能力。由于计算机网络的大众化,我们平时玩电脑游戏将会越来越多,我们在平时在闲暇之余也能够通过电脑游戏使我们的生活更加快乐和放松。随着电脑游戏产业的规模越来越大,开发一款成功的电脑游戏依靠个人之力已非易事。然而,随着市场上的游戏开发越来越丰富,越来越多的各种类型的游戏也随之出现,创新已成为一个成功的游戏最重要的特征。
利用我们所学知识做出一款小游戏,虽然我们肯定做的特别简单,因为我们大学所学的都是基本的知识没有实际的实践进行大量验证我们所学的理论知识,我进行残缺棋盘完全覆盖这个项目设计,就是一款游戏的一个方面,我通过设计这个东西。这也可以运用到图形学、工程学、体育等方面,C#是一个简单并且实用的计算机语言。现在计算机方面大部分界面设计都偏向C#方面进行设计,因为C#对界面设计更简单方便,相比而言MFC比较复杂。残缺棋盘的完全覆盖交互设计,听着挺简单,但是其包含了很多内容,它含有分治算法,让我们加深对算法的应用,我还进行了相关颜色交替覆盖等等,所以我感觉这个项目设计很有价值。我们平时的生活越来越快节奏,我们需要更多的方式来使我们的生活降低压力并更放松。所以我写了这个软件,一方面作为我的大学三年的学习成果的检验,另一方面,这个界面的持续开发,可以帮助我以后能够更好进行游戏创作打下基础从而能够娱乐大众。游戏制作产业现今作为现代电脑科学电子技术的产物,正在散发着其独特的魅力并在全世界的娱乐领域占据主要位置,我们在认识到很多娱乐网民的选择空间狭隘的同时,但是我们也必须承认游戏对很多人有很大的吸引力。游戏的主要吸引力在于,游戏同时将人们打发多余时间,还可以使人能够实现在现实生活当中不能实现的各种理想,得到很多在现实中可望而不可及的东西。
1.2 国内外研究现状
现在中国游戏产业吸引了大量的有志之士,他们加入中国游戏软件开发商非常愿意,但真的可以做的越来越少,现在游戏行业我们表现的很奇怪的现象,一方面是急需新血加入,而另一方面是真正能动手开发游戏的人才如凤毛麟角。造成现在这类奇特现象的原因,是游戏制作作为新兴的学科在海内才刚刚兴起,而很多的相关资料料在国内还非常地缺乏。大多数的好朋友是因为这些数据的缺乏,不能如愿以偿。在国内大多数计算机出版物视图已打开游戏,但游戏的文章发表,出版的比赛做出的成绩更少的情况也让我们担忧。
自世界上第一台电子计算机的出现,作为一种特殊的文化传媒的电脑游戏出现在我们面前,电脑游戏的世界是一个五彩缤纷的世界,,这世界上总有许多千奇百怪的故事,因此吸引了众多玩家去寻找,去探寻。可能会有许多朋友这样问,这么好玩的游戏谁做出来的呢?答案只有一个,当然是由人做出来的。电脑游戏是一组充满丰富的想象力和激情的年轻人共同努力,进而做出来的。
电脑游戏制作是一种新兴的产业,最近几年我国这方面也在快速发展,因为我们科技起步比西方国家慢了很多年,所以我们现在必须加强我国计算机科学技术的发展,我们不能只是看到国外的游戏制作方面的蓬勃发展,我们也要尽自己的努力,使我国的产业快速发展。一些有识之士更奋发图强,面对此种情况,任何一位有民族心的朋友都希望中国游戏产业尽快成长壮大,能早日与其他游戏强国一道跻身于世界游戏之林。近年来在对系统可靠性概念的研究得到很大的发展,我们在游戏设计工作的同时也能感受到游戏系统的好坏,这使我们的设计更具有多样化,其他的多属于实现和质量保证方面的工作。在目前的设计是一种创造性的游戏产品越来越困难的情况下,游戏设计的工作以及人也变得越来越重要。
第2章 开发环境与开发技术
2.1 Visual Studio 概述
随着Visual Studio的发展,这个平台越来越重要。Visual Studio给我们提供了非常高级的开发工具和资料、数据库查询调用功能、调试的功能以及创新的功能,能够帮助在各类平台上迅速创建当前最优的应用程序。Visual Studio包括多种功能,如可视化设计器(使用 . NET框架3.5),加快改进的Web开发工具的发展,并促进所有类型的数据语言增强功能的开发和加工。
Visual Studio 为我们提供了全部有关的东西和框架支撑,使其能够帮助我们建立令人印象深刻并能够支持 AJAX 的 Web 应用程序。我们还能够利用这些极其丰富的客户端资源和服务器端的框架轻松建立以客户为中心的 Web 应用开发程序,这类应用程序可以集成所有后端的数据并提供各类程序、在全部当前的浏览器内进行运行并能够使我们访问 ASP.NET 应用程序的服务。
此外为了帮助我们迅速创立先进的各类软件,Visual Studio 还提供了能够改进的语言和数据的功能,比如语言集成的查询 (LINQ),各个开发人员能够利用这类功能更容易的建立解决方案以解析和处理这些信息。Visual Studio还使编程的人员能够从同一类的开发环境内建立面向很多个 .NET Framework 版本的应用开发程序。编程人员能够创建面向 .NET Framework 2.0、3.0 或 3.5 的应用程序,意味着他们能够在同一类环境中创建各种各样的项目。Visual Studio加速建立密切的新平台的应用为我们提供了一个新的工具,这些平台包括 Web、Windows Vista、Office 2007、SQL Server 和 Windows Server 2008。对于 Web,ASP.NET AJAX 及其他新兴技术能使编程人员能够快速创建更高效、更加个性化的新型一代 Web 体验。Visual Studio 提供了帮助研发团队改进协同工作的扩展的并改进的服务类项目,包含帮助将数据库专业开发人员和图形设计专业人员能够加入到开发的流程的工具。
. NET框架提供了一种积木的解决常见的编程任务(预制的软件),可以快速的结构与最终用户更好的体验密切相关的应用。在 .NET Framework 模型的业务流程之上有效创建的能够紧密联系的应用开发程序有利于在不同类环境中实现系统的集成。Visual Studio 和 .NET Framework 的联合使用缩减了对公用管道代码的需求,从而简短了开发所需时间并使编程人员能够集中全部精力解决业务中出现的问题。.NET Framework 3.5 是在 .NET Framework 3.0 的基础上构建的功能更全面的更高版本。获得加强的功能领域包含基本类库、Windows workflow foundation、Windows Communication Foundation、Windows Presentation Foundation。
2.2 C#界面设计的概述
C#是一种能够可视化的程序设计语言,Windows窗体和空间是进行开发C#应用程序的坚实基础,窗体和各类控件在C#程序设计中始终扮演着非常重要的角色。在C#中,每个Windows窗体和各类控件都是对象,都是对类的实例化。窗体是形式的视觉界面程序的基础上,为载体和其他物体的容器。控件是添加到每个窗体对象上的各类对象,每个控件都有本身的各种属性、各类使用方法、事件以完成某种特定的功能。VS.NET具有很多的开发工具可以使应用程序的研发更快捷和可靠,这些开发工具包括Windows窗体可视化的设计器、识别代码的编辑器、集成的编译和调试以及项目管理的工具。一个典型的Windows应用程序一般包括窗体(Forms)、相关控件(Controls)和相应的事件(Events)。
C#是一种面向对象的编程语言,主要用来开发可以在.NET平台上能够运行的应用程序。C#是从C和C++派生简化出来的一种简单的、现代的、面向对象的和类型比较安全的编程语言,其语言体系都是建立在.NET框架上并且能够和.NET的框架完美地结合,C#语言的语法非常简洁,不允许进行直接操作内存,去掉了C语言里的指针操作;彻底的面向对象程序语言设计,具有面向对象类型语言所具有的一切特征——封装性、继承性、多态性;与Web进行紧密的结合,支持绝大部分的Web国际标准;强大的安全保护机制,可以消除软件研发中的常见型错误(如语法的错误),.NET提供的垃圾程序回收器能够帮助研发者有效的管理内存的资源并减少内存资源的利用;兼容性,因为C#遵循.NET的公共语言的规范,从而保证其相关组件能够在开发过程中和其他语言开发的组件相互兼容;灵活的版本相关处理技术,C#语言的本身进行内置了版本的控制功能,使得研发工作人员可以更轻松的开发和进行维护;完善的错误、异常处理机制,C#提供了比较完善的错误识别和异常处理机制,使相关程序在交付应用的过程中使其能够更加健壮。
C#语言中的数据类型根据它的一种定义可以分为两类:一是值类型,另一种是引用类型。这两种类型的差异主要在于数据的存储方式不同,值类型是对数据直接存储;而引用类型是对存储数据的调用,程序通过此调用找到真正的数据资料。还有声明变量的方面,变量的声明是指指定相关变量的名称以及其类型。变量的声明在程序编写的过程中是极其重要的,未经声明的变量本身并不合法,相当于没有身份证的人,所以它无法在程序编写当中进行利用,在C#语言中,声明一个相关的变量是由两部分组成:类型和跟在其后面的一个或多个变量名,多个变量之间使用逗号分开,以分号表示结束。
GDI+ 是Windows 操作系统进行显示图形图像的基础模块,而Graphics 是构成GDI+实现其功能的核心。GDI+ 是组成Windows 操作系统的一个子系统,提供了相关图形图像操作的应用程序的编程接口(API)。使用GDI+能够使用相同的方式在屏幕中或打印机上清楚显示信息,而无需考虑一些特定的显示设备的细节方面。GDI+类提供程序研发人员用来绘制的方式方法,这些方法随后会调用特定设备的驱动程序。GDI+类将应用程序与图形硬件分隔开来,使程序员能够创建与设备无关的应用程序。GDI+提供了支持二维矢量图形、图像处理、版式控制和打印等几个功能。Graphics类是GDI+的核心,Graphics 对象表示GDI+绘图表面,提供将对象绘制到显示设备的方法。Graphics 与特定设备的上下文关联,是用于创建图形图像的对象。
图形类封装的方法绘制直线、曲线、图形、图像和文字,是GDI+进行画直线、图像、图形和文字的类,是所有的GDI +操作的基础类。
用GDI+ 进行操作包括两个基本步骤:
(1) 创建Graphics 对象

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2473.html

好棒文