【搗蛋豬新創(chuàng)Unity/電路】開造之前:魔方
游戲作者:原野與森林
今天我?guī)е蠹沂执昴Х?/p>
首先我們要先認(rèn)識魔方

眾所周知,魔方可以看成一個正方體,有六個面
一般認(rèn)為,藍(lán)色是前面,紅色是右面,黃色是上面(可以推得藍(lán)色的反面綠色是后面,同理,橙色是左邊,白色是下面)
網(wǎng)絡(luò)上通用的魔方的公式中
F代表Front 前面,前面順時針轉(zhuǎn)90度
U代表Up 上面,上面順時針轉(zhuǎn)90度
R代表Right 右面,右面順時針轉(zhuǎn)90度
B Behind,D Down,L Left 以此類推
而F'(右上角加了“ ' ",這個代表逆時針)

這里說一下,魔方并沒有某些人想象那么難,很多人魔方小學(xué)三四年級就會了(正常智商水平)。UP主的魔方是六年級學(xué)會的,大概用了兩天。
其他關(guān)于魔方最基礎(chǔ)的內(nèi)容,請去某度搜索或去某乎提問(這里不在多扯)

接下來的問題是魔方該怎么表示
面的排列:
作為一個三維的正六面體的魔方,在二維中應(yīng)該

(熟悉真正的魔方后,這樣轉(zhuǎn)換其實很順眼,至少是最順眼的方式)
塊的顏色:
在搗蛋豬,狹義上可以認(rèn)為有顏色的只有兩種東西:光組件和染色框(染色框生成器)
使用光組件是毋庸置疑的,因為它延遲低,占地小,但是

不過

目測,五個光組件就能帶來不錯的視覺效果(不錯的視覺效果:指看起來不是很淡)
但是作為一個二維游戲,以常規(guī)方式放這樣的五個光組件是無法實現(xiàn)的,但我們有這個

顯示問題解決了.jpg

用0和1表示魔方的每個面:

規(guī)律指:前后面第一個數(shù)為零,上下面第二個數(shù)為零,左右面第三個數(shù)為零,后面下面左面最后一個數(shù)為零

正文開始
我們可以看到,一個魔方,「他先正面轉(zhuǎn)一下,再右面轉(zhuǎn)一下」和「先右面轉(zhuǎn)一下,再正面轉(zhuǎn)一下」所得到的結(jié)果是不一樣的,所以如果我們用電路實現(xiàn)單靠組合邏輯門是不行的,需要加上時序電路(關(guān)于時序電路是什么也請去某度搜索)
所以

上面這張圖,我花費了很長時間,中間經(jīng)歷了很多失敗,才逐漸了解的魔方的一些規(guī)律,根據(jù)這些規(guī)律畫出了棱塊的表示,角塊表示的研究失敗后,幾經(jīng)波折,發(fā)現(xiàn)角塊可以用跟它同面的相鄰的兩個棱塊表示,再多次研究后畫出來這張圖。
希望各位觀眾老爺可以給我點個贊,贊破20馬上開造魔方
上面的圖,第一個數(shù)字(棱塊,下同)代表轉(zhuǎn)前面或后面是否對該塊會有影響

第二個數(shù)字代表轉(zhuǎn)上面或下面是否對該塊有影響

第三個數(shù)字代表轉(zhuǎn)左面或右面是否對該塊有影響

以轉(zhuǎn)動正面為例,畫出魔方的時序電路的卡諾圖(也許畫的不對,大佬們可以在評論區(qū)指點)



當(dāng)然我要說一下,每個顏色都需要配一個這樣的電路
舉例:

順時針轉(zhuǎn)動正面,使紅塊和綠塊從原位置(分別記做R0,G0),移動到末位置(分別記做R1,G1)
首先,分析一下。一開始,紅色對應(yīng)R0位置的信號是1(其他顏色該位置的型號是零,綠同);點擊F按鈕后,紅色R0位置的信號應(yīng)變?yōu)?,R1位置的信號變?yōu)?(綠仍同),結(jié)合卡諾圖,這樣的效果可以實現(xiàn)(喜)
(應(yīng)該是可以實現(xiàn))
本文內(nèi)容基本到此結(jié)束
但up要招個標(biāo)()
如果真造的出來魔方,不管一個格子是8×8大還是32×32大,靠點擊一格大小的高電平來《轉(zhuǎn)動》魔方是不現(xiàn)實的,所以我們要造一個鼠標(biāo)。

還是南瓜,虛化蛋,接口,懂?
具體要求:請使用穩(wěn)定的驅(qū)動(不能用渦噴,別問我為什么)造一個可以懸停,難以翻轉(zhuǎn),可以利用開合部分承重傘來調(diào)整飛行速度,操作簡單,結(jié)構(gòu)精巧的飛行器
我隨后會在動態(tài)里面發(fā)內(nèi)嵌電路,請大家踴躍參與
完結(jié)撒花!