红石电路吧 关注:32,163贴子:152,748

【TheRedPixel】十滴水(Tendrops而非rheo-camphoradin)

只看楼主收藏回复


阿散乱开光影折磨显卡(彻底喜欢上这个滤镜了Ow)


IP属地:湖北1楼2015-11-08 20:09回复


    IP属地:江西2楼2015-11-08 20:13
    回复

      前排微分阿散


      3楼2015-11-08 20:17
      收起回复
        大家好我是来自TRP的sine qua non
        这次带来的作品是拖坑拖了一年半的十滴水
        说到十滴水,十滴水是中成药,为暑湿类非处方药药品,棕红色至棕褐色的澄清液体;气芳香,味辛辣。主要治疗健胃,驱风。用于因伤暑引起的头晕,恶心,腹痛,胃肠不适。
        ↑以上纯属瞎掰,这次带来的是一款益智类的游戏

        ↑大概就是这样


        IP属地:湖北4楼2015-11-08 20:38
        回复
          镇楼图的月亮。。


          来自Android客户端5楼2015-11-08 20:43
          回复
            稍微讲解一下游戏规则:
            首先初始的水滴数量为10,
            水滴可以对单元格进行「加水」的操作,能使该单元格的水滴增大
            水滴总共有4种不同的状态(在mc中我设置为3个)
            当水滴饱和之后,继续「加水」将会使水滴炸裂,变成飞溅的水滴给邻近的水滴进行「加水」操作
            每有连续的3个水滴炸裂后,水滴数量将会+1
            每次给一个单元格进行「加水」操作之后,水滴数量将会-1
            在6*6=36个单元格的水滴全部被清楚之后,将进入下一关,而水滴数量将会+1
            比较纠结的就是能不能给空格子加水的问题,我以前玩的版本是不行的...然后现在玩有的行有的不行,所以就干脆制作成了「无法给空格加水」这样的
            如此直到水滴数量剩余0为止


            IP属地:湖北6楼2015-11-08 20:49
            回复
              这个作品最大的亮点在于...它真的很薄

              去掉显示屏后的厚度仅为9,和显示屏模块的厚度一致
              另外其他亮点在于延迟大,操作麻烦以及「电脑友好」(兔子语)
              ↑实际上运行的时候fps在20左右徘徊,然后cpu占用率都在78~92之间上下波动
              不过「才用了分配的4G内存的500M」(兔子如是说:我的九宫天阵用了3G)←我才明白为什么我生成一个终盘要二十分钟


              IP属地:湖北8楼2015-11-08 21:06
              收起回复

                游戏开始的按钮在背后电路的右下方,浅灰色的输入是生成游戏,灰色的输入是强制清除,强制清除时可能会出现卡顿,所以请耐心等待...


                IP属地:湖北9楼2015-11-08 21:10
                回复
                  黑科技!!!!!!!


                  IP属地:江苏10楼2015-11-08 21:14
                  回复
                    ↑以上关于配置的内容其实因人而异,事实上同一个存档我和兔子,resens,吸管玩起来是不同的感受,我玩起来是卡的一笔各种卡顿,吸管他们反映的是"很流畅,没有卡顿"所以...配置壕自动绕行


                    IP属地:湖北11楼2015-11-08 21:24
                    回复
                      接下来开始介绍显示屏模块

                      某不知名的显示屏模块,作者为阿散x镍钶(18禁内容,未成年请绕行)
                      召唤镍钶@Cvs10
                      每个显示屏模块包含伪随机,处理水滴增大的部分,显示屏,水滴的进位输出四个功能,而在去掉屏幕后的体积为10*5*7=350blocks

                      显示屏是全部由Ni来压缩的,显示屏电路体积为4*6*7=168blocks
                      比起上个显示屏的方案,Ni不仅压缩了体积而且改变了输入的位置,模块能再次得到压缩主要得益于输入位置的改变0.0

                      伪随机的部分是运用模加和投掷器-漏斗的组合来实现的,思路由阿散提供,由Ni和阿散一起压缩出来的伪随机
                      体积为4*3*4=48blocks 可以输出四种不同信号强度的信号

                      伪随机36次生成的结果,用来模拟全局生成(由于十滴水总共有6*6=36cell),从测试结果来看还是比较容易让人接受的

                      处理水滴变大的运算电路,由Ni和阿散经过多次压缩出来的运算电路,体积为6*3*5=90blocks,与旧版的方案有所不同
                      1、所用的比较器环修改为了单片的方案 [4*3*1=12blocks]
                      2、修改了运算的方法,将n-1后输出取反的改成了4-n,有效的减少了体积
                      3、由于Ni修改了显示屏输入,所以不需要比较器减法来进行衰减,直接利用红石传输过程中信号强度的衰减


                      整个显示频的结构
                      模红化的处理使模块摆脱了移位寄存器,而处理速度也很高
                      具体的模块信息详见The Display of Tendrops Mark II [10*5*7=350blocks]
                      http://tieba.baidu.com/p/3950892592


                      IP属地:湖北13楼2015-11-08 21:48
                      收起回复
                        稍微讲一下伪随机的原理
                        这个伪随机的方案依然是基于投掷器随机之上的,通过可堆叠物(红石)和不可堆叠物(床)来输出1,3两种不同的信号
                        其中一个输出进行-2的操作,最后一个漏斗会输出1,3两种信号,一个漏斗输出1,0两种信号,运用模加将两个输出相加,即可得到1~4四种不同的信号,将输出-1后得到0~3种不同信号,对应水滴的三种状态(第四种为无水滴)
                        其中比较有意思的是,-1的操作是在模加中完成的,公式为
                        (X-1)-(X-A-B)=A+B-1
                        只需要在电源上做修改就可以了

                        全局生成的测试


                        IP属地:湖北14楼2015-11-08 21:57
                        回复
                          接下来讲一下制作思路
                          在做好了显示屏的模块之后,接下来要解决的问题就是「传递给相邻的水滴」
                          如何确保只传递给最近的水滴而不是整行或者整列,就需要在进位线上下功夫
                          首先使用双向进位线的话会比较难处理,所以拆成了四条,每个方向的传递各一条
                          首先对于该单元格进行判定,若该单元格有水滴的话,则阻断通往下一格单元格的进位线
                          阻断的方法有很多种,例如中继器的锁存模式,活塞阻断,改变红石线的指向,用比较器的减法/比较模式
                          我采用的是比较器减法的那一种方案
                          而对于两个飞溅水滴同时给一个单元格加水的情况,在原版的游戏中是只有执行一次加水操作的,而传递进位信号阿散使用的是脉冲信号,两个同时到达的脉冲信号最终会合并为一个,从而只执行一次加水操作


                          IP属地:湖北17楼2015-11-09 00:42
                          回复
                            阿散触


                            来自Android客户端18楼2015-11-09 00:43
                            回复