魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: 拼音佳佳
打印 上一主题 下一主题

乌木试下5阶用这个公式... [复制链接]

Rank: 2

积分
452
帖子
38
精华
0
UID
10589
性别
1#
发表于 2007-8-25 16:28:22 |显示全部楼层

关于6楼代码的研究:
乌木使用的如下的代码:
<applet code="ProfessorPlayer.class" archive="professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="PirzerENG">
  <param name="script" value="TR2 TF2 U2 MRR2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="stickersFront" value="0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
  <param name="stickersBack" value="3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3">
</applet>
其中代码中着色使用了“stickersFront”和“stickersBack”,其实不比如此麻烦的,因为代码的最终结果是还原,所以只要设置一个初始状态就可以了,初始状态(initscript)就是脚本(script)的逆操作,所以只要加入下面这行代码就可以了,和脚本只有一处需要修改,MRR2变为MRR2'
  <param name="initScript" value="TR2 TF2 U2 MRR2' U2 TF2 TR2">
修改后的完整代码变成:
<applet code="ProfessorPlayer.class" archive="professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="PirzerENG">
  <param name="script" value="TR2 TF2 U2 MRR2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="initScript" value="TR2 TF2 U2 MRR2' U2 TF2 TR2">
</applet>

乌木使用的是PirzerENG语言,我通常使用SupersetENG,如果改成SupersetENG语言,那么脚本为下面两种:
第一种:乌木着色的方法
<applet code="ProfessorPlayer.class" archive="professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="SupersetENG">
  <param name="script" value="TR2 TF2 U2 M1R2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="colorTable" value="0x003373,0x8c000f,0xf8f8f8,0x00732f,0xff4600,0xffd200">
  <param name="stickersFront" value="0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
  <param name="stickersBack" value="3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3">
</applet>
第二种:纯脚本方法
<applet code="ProfessorPlayer.class" archive="professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="SupersetENG">
  <param name="script" value="TR2 TF2 U2 M1R2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="initScript" value="TR2 TF2 U2 M1R2 U2 TF2 TR2">
  <param name="colorTable" value="0x003373,0x8c000f,0xf8f8f8,0x00732f,0xff4600,0xffd200">
</applet>
我在代码中还加入了颜色修正,以符合Rubik魔方的实际情况。

上面的代码中的professorplayer.jar需要根据实际的路径进行修改,我通常直接引用官方的链接:
http://www.randelshofer.ch/professorplayer/professorplayer.jar

[此贴子已经被作者于2007-8-25 16:40:54编辑过]

使用道具 举报

Rank: 2

积分
452
帖子
38
精华
0
UID
10589
性别
2#
发表于 2007-8-26 01:03:13 |显示全部楼层
QUOTE:
以下是引用乌木在2007-8-25 19:24:28的发言:

此外,楼上说的第一段代码不是6楼的,而是9楼的。我现在再重新做一次,获得的代码如下:

<applet code="de.pirzer.rubik.ProfessorPlayerApp.class" codebase=5 width="300" height="300">
  <param name="scrptLanguage" value="PirzerENG">
  <param name="scrpt" value="TR2 TF2 U2 MRR2 U2 TF2 TR2 ">
  <param name="stickersFront" value="0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
  <param name="stickersBack" value="3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3">
</applet>

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *

而12楼您说我的代码如下:

<applet code="ProfessorPlayer.class" archive="professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="PirzerENG">
  <param name="script" value="TR2 TF2 U2 MRR2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="stickersFront" value="0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
  <param name="stickersBack" value="3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3">
</applet>

两者怎么会不尽相同的?

确实是9楼,呵呵,看差了!两段代码是完全一样的,只不过你引用的是论坛的Java脚本,我引用的是官方的链接,“  <param name="scriptProgress" value="0">”这段其实只是一个进程的说明,0表示是解决问题,-1表示演示步骤,这里你最终的结果是复原魔方,所以这个值设不设置效果都是一样的!

QUOTE:
 <applet code="ProfessorPlayer.class" archive="http://www.randelshofer.ch/professorplayer/professorplayer.jar" width="300" height="300">
  <param name="scriptLanguage" value="PirzerENG">
  <param name="script" value="TR2 TF2 U2 MRR2 U2 TF2 TR2">
  <param name="scriptProgress" value="0">
  <param name="stickersFront" value="0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
  <param name="stickersBack" value="3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3">
</applet>

 

代码效果:

实际Rubik魔方颜色设置效果:

[此贴子已经被作者于2007-8-26 1:19:01编辑过]

使用道具 举报

Rank: 2

积分
452
帖子
38
精华
0
UID
10589
性别
3#
发表于 2007-8-26 10:12:18 |显示全部楼层

从别的地方来的代码可以转换成论坛使用的,只要第一段代码引用的地址正确就可以了,我之所以使用官方的链接是怕本地链接会出问题,而且官方的链接总是最新版的Java。那天我弄代码的时候发现了颜色问题,所以才试着把代码改了改,让他更符合Rubik魔方的风格,我研究代码和你使用助手是一个效果,不过我可以通过代码更好的了解公式的精髓在哪里,而且可以方便的对代码进行一些逆操作,这样可以举一反三。

使用道具 举报

Rank: 2

积分
452
帖子
38
精华
0
UID
10589
性别
4#
发表于 2007-8-26 22:27:22 |显示全部楼层
QUOTE:
以下是引用乌木在2007-8-26 10:39:50的发言:

噢,您这是玩到家了!

那么,我目前这样原始地用论坛的java助手没问题吧?至于颜色,论坛的java助手也是可以在一定范围内由用户随意设置的,但仅有7种颜色可选,它也不会检查颜色设置是否合法,以致有人会填错颜色等等。

此外,有人问过能否在自己电脑中转java魔方,别非上魔方吧不可。比如,把魔方吧内的某一java魔方图下载到自己电脑中,随时可在屏幕上玩,就像一般的gif动画或者“Puzzler”中的魔方那样。这里顺便问问您,这可能吗?如果行,您倒可以另发一话题介绍的。

当然可以啦,我都是在电脑上弄好了公式才粘过来的,你可以直接下载官方的Java程序,里面二阶、三阶、四阶、五阶的都有,其中的parameters.html就是参数设置页,点其中的Generate and Show就可以生成演示用的Java程序了,非常的方便,而且修改也很方便。
我把官方Java的下载地址贴出来吧,你们直接下载后解压缩到一个目录下就可以使用了,记住一定要先装Java呦,否则就没显示啦!哈哈!
http://www.randelshofer.ch/pocketplayer/files/pocketplayer-6.1.zip
http://www.randelshofer.ch/pocketplayer/files/pocketplayer-6.0.zip
http://www.randelshofer.ch/rubikplayer/files/rubikplayer-5.2.1.zip
http://www.randelshofer.ch/revengeplayer/files/revengeplayer-0.2.1.zip
http://www.randelshofer.ch/professorplayer/files/professorplayer-3.2.1.zip

[此贴子已经被作者于2007-8-26 22:32:43编辑过]

使用道具 举报

Rank: 2

积分
452
帖子
38
精华
0
UID
10589
性别
5#
发表于 2007-8-27 12:00:56 |显示全部楼层
QUOTE:
以下是引用乌木在2007-8-27 8:25:21的发言:

也就是说,最好有个java魔方助手,可以存在自己的电脑中,像Puzzler魔方一样,即使不上互联网,照样可以自己设置魔方初态、要执行的步骤等等,然后让它演示或用鼠标操作这java魔方。也不要去捣鼓java代码该如何如何(我这样的电脑菜鸟不会弄),就像在魔方吧论坛一样弄。比如,下面就是我断开互联网,照样可以玩Puzzler:



可以呀,完全可以离线使用呀!你下载我给你的链接里的东西试试就知道了!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-5-25 08:05

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部