欢迎光临散文网 会员登陆 & 注册

【捣蛋猪新创Unity/电路】开造之前:魔方

2022-11-13 00:29 作者:一头核桃  | 我要投稿

游戏作者:原野与森林


今天我带着大家手搓魔方

首先我们要先认识魔方

网上找的图,侵删

众所周知,魔方可以看成一个正方体,有六个面

一般认为,蓝色是前面,红色是右面,黄色是上面(可以推得蓝色的反面绿色是后面,同理,橙色是左边,白色是下面)


网络上通用的魔方的公式中

F代表Front 前面,前面顺时针转90度

U代表Up 上面,上面顺时针转90度

R代表Right 右面,右面顺时针转90度

B Behind,D Down,L Left 以此类推

而F'(右上角加了“ ' ",这个代表逆时针)

加张图方便理解

这里说一下,魔方并没有某些人想象那么难,很多人魔方小学三四年级就会了(正常智商水平)。UP主的魔方是六年级学会的,大概用了两天。

其他关于魔方最基础的内容,请去某度搜索或去某乎提问(这里不在多扯)


接下来的问题是魔方该怎么表示

面的排列:

作为一个三维的正六面体的魔方,在二维中应该

这样?表示

(熟悉真正的魔方后,这样转换其实很顺眼,至少是最顺眼的方式)

块的颜色:

在捣蛋猪,狭义上可以认为有颜色的只有两种东西:光组件和染色框(染色框生成器)

使用光组件是毋庸置疑的,因为它延迟低,占地小,但是

颜色有些淡

不过

多堆几个不就行了(

目测,五个光组件就能带来不错的视觉效果(不错的视觉效果:指看起来不是很淡)

但是作为一个二维游戏,以常规方式放这样的五个光组件是无法实现的,但我们有这个

南瓜,虚化蛋,接口,懂?我就不细说了(懒)

显示问题解决了.jpg

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

建议自己找规律先

规律指:前后面第一个数为零,上下面第二个数为零,左右面第三个数为零,后面下面左面最后一个数为零

正文开始

我们可以看到,一个魔方,「他先正面转一下,再右面转一下」和「先右面转一下,再正面转一下」所得到的结果是不一样的,所以如果我们用电路实现单靠组合逻辑门是不行的,需要加上时序电路(关于时序电路是什么也请去某度搜索)



所以

我用了数字表示了每个色块

上面这张图,我花费了很长时间,中间经历了很多失败,才逐渐了解的魔方的一些规律,根据这些规律画出了棱块的表示,角块表示的研究失败后,几经波折,发现角块可以用跟它同面的相邻的两个棱块表示,再多次研究后画出来这张图。

希望各位观众老爷可以给我点个赞,赞破20马上开造魔方


上面的图,第一个数字(棱块,下同)代表转前面或后面是否对该块会有影响

画图帮助理解

第二个数字代表转上面或下面是否对该块有影响

草,不知道为什么就这个图片是正的(

第三个数字代表转左面或右面是否对该块有影响

薛定谔的倒正(

以转动正面为例,画出魔方的时序电路的卡诺图(也许画的不对,大佬们可以在评论区指点)

卡诺图好像是这么画(
应该就是这么表述吧(

当然我要说一下,每个颜色都需要配一个这样的电路

举例:

如图

顺时针转动正面,使红块和绿块从原位置(分别记做R0,G0),移动到末位置(分别记做R1,G1)

首先,分析一下。一开始,红色对应R0位置的信号是1(其他颜色该位置的型号是零,绿同);点击F按钮后,红色R0位置的信号应变为0,R1位置的信号变为1(绿仍同),结合卡诺图,这样的效果可以实现(喜)

(应该是可以实现)


本文内容基本到此结束

但up要招个标()

如果真造的出来魔方,不管一个格子是8×8大还是32×32大,靠点击一格大小的高电平来《转动》魔方是不现实的,所以我们要造一个鼠标。

迫真鼠标,Up不会造飞行器(造个简易小车来,来那个什么

还是南瓜,虚化蛋,接口,懂?



具体要求:请使用稳定的驱动(不能用涡喷,别问我为什么)造一个可以悬停,难以翻转,可以利用开合部分承重伞来调整飞行速度,操作简单,结构精巧的飞行器

我随后会在动态里面发内嵌电路,请大家踊跃参与

完结撒花!

【捣蛋猪新创Unity/电路】开造之前:魔方的评论 (共 条)

分享到微博请遵守国家法律