`

魔方Java程序

    博客分类:
  • Java
阅读更多
近期尝试写个java的魔方程序。提供图像化界面。
数据结果如下:
<class name="MagicCube" description="表示一块魔方的类">
    <static class="MagicCube" name="ORIGINCUBE" description="最初状态的魔方" >
    <class number="27" name="CubeNode" description="表示魔方中一小块的类,共27个,其中第13个最中心得那块标记为null">
        <class name="Point3D" description="魔方中某一块的位置"/>
        <class name="NodeColor" description="魔方中某一块的颜色"/>
    </class>
</class>


现在已实现按要求旋转的API
可参考下面得例子
MagicCube mc = new MagicCube(CubeNode.getOriginNode());
//使用魔方最初状态初始化一个魔方实例
int count=0;
do{
	mc.rotate(1, 0);
//魔方旋转: 
//第一个参数 正的顺时钟 负的逆时钟 1 -1 x轴 2 -2 y轴 3 -3 z轴
//第二个参数是该方向的第几个面。
	if(mc.equals(ORIGINCUBE))break;
	mc.rotate(2, 0);
	if(mc.equals(ORIGINCUBE))break;
	mc.rotate(-1, 2);
	if(mc.equals(ORIGINCUBE))break;
	mc.rotate(-2, 2);
	count++;
}while(!mc.equals(ORIGINCUBE));
System.out.println(count*4);

该段代码先得到一个初始得魔方类,然后按顺序顺时针旋转外侧的四个面,一直到还原位置。输出需要旋转次数。

下一步任务
1、实现图像化界面,已有部分进展;
2、按照魔方复原规则实现任意有解状态状态自动复原;
欢迎讨论。
分享到:
评论
4 楼 andyjojo 2009-02-10  
谢谢,慢慢研究研究
3 楼 hehuiahui 2009-02-04  

给你个好代码参考rubikplayer

http://www.randelshofer.ch/rubikplayer/index.html
2 楼 孤灯渡漠 2009-01-23  
哈哈,楼主的注释也太搞笑了吧,“逆时钟”
1 楼 孤灯渡漠 2009-01-23  
很强大,先下来学习

相关推荐

    java实现简单魔方

    【Java实现简单魔方】 在计算机编程中,模拟真实世界的物体,如魔方,是一种有趣的挑战,也是学习面向对象编程和...运行源码后,你可以亲自尝试不同的旋转指令,观察魔方的变化,从而更好地理解这个程序的工作原理。

    解魔方程序Java源码

    标题中的“解魔方程序Java源码”指的是一个使用Java编程语言编写的程序,它的主要功能是解决魔方还原的问题。在计算机科学中,这样的程序通常涉及到算法设计,特别是优化和搜索算法,如深度优先搜索(DFS)、广度...

    魔方java源代码.pdf

    魔方java源代码.pdf 文件提供了一个完整的 Java 3D 魔方程序设计的实现,涵盖了 Java 3D 编程的多个方面,包括场景图、变换、动画、交互、图形学等。本文将对该程序进行详细的分析,并对其中涉及的知识点进行解释。 ...

    魔方java源代码

    ### 魔方Java源代码解析 #### 一、概览 本文将深入解析一个名为“魔方”的Java源代码示例。该程序利用Java 3D库来创建一个交互式的魔方应用,用户可以在MyEclipse环境中运行并进行练习。 #### 二、程序结构与功能 ...

    使用java 3d编写的魔方程序

    在这个特定的项目中,"使用java 3d编写的魔方程序"是一个利用Java 3D库实现的魔方模拟器。魔方是一种极具挑战性的智力玩具,通过编程实现其在虚拟空间中的旋转和复原,不仅展示了编程技术,也体现了对数学和逻辑思维...

    JAVA 3D魔方实例

    java3d 的魔方实例,不错的源程序代码。互相学习

    java自制魔方模拟游戏

    【Java自制魔方模拟游戏详解】 Java自制魔方模拟游戏是一种基于编程技术实现的互动娱乐软件,它允许用户在虚拟环境中体验还原魔方的乐趣。在这个项目中,主要使用了Java编程语言,结合3D图形库来创建逼真的魔方模型...

    普通魔方和四阶魔方练习程序

    [原创]魔方程序  魔方是大家都玩过的小玩具,我在刚参加工作的时候挺喜欢玩,用较为基本的步法可以在1分半钟之内完成六面,现在要慢得多了.学习编程序的时候(94年),尝试做过几个使用键盘的小游戏,俄罗斯方块,大炮打...

    四维魔方的java小程序

    它的设计目标是“一次编写,到处运行”,这意味着Java程序可以在任何支持Java虚拟机(JVM)的平台上运行,无需重新编译。这使得Java成为跨平台应用开发的理想选择,包括桌面应用、移动应用、服务器端应用以及网页...

    java打印n阶数字魔方

    简单的java控制台,n阶数字魔方的打印,代码工整,注释齐全

    JAVA 3D 魔方源代码

    【JAVA 3D 魔方源代码】是基于Java编程语言实现的三维魔方模拟程序,它允许用户在虚拟环境中旋转、操作魔方,体验3D视角下的解谜过程。这个项目对于学习Java图形界面设计、3D建模以及算法实现具有很高的实践价值。 ...

    mofang(java).rar_魔方_魔方 java

    【标签】:“魔方 魔方_java”进一步强调了该程序的主要内容是与魔方相关的,且是用Java语言实现的。Java是一种广泛使用的面向对象的编程语言,以其跨平台性、安全性以及强大的库支持而受到开发者青睐。在这个项目中...

    java 3D 魔方源代码带图片

    Java是一种跨平台的编程语言,它的"Write Once, Run Anywhere"(WORA)特性使得Java程序可以在任何安装了Java虚拟机(JVM)的设备上运行。在这个3D魔方项目中,Java的这一特性使得它能够在多种操作系统上运行,包括...

    java魔方 真牛逼

    在Java程序中,类文件是源代码(.java文件)经过编译后的结果,用于运行时由Java虚拟机(JVM)解释执行。 2. **rubik.class**:同样,这又是一个编译后的Java类文件,很可能代表了魔方的核心类,包含了魔方的旋转、...

    解魔方的程序实现

    例如,Jaap's Cube Simulator(jaap.zip)是一款基于Java的魔方模拟器,它实现了多种解魔方的算法。Pochmann的解魔方算法(pochmann.zip、pochmann2.zip)则是通过深度优先搜索来寻找解,这种方法可能会生成更长的...

    java做的3D魔方

    5. **窗体界面模块**:Java Swing或JavaFX库用于创建应用程序的用户界面,包括显示3D魔方的窗口和控制面板。窗口组件如JFrame、JPanel等用于构建界面布局,而JButton、JLabel等则用于添加交互元素。 6. **渲染和...

    Java3D魔方代码

    总的来说,通过研究这个Java3D魔方代码,我们可以深入了解3D图形编程的基本原理,学习如何在Java环境中创建交互式3D应用程序。这对于想要提升Java3D技能或者对3D游戏开发感兴趣的开发者来说,是一个很好的学习资源。...

    3D魔方(JAVA源码)

    【3D魔方(JAVA源码)】 3D魔方是一种复杂的智力玩具,它由多个立方体组成,每个立方体的六个面涂有不同的颜色。在3D编程领域,使用Java来实现魔方的可视化和交互操作是一项有趣的挑战。Java语言由于其跨平台性和...

    java3D魔方

    "开始魔方.bat"是一个批处理文件,通常用于启动Java应用程序。这表明项目可能通过命令行来运行,只需双击此文件即可启动魔方模拟器。"Thumbs.db"是Windows系统中用于存储缩略图缓存的文件,不直接影响程序运行,但...

Global site tag (gtag.js) - Google Analytics