欢迎来到天天文库
浏览记录
ID:58878083
大小:499.00 KB
页数:25页
时间:2020-09-20
《C#实现魔方仿真游戏的设计说明.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、..C#设计报告魔方仿真游戏的设计.....绪论21.1课题的选题背景21.2课题的国外研究现状31.3本人所做的主要工作3课题需求分析32.1课题的功能需求32.2课题的性能需求3涉及的主要工作原理和关键技术介绍33.1三维图形绘制原理技术介绍33.2魔方旋转原理技术介绍43.3关键问题解决思路43.3.1三维魔方的描述问题的解决方法43.3.2魔方整体旋转问题的解决方法43.3.3魔方每一层旋转和打乱问题的解决方法4系统设计44.1系统总体结构、模块或流程54.2显示三维图形子模块的设计54.3魔方的整体翻转子模块的设计64.4魔方的各层旋转子模块的设计64.5
2、魔方的打乱6系统实现65.1显示三维魔方子模块的实现85.2魔方的整体翻转子模块的实现115.3魔方的各层旋转子模块的实现125.4魔方打乱子模块的实现16系统测试176.1测试环境176.1.1.测试环境搭建176.1.2.测试还击搭配的基本原则176.2测试记录18软件安装运行说明书24心得体会24参考文献24.....绪论1.1课题的选题背景真实的魔方总是让人不停地钻研,人们通过旋转魔方,开发自己的思维,可是有时候买一个魔方还是一件很麻烦的事情,很多人都有自己的电脑,他们有时候也想能否在电脑上就能体验一下玩魔方的感觉。1.2课题的国外研究现状如今有很多通过Ja
3、va,Flash,或者OpenGL基于C/C++开发的魔方游戏,它的各个面也只是用颜色绘制。而用C#开发的魔方作品几乎没有。但是DirectX这个开发包的出现让这成为了现实,然而,对于DirectX的研究在国外甚多,在国用DirectX开发的作品确实太少,在这方面资料也显得非常缺乏,能找到的资料大多数都是外国的,英文版本的。1.3本人所做的主要工作本人通过引进开发包DirectX基于C#,来实现绘制三维的仿真实的九宫格虚拟魔方,并且通过鼠标控制其整体的旋转,和各个层的旋转。课题需求分析2.1课题的功能需求绘制三维仿真魔方:绘制一个六面体,是一个3*3*3形式的魔方魔
4、方的整体的缩放与旋转:通过鼠标控制魔方的旋转:通过鼠标点击按钮,控制其对应面的旋转2.2课题的性能需求在电脑上最好能都简单的通过鼠标控制魔方游戏使其操作更简单。涉及的主要工作原理和关键技术介绍3.1三维图形绘制原理技术介绍采用VisualC#语言对DirectX.....进行三维图形开发,首先介绍一下Device类,Device类用于完成DirectX里所有绘图操作,我们可以把这个类假想为图形卡,场景里所有其他图形对象都依赖于Device,计算机里可以有多个Device。通过Direct3D绘制的每个对象都是有三角形组成的,一个三角形由三个点组成,而每个点都定义成一
5、个向量来指定点的X、Y和Z坐标。DirectX中有一种定义顶点的结构,那就是CustomVertex类,只需要在渲染函数中添加绘制图形代码即可绘图。绘制图元(primitives)根据其绘制方式,Device类主要提供了如下四个方法,本次课程设计主要采用了如下绘图方法:publicvoidDrawUserPrimitives(PrimitiveTypeprimitiveType,intprimitiveCount,objectvertexStreamZeroData);DrawUserPrimitives()方法通过读取系统存中的顶点数据来绘制图元。每次调用Draw
6、UserPrimitives()方法时,顶点数据都是从系统存中传递到显卡中,但通常对于大部分数据没有变换的情况下,采用这种方式绘制图元将导致每次渲染时都要从系统存中调用重复的数据,当顶点数据量较大时,会导致程序运行速度非常慢。绘制分段直线采用PrimitiveType.LineList类型。3.2魔方旋转原理技术介绍魔方的旋转主要是通过算法记录旋转前各个小块的颜色,旋转后重新对其着色。对图形不停地进行渲染。3.3关键问题解决思路3.3.1三维魔方的描述问题的解决方法定义了一个Block类,用来表示一个小的六面体,以及它所在的位置的世界坐标,和给它的每个面着色。包括旋
7、转某个面后,被旋转小块的重新着色的实现。3.3.2魔方整体旋转问题的解决方法通过鼠标点击拖动,控制魔方的整体旋转。定义了一个鼠标监听函数,鼠标移动后,坐标的改变将引起视图显示的角度的变化,然后视觉上给人以不同的效果。3.3.3魔方每一层旋转和打乱问题的解决方法.....每一层的旋转,定义了一个旋转函数,每次指定旋转层,根据其中心块的表面颜色,来执行旋转函数。旋转函数通过改变块的颜色,视觉上给人以旋转后的效果,即重新对魔方的部分要求被改变的小块进行着色。打乱魔方则是通过随机指定旋转面,然后调用旋转函数。进行很多次的随机旋转后就会显现打乱后的魔方。系统设计4.1系统
此文档下载收益归作者所有