魔方小站论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
有问题?站长推荐先用上面的魔方小站搜索找答案。
查看: 141|回复: 0

【LYB】多种高阶五魔方Java助手正式版【转】

[复制链接]
发表于 2020-2-1 16:59:31 | 显示全部楼层 |阅读模式
经过几天调试,现在推出正式版的多种五魔方java助手了,这个支持多种五魔方:
       采用了大烟头老弟的建议用了U,R,L,F,B,D,等符号,也采用了他的另一个很好建议,就是当只有初始化序列,程序自动将初始化序列的逆序列设为待执行序列。


由于java的小程序和JS通讯是单向的,即JS可以往Applet里传递参数,Applet不能向JS传递参数,因此就无法设计成java动画里填充颜色,问题是无法保存填色效果。因此本java助手填色功能都设计在网页里,用VML配合JS绘图,由于JS是解释执行,速度无法提升,再加上VML里的每个形状都要构造很多属性,因此绘制五魔方形状时程序执行非常慢,三阶以下的小块少一些,虽然慢也能接受,6阶以上相当慢,每转动一下,要很长一段时间才反应是正常的,因此,建议您使用填色时,少用总体转动功能,把看到的填好,再整体转动。
       填好色后,按预览按钮,就进入动画演示状态,这时绘图是用真正的java实现的,您可以用鼠标任意拖动魔方做整体转动。
       颜色是用6位16进制数表示的,第1、2位表示红色分量,第3、4位表示绿色分量,第5、6位表示蓝色分量,最小00最大ff,数值越小该分量越暗。
       整体转动按钮在动画演示状态不起作用。
       刚调出网页,或设置魔方种类后,是颜色编辑状态,如果你不改变任何颜色,你直接按预览按钮进入动画演示状态,再做公式、初始化、待执行序列的编辑,随时可以按预览按钮提交新状态,查看动画正确与否。你可以用鼠标输入步骤。

          本软件采用的符号如下图:
五魔方_1.JPG
    本软件是按方位命名的,即符号不随魔方整体变向而变,看到的六个面以及看不到的六面,具体的颜色可变,但始终由它们的当时方位来命名。例如当五魔方转动u后,魔方整体变向后,各面颜色按照固定的相对关系变了,但那些符号不变。

还是前面代表F。如果输入整体旋转命令(比如)u,魔方变向后,接下来的(比如)R是转新的右上层。如果用鼠标拖动魔方变向,R还是转魔方变向前的、原来的右上层,不管它被鼠标拖到了什么方位。
   本软件支持演示步骤、初始化步骤、自定义公式三个命令参数。
   自定义公式格式如下:
{公式说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;&
{公式说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;&..............................
{公式说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;&
{公式说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;
    可以定义多个自定义公式。

    演示步骤可以引用自定义公式,另外,演示过程分段处理,每段格式:
{段落说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;[1];步骤;[3];步骤;&
{段落说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;[1];步骤;[2];步骤;&..............................
{段落说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;;[3];步骤;[3];步骤;&
{段落说明}步骤;步骤;(步骤;步骤;步骤;)重复数字;步骤;;[3];步骤;[3];步骤;

     初始化序列同演示步骤格式。也支持自定义公式。

    &号用来分隔每个公式,或每个段落,最后一个不用。
    步骤后的分号是必须的,分号是半角分号,全角的不认。缺少分号的步骤将被忽略掉。尤其是右括号前面的步骤必须要有分号,如果缺少分号,不但步骤被忽略掉,而且括号和数字也被忽略掉。
     步骤定义为:
     合法字母,或数字合法字母,或数字数字合法字母,或合法字母逆转号,或数字合法字母逆转号,或数字数字合法字母逆转号,或合法字母重复数2,或数字合法字母重复数2,或数字数字合法字母重复数2,或或合法字母逆转号重复数2,或数字合法字母逆转号重复数2,或数字数字合法字母逆转号重复数2,合法字母大写UJLFRBWVXYZD之一,或小写字母ujlfrbwvxyz之一。大写转动层,小写整体转动。小写字母前不带数字。
逆转号为 '  号。

     花括号里的是说明性的文字,动画演示时,在动画的上方标题的下方显示花括号中的文字说明。

    例子:

自定义公式为:{公式1:}((F;R;)2;(2B';J';)2;)2;&{公式2:}((J;2B;)2;(R';F';)2;)2;&{公式3:}(F;2R'2;B;J;)2;&{公式4:}(J';B';2R2;F';)2;
初始化代码为:{初始化}j2;b;(R';F';)4;J';(b;[4];[1];l';)3;U';(B';R';(r';F';)2;)3;J;
执行序列为:{逆向初始化}J';((F;r;)2;R;B;)3;U;(l;[2];[3];b';)3;J;(F;R;)4;b';j'2;
   









例子:十芯移位
    转动序列:{十芯移位}(F;u2;W';u'2;L;X';J;W';B;V';R;Z';)7;F;u2;W';u'2;u2;u2;u2;


程序里可能有毛病,欢迎大家指出,以便改进。









尽量不要使用Y面转动,由于Y面看不到,本例中,Y‘用u2;W’; u‘2;取代,实际效果一样,但都能看到转动步骤了。
       如果你要演示的功能完全正确,你可以把Discuz码复制出来,粘贴到论坛帖子里,发的帖子就有和你在动画演示状态一样功能的java动画了。
       使用上如有问题,联系我,QQ:524230573,说明是魔方吧的,否则不予理睬。


下载后解压到一个目录下,打开文件:wmftool2.html即可。
WmfPlay.rar (39.27 KB, 下载次数: 8)

本帖被以下淘专辑推荐:

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

本版积分规则

Archiver|手机版|小黑屋|魔方小站 ( 京ICP备06069538-1号 )

GMT+8, 2020-2-22 08:32 , Processed in 0.022655 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表