用JavaScript寫了一個Scrambler - 魔術方塊

Table of Contents

※ 引述《ten7728 (今古庸龍)》之銘言:
: 目前仍然無法解決會連續出現的BUG
: 就是....
: 如果第一步是R,第二步有六分之一的機率仍然出現R
: 如果第一步是L,第二步有六分之一的機率仍然出現L
: 以此類推.....

認真講起來的話,你不只要考慮 R 後面出現 R 的問題,
而是只要是一連串可以交換的動作都應視為無聊,
舉例來說 "R L R L R L R L" 這一串東西的結果根本等於沒動,
即便裡面並沒有連續的 R 或連續的 L,
而關鍵就在於 R 跟 L 這兩個動作之間是可交換(順序)的。
類似地,UD 也是一組、BF 也是一組。

因此若是我要寫程式的話,我會先用一個 1~3 的亂數決定接下來要用哪一「組」,
然後再用兩個 1~4 的變數分別決定這組當中的兩種動作各自是怎麼轉
(1 代表正常、2 代表轉兩下、3 代表 '、4 代表不動),用這種方式去產生 SC。
當然我另外會需要一個變數去追蹤目前已經用掉了幾個動作
(考慮到當前述亂數出現 4 的時候就少掉了一個動作),以便控制總長度。

這麼一來應該是可以很充分地把那些我們不想要的情況排除掉才對。

--
錢,真的是萬能的。

——如果你不這麼覺得的話,那只是因為你的錢還不夠多而已。

--

All Comments

Skylar Davis avatarSkylar Davis2009-03-10
#19GISPne 這篇也可以看一下
Oscar avatarOscar2009-03-10
做法不太一樣,不過考慮到的東西是相同的
Olivia avatarOlivia2009-03-12
推!也許可以參考國際比賽轉亂規則...