魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 132081|回复: 7
打印 上一主题 下一主题

关于做底部(顶部)十字的一个通用方法 [复制链接]

Rank: 1

积分
14
帖子
11
精华
0
UID
46831
性别
保密
跳转到指定楼层
1#
发表于 2008-9-29 21:09:15 |只看该作者 |倒序浏览
关于做底部(顶部)十字的一个通用方法

                无论是入门方法还是高级方法,都需要先做十字,所以做底部(顶部)十字是非常重要的一个步骤。由于做十字比较简单,所以人们并没有总结一定的方法,而是让玩家们自己摸索实践。但是对于初学者来说,做十字需要太多的观察,而且费时很多。“鱼。方块达人铺”网站(http://www.unicube.tw/)介绍了一些常见的形状及其解法,但是并没有将其进行总结,初学者如果照搬的话,还是需要记忆一些形状——当然基本的形状应该记住,以便熟能生巧。我这里介绍一种通用解法,可以方便大家理解记忆。
<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
  <param name="scrptLanguage" value="SupersetENG">
  <param name="scrpt" value="U'RU">
  <param name="stickersFront" value="2,5,5,2,4,0,6,4,6">
  <param name="stickersRight" value="6,5,6,4,5,4,6,6,6">
  <param name="stickersDown" value="6,5,6,6,1,6,6,2,6">
  <param name="stickersBack" value="6,3,6,2,3,4,6,6,6">
  <param name="stickersLeft" value="6,2,6,1,2,1,6,6,6">
  <param name="stickersUp" value="4,0,0,0,0,0,4,1,4">
</applet>如图示(CASE1),底面的白色十字已经成功了三个,最后一个棱块颜色为蓝白。如何将蓝白转至正确的位置呢?我有一个通用的方法(不用记公式,也不用讨论各种不同的情况,只需记住一个通用方法就好了)。
我们先观察蓝白块的位置,发现要想将该方块白色面转至底面,需要先做动作R,然后做动作U。但是在做动作R的时候会将三个已经还原的白色棱块破坏,所以先要将该三个白色棱块避让开。如何避让呢?可以做动作U或U’,我们应该选择哪一个呢?。我们应该选择动作U’,因为蓝白块还原的第二个动作是U,我们先做一个逆动作,这样刚好可以使三个避让的棱块复位。所以蓝白块还原的全部动作就是U’RU。

<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
  <param name="scrptLanguage" value="SupersetENG">
  <param name="scrpt" value="F'U'RU">
  <param name="stickersFront" value="3,2,1,4,4,5,4,0,0">
  <param name="stickersRight" value="4,5,6,1,5,4,4,6,6">
  <param name="stickersDown" value="6,4,6,6,1,6,6,2,6">
  <param name="stickersBack" value="6,3,6,2,3,4,6,6,6">
  <param name="stickersLeft" value="6,2,6,1,2,5,6,6,6">
  <param name="stickersUp" value="4,0,0,0,0,0,2,1,2">
</applet>
我们再来看下面一种情形(CASE2),这是蓝白块在底层,且白色在侧面的情况(如果白色在底面就简单了,直接一个F2搞定)。如果我们观察足够仔细的话,就会发现,只要做一个F’的动作就和CASE一样了。
所以这类白块(顶面颜色)在底层侧面的情况,我们要先将其转至中间层。看到这里也许有人会问:先将蓝白块转至中间层,除了做动作F’以外,不是还有动作F吗?你刚才为什么不做动作F啊?真是一个聪明的孩子!呵呵!你是对的,将蓝白块转至中间层,动作F或F’都是对的。如果做动作F的话,接下来的动作就是UL’U’。

<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
  <param name="scrptLanguage" value="SupersetENG">
  <param name="scrpt" value="U'F'U">
  <param name="stickersFront" value="0,3,5,2,3,5,3,4,5">
  <param name="stickersRight" value="0,2,0,0,2,2,0,6,6">
  <param name="stickersDown" value="6,5,6,6,1,6,6,4,6">
  <param name="stickersBack" value="6,4,6,4,4,3,6,6,6">
  <param name="stickersLeft" value="6,3,6,2,5,1,6,6,6">
  <param name="stickersUp" value="1,0,2,3,0,0,2,0,4">
</applet>
另外一种情况就是稍微难以看出来一点。但同样的是先将红白块的白色面转至顶面,然后归位,动作是F’U,但在做动作F’的时候会将三个已经还原的白色棱块破坏,所以先要将该三个白色棱块避让开。如何避让呢?当然是动作U的逆动作U’,这样当执行动作U的时候刚好可以使三个避让的棱块复位。所以蓝白块还原的全部动作就是U’ F’U。

[ 本帖最后由 goal00001111 于 2008-9-29 22:18 编辑 ]

Rank: 1

积分
14
帖子
11
精华
0
UID
46831
性别
保密
2#
发表于 2008-9-29 21:10:50 |只看该作者

继续

<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
  <param name="scrptLanguage" value="SupersetENG">
  <param name="scrpt" value="U2RU2">
  <param name="stickersFront" value="5,3,5,2,3,0,4,2,2">
  <param name="stickersRight" value="0,2,0,5,2,3,4,1,6">
  <param name="stickersDown" value="6,1,6,6,1,6,6,1,6">
  <param name="stickersBack" value="6,4,6,5,4,3,6,6,6">
  <param name="stickersLeft" value="6,3,6,5,5,4,6,6,6">
  <param name="stickersUp" value="5,0,2,1,0,0,3,0,4">
</applet>
还有一种旋转180度的情况。我们发现除红白块外其他三个白色棱块都已经还原了。同样的我们先观察红白块的位置,发现要想将该方块白色面转至底面,需要先做动作R,然后做动作U2。但是在做动作R的时候会将三个已经还原的白色棱块破坏,我们同样地先做一个逆动作U2将该三个白色棱块避让开。所以蓝白块还原的全部动作就是U2RU2。
        到现在稍微复杂点的情形都已经考虑了,其他简单的情形大家可以参考“鱼。方块达人铺”网站的方法。总之,当白色面(顶层颜色)在顶层或底层侧面的时候,先将其转到中间层,然后用上述方法转至正确位置。
        有人说这是在其他三个已经完成情况下的方法,并不实用,实际上我们任何时候都可以使用这种方法,它的好处是可以在不影响其他正确棱块的前提下,以最少步骤和最顺手法做好十字。但是由于一些简单情况根本就不必要这样做,所以我建议大家先把一些简单的棱块还原,在复杂的情况下再使用此种方法。
一般顺序是先观察是否有一步可以还原的棱块(设为棱块1),并观察还原棱块1时是否会破坏其他可一次或两次还原的棱块(设为棱块2)。若存在棱块2,且棱块2只需一步就转移至正确位置(可一步还原的位置),可以一步先将棱块2转移至正确位置,再还原棱块1;否则直接还原棱块1。先还原简单的棱块,最后再用上述方法还原复杂的棱块。
我试验过了,一般8步之内可以做出十字。

[ 本帖最后由 goal00001111 于 2008-9-29 22:29 编辑 ]

使用道具 举报

红魔

易之

Rank: 4

积分
2820
帖子
1867
精华
1
UID
36671
性别

四年元老

3#
发表于 2008-9-29 21:23:01 |只看该作者
恩我也搞不明白咋回事~不过我听懂了
但是这只是三个已经成功的前提下做的,那不知道您有没有亲手教过新手,俺是拥有大量的经验啊~别说三个新手一看魔方就发梦的,手都哆嗦~
三个成功是一件很奢侈的事情~嘿嘿

欢迎到菜鸟入门看我的 魔方初级解法之大众普及版~~ (别看广告,看疗效)
我想我的那个更全面些吧?

使用道具 举报

银魔

小欣然的爸爸

Rank: 7Rank: 7Rank: 7

积分
37843
帖子
34374
精华
15
UID
16477
性别
保密

论坛建设奖 爱心大使 八年元老

4#
发表于 2008-9-29 21:32:15 |只看该作者
魔方吧主页里JAVA助手的
天津1群11471969,2群5834223
3群62462688,4群62462702
5群70735234,6群33712046
7群12240584,8群29198783
9群62974165,欢迎加入!

使用道具 举报

Rank: 1

积分
14
帖子
11
精华
0
UID
46831
性别
保密
5#
发表于 2008-9-29 21:40:37 |只看该作者
我就是用三阶魔方 Java 助手得到的代码啊!
我把代码贴上来的时候,它竟然没有转换成动画,晕啊!

使用道具 举报

Rank: 1

积分
14
帖子
11
精华
0
UID
46831
性别
保密
6#
发表于 2008-9-29 22:21:04 |只看该作者

谢谢6楼

终于弄好了。
也许大家觉得实用性不大,但我认为对于初学者来说,这种方法便于观察和迅速处理棱块。并用较少的步骤完成十字。

使用道具 举报

透魔

大波

Rank: 6Rank: 6

积分
5659
帖子
3787
精华
4
UID
8709
性别

八年元老

7#
发表于 2008-9-30 00:34:40 |只看该作者
其实我觉得帮助很大,让我拓宽了视野

使用道具 举报

银魔

小欣然的爸爸

Rank: 7Rank: 7Rank: 7

积分
37843
帖子
34374
精华
15
UID
16477
性别
保密

论坛建设奖 爱心大使 八年元老

8#
发表于 2008-9-30 09:22:14 |只看该作者
发JAVA还要注意用半角
天津1群11471969,2群5834223
3群62462688,4群62462702
5群70735234,6群33712046
7群12240584,8群29198783
9群62974165,欢迎加入!

使用道具 举报

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

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

GMT+8, 2024-6-8 20:59

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部