JAVA课程设计说明书模板
2.1 课程设计目的.............................................................................................................2 2.2 课程设计内容和要求.................................................................................................3 3. 系统需求分析.....................................................................................................................3 3.1 系统目标....................................................................................................................3 3.2 主体功能....................................................................................................................3 4.系统总体设计.................................................................................................................... 3 4.1 系统的功能模块划分................................................................................................3 5.主要工作原理和关键技术介绍........................................................................................ 4 5.1 魔方旋转原理技术介绍............................................................................................4 5.2 关键问题解决思路.....................................................................................................4
} }
time--; } repaint(); }
//Download by //初始化数据
public void init(){
5.2 关键问题解决思路
5.2.1 三维魔方的描述问题的解决方法 定义了一个 Block 类,用来表示一个小的六面体,以及它所在的位置的世界坐标,
和给它的每个面着色的实现。 5.2.2 魔方整体旋转问题的解决办法
通过鼠标点击拖动,控制魔方的整体旋转。 定义了一个鼠标监听函数,鼠标移动后,坐标的改变将引起视图显示的角度的变 化,然后视觉上给人以不同的效果。 5.2.3 魔方每一层旋转和打乱问题的解决方法 每一层的旋转,定义了一个旋转函数,每次指定旋转层,根据其中心块的表面颜 色,来执行函数。旋转函数通过改变块的颜色,视觉上给人以旋转后的效果,即重新 对魔方的部分要求被改变的小块进行着色。
private int 鼠标点=-1; //装的是点击后得到的方块在 xyz 里的索引
private int[] 鼠标点击={-1,-1}; //点击时的鼠标坐标
private int[] 鼠标移动={-1,-1};
private double[][] nou;//旋转矩阵
第 5 页 共 19 页
private double 段号; private int 取轴;
塔里木大学课程设计
目录
1. 摘要................................................................................................................................... 1 2. 概述................................................................................................................................... 2
private int[][] xyz; //4 个坐标构成的面
private double[] x,y,z; //原始点
private double[] x1,y1,z1; // 旋转后的点
private double[][] mxy={{1,0,0},{0,1,0},{0,0,1}}; //旋转矩阵
5.3 魔方的打乱
第 4 页 共 19 页
塔里木大学课程设计
魔方的打乱只是多次随机调用魔方的层旋转函数。
系统实现
6.代码调试
import java.applet.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.awt.geom.*; import static java.awt.RenderingHints.*; import javax.swing.Timer; public class m extends Applet implements ActionListener,MouseListener,MouseMotionListener{
private int time=0;
private int[] colors={0x70e33e,0x65f0e4,0xf20f2f,0xffff00,0x454545,0xaaaaaa}; //六面色
private int 数量=4; //在此设置是(4*4)的魔方
private int 视距=800; //越大越远
魔方游戏所用到的一些重要的类以及之间的组合关系如下图。
5.主要工作原理和关键技术介绍 5.1 魔方旋转原理技术介绍
魔方的旋转主要是通过算法记录旋转前各个小块的颜色,旋转后重新对其着色。 对图形不停地进行渲染。
第 3 页 共 19 页
塔里木大学课程设计
图 1-1 魔方块外面图
魔方 6 面正方体。核心是一个轴,并由 26 小正方体组成包括中心方块有 6 个,固 定不动只有一面有颜色。边角方块 8 个可转动。
2.2 课程设计内容和要求
魔方,Rublik’s Cube 又叫魔术方块,也称鲁比克方块。是匈牙利布达佩斯建筑 学院厄尔诺.鲁比克教授在 1974 年发明的。
1.三阶魔方核心是一个轴,并由 26 个小正方体组成。包括中心方块 6 个,固定不 动,只一面有颜色。边角方块 8 个(3 面有色)(角块)可移动 。边缘方块 12 个(2 面有 色)(棱块)亦可转动。
塔里木大学课程设计
网页魔方块游戏
1. 摘要
随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模计算的海 量数据处理转向大规模的事物处理和对工作流的管理,这就产生一台式计算机为核心的管理系 统。
在80 年代成为一种流行的游戏,在中国把这游戏叫魔方块游戏。真正的魔方块总是让人不 停地钻研,人们通过旋转魔方,开发自己的思想,可是有时候买一个魔方还是一件很麻烦的事情, 很多人有自己的电脑,他们有时候也想能否在电脑上就能体验一下玩魔方的感觉。很多人都有 自己的电脑,他们有时候也想能否在电脑上就能体验一下玩魔方的感觉。
5.2.1 三维魔方的描述问题的解决方法....................................................................4 5.2.2 魔方整体旋转问题的解决办法........................................................................4 6 .代码调试..........................................................................................................................5 7.总结................................................................................................................................ 18 参考文献.............................................................................................................................. 19
3.系统需求分析 3.1 系统目标
使用所学知识制作一个基于 java 的魔方游戏。
3.2 主体功能
这个程序定义了一些组件,工具栏按钮,文本区和菜单。魔板游戏程序设计通过 绘制三维仿真魔方 等类来实现魔方游戏的整体功能。
第 2 页 共 19 页
4.系统总体设计
塔里木大学课程设计
4.1 系统的Biblioteka 能模块划分塔里木大学课程设计
private BufferedImage bi; private Graphics2D big;
//定时器 public void actionPerformed(ActionEvent e){ if(time>0){ for(int i=0;i<数量*数量*6;i++){