网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 其他类别 > 正文

基于按层求解算法的魔方游戏的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/06

网学网为广大网友收集整理了,基于按层求解算法的魔方游戏的设计,希望对大家有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 


 
1.1.1       Cube类的设计
       组成魔方的小立方块是一个独立的单元,在此将其称为一个魔方单元,可以设计一个Cube类来表示。
每个小魔方单元由6个不同的颜色面组成,则有6种颜色属性值,而每个颜色值又由RGB三个颜色属性决定,因此可以存储在一个二维数组sideColor[6][3]中,魔方单元有一个中心三维坐标centerCoordinate[3],数组包含中心坐标的X、Y、Z三个属性,可作为确定魔方单元的唯一标志。
       在绘制魔方单元时,实际就是绘制6个不同的颜色面,组合在一起就是一个立方体的效果[12]。对不同面的颜色值的设置,我们用面在坐标系中的方向来决定。规定,正X方向为黄色,负X方向为绿色,正Y方向为红色,负Y方向为紫色,正Z方向为蓝色,负Z方向为青色。因此,cube类中用一个数组direct[6]来存储魔方单元的6个方向值,以作为绘制魔方单元时确定面颜色值之用。
当魔方的某个面朝某个方向进行旋转时,其涉及的魔方单元在三维坐标系中围绕面中心进行旋转。则这些面的颜色值务必要发生改变以实现这种旋转的效果,由于魔方单元每个面的颜色值由它的方向所决定,因此要对魔方单元的各个direct值进行重新设定,以体现其在坐标系中的旋转变换,这里用用3个函数来实现,turnByX(int sign)、turnByX(int sign)、turnByX(int sign), 分别表示魔方单元饶X、Y、Z轴方向进行旋转,其中sign为正反方向的标志,用-1来表示反方向,1来表示正方向。
设立DrawCubeUnit()方法通过调用openGL的API生成6个不同的颜色面来完成魔方单元的绘制。
setDirection()和 getDirection()分别是对direct属性的设置和获取,作为实现游戏状态的加载和保存用。
resetDirection()方法则是对魔方单元的direct属性进行重置,作为实现整个魔方状态的重置用。
getXCoor()、getYCoor()、getZCoor()则是返回魔方单元的中心坐标。
1.1.2       cube Handle类的设计
       Cube Handle 类是一个用来对cube实体进行操作的类,通过它提供一系列方法来调用cube类的一些函数,设定cube实例的一些属性,从而达到显示和操作魔方的效果。CubeHandle类的声明如下:
属性和方法的说明:
基于存储魔方的便利性和3D效果显示的考虑,对组成魔方的27个小立方块都在计算机上存储,因此Cube *cubes[CUBE_SIZE][CUBE_ SIZE][CUBE_SIZE],声明了N*N*N个Cube实例,这里N为CUBE_SIZE,定义为3。
二维数组color[6][9]中保存的是魔方表面的54颜色值。
Solver为一个魔方的求解类,它获取一个魔方的状态,类内部对状态进行分析求解后,输出一个解决方案用于魔方的复原。
GetState为一个按一定顺序取得魔方状态,即魔方表面的54颜色值的函数。
ScrambleCubeGet方法为solver求解类获取魔方的状态。
SendSolution方法输出solver求解类的解决方案。

turn(int rotateType)方法实现控制魔方各个表面的旋转,参数rotateType的取值为1-12,分别表示6个面2种方向共12种表面旋转方式。

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 上一篇资讯: 企业营销ERP系统的设计
  • 原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 |
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师