codecamp

孙氏魔方标记语言

文字描述部分

通用术语部分

面块:魔方只有一个面的色块

棱块:魔方拥有两个面的色块

角块:魔方拥有三个面的色块

层:魔方面块、棱块及角块组成的一个集合

归位:将不在正确位置的魔方色块转动到正确位置的操作

归色:将颜色不在正确位置的魔方色块转动到正确位置的操作

还原:将颜色和位置都转动到正确位置的操作

公式组:几个还原步骤组成的集合

棱换:交换魔方棱块的操作

棱翻:翻转魔方棱块的操作

角换:交换魔方角块的操作

角翻:翻转魔方角块的操作

花样玩法:通过特定公式将魔方转动至特定有规律图案的过程

公式标记部分

阿拉伯数字:表示魔方从上往下数第几层。如1表示第一层,2表示第二层,3表示第三层,其余以此类推。(看前面)

大写英文字母:表示魔方从左往右数第几层。如A表示第一层,B表示第二层,C表示第三层,其余以此类推。(看前面)

小写英文字母:表示魔方从前往后数第几层。如a表示第一层,b表示第二层,c表示第三层。(看右边)

方向符号:表示魔方旋转的方向。如↑表示向上,↓表示向下,←表示向左,→表示向右,↻表示顺时针旋转,↺表示逆时针旋转(一个方向符号对应的旋转角度为90°)。

方向符号多用:多用一次代表多一次操作,多用两次代表多两次操作。如↑↑代表向上操作两次,←←←代表向左操作三次。

两英文字母连写:表示从第几层到第几层。如ac表示从前往后数第一层到第三层这三层。

阿拉伯数字连写:表示从第几层到第几层。如1-3表示从上往下数第一层到第三层这三层,3-15表示从上往下数第三层到第十五层这十三层,12-14表示从上往下数第十二层到第十四层这三层。

标记:大写字母与与↑、↓绑定,阿拉伯数字与←、→与绑定,小写字母与↻、↺绑定。如A↑表示第A层向上操作一次。2-3←表示第二、第三层同时向左操作一次。ac↻↻表示第a到第c层同时顺时针操作两次。

公式组重复:一个公式组重复多次操作的过程。形式为(公式组)阿拉伯数字【重复的次数】。如(公式组)3表示将公式组重复操作3次。

位置变动部分

色块位置:色块位置的标记采用空间三面相交取点法。标记符号的表示顺序为大写字母-阿拉伯数字-小写字母。如C2a表示第C层、第2层、第a层相交的色块。在三阶魔方中,C2a表示的是前面和右面相交的棱块。(多色块位置标记:AB1a表示的是两个色块,在三阶魔方中,AB1a表示的是前面和上面相交的棱块和该棱块左边的角块)

位置变化:色块位置变化的表示符号为>>和<>。其中>>表示前面的色块移动到后面色块的位置,<>表示前面的色块和后面的色块位置互换。如A1a>>C1a表示色块由位置A1a转到位置C1a。

方向变动部分

颜色方向:色块颜色方向标记采用的是色块位置加颜色的标记方法,形式为色块位置(前/后面的颜色,左/右面的颜色,上/下面的颜色)。其中颜色既可以为1个(面块),也可以为2个(棱块)。如C1a(红,绿,黄)表示的是第C层、第1层和第a层相交的角块的前面的颜色为红色,右边的颜色为绿色,上面的颜色为黄色。C1b(green,red)表示的是第C层、第1层和第b层相交的棱块的右面的颜色为绿色,上面的颜色为红色。 B1b(白)表示的是第B层、第1层和第b层相交的面块的颜色为白色。

综合部分

翻转:符合为’。如B1b’表示翻转棱块B1b,未指定翻转后的位置及方向。

归位:符号为#()。如#(B1b)表示将棱块B1b归位,指定了归位后的位置(由色块颜色决定)。

归色:符号为%()。如%(C1a)表示将角块C1a归色,指定了归位后的方向(由色块颜色决定)

还原:符号为$()。如$(C1a)表示将角块C1a还原,制定了还原后的位置和方向。

花样玩法:符号为⊥()。如⊥(巨介子)表示巨介子是魔方花样玩法的一种。

自定义:符号为∫()。如∫(edg[1a]'>>edg[1a])表示将层1与层a相交的棱原地翻转

汉字数字:表示魔方的阶数,如三表示三阶,也可以用英语基数词表示

::表示魔方阶数与变化部分相关联。如三: #(B1b)表示将三阶魔方的棱块B1b归位。

{}:表示魔方变化部分与公式相关联。如$(C1a){C↑1←C↓1→}表示通过公式C↑1←C↓1→可将角块C1a还原到正确的位置。

@:表示魔方色块的颜色相关联。如C1b(green@Fac[C],red@Fac[a])表示棱块C1b右面的颜色与右面面块的颜色相同,为绿色,上面的颜色与前面面块的颜色相同,为红色。

⇒:表示下一步。常见于过程描述。

通用简化部分

面块:符号为面[层]/Fac[层]/fac[层]。如:Fac[A]表示A层所在的面,即左面的面块。

棱块:符号为棱[层1层2]/Edg[层1层2]/edg[层1层2],其中层可以为1个。如Edg[Aa]表示层A和层a相交的棱块,edg[a]表示a层所在的棱块。

角块:符号为角[层1层2层3]/Cor[层1层2层3]/cor[层1层2层3],其中层可以为1个,也可以为两个。如Cor[A1a],表示的是层A、层1和层a相交的角块。Cor[1a]表示的是层1和层a相交的角块。

注释解说部分

单行注释:问号开头,注释内容为尾。问号表示有疑问或不明白,注释内容表示对疑问或不明白地方的解答或说明。如?我是注释(标记中为单独另起一行)。

多行注释:?/开头,/?结尾。表示?/和/?中间的内容为注释。

短公式法还原三阶魔方
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }