森林蝙蝠
缘起于这个问题:https://www.zhihu.com/question/320253846/
然后我在某个群里吐槽了一下那个转载别人还12k赞的答案,然后有大神别出心裁,说你可以实现一个brainf**k,由于编程语言是图灵完备的,某种意义上也是造了一个电脑。
为什么是brainf**k呢,因为这个语言输入很简单,只有8个指令,易于管理施工。

当然,编译器是要有目标语言的,在MC中要有一个有意义的输出的话,还是CB更好一些。
我手上的金粒就这些,见谅。



KaedeLen
我说的是运行 Brain** 代码的“机器”啦!
我说的是运行 Brain** 的机器啊啊啊啊啊啊啊啊啊啊——
我说的是运行 Brain** 的机器呦
我说的是运行 Brain** 的机器哦

MashKJo
所以你想问什么……

BobPlayer
本帖最后由 浅念哥 于 2019-5-10 03:03 编辑

Minecraft: Redstone Brainfk Computer - Author: Grant Bakker
Youtube:https://www.youtube.com/watch?v=fZzcYkgkQ-I
Twitter:https://twitter.com/bakkerthehacker
Brainfk World.zip 链接: https://pan.baidu.com/s/17_gmIhg7Lm_-zkNrtsUMNw 提取码: j5q4
Brainfk Textures.zip 链接: https://pan.baidu.com/s/1EgnS6kIc2rXgnhtH0zFWUQ 提取码: aa5m
Minecraft_ Redstone Brainfk Computer.mp4 链接: https://pan.baidu.com/s/16aIdqWVaJmC77k1cA7AT7g 提取码: 73xv
我的世界红石Brainfk计算机:https://www.bilibili.com/video/av52031670/





森林蝙蝠
浅念哥 发表于 2019-5-10 18:45
Minecraft: Redstone Brainfk Computer - Author: Grant Bakker
Youtube:https://www.youtube.com/watch?v ...

注意,是编译成CB指令。

langyo_v3
森林蝙蝠,您好。

本人准备单独为您定制一份红石计算机的地图,但在正式开工前需要确定一些问题:
1. 您需要的每个数字操作位的位数?(个人建议 8 bits,正好配对输出 ASCII 码的大小)
2. 您想要以何种方式输入数据?是以纯红石拉杆还是以命令方块控制 tellraw 写成的控制台?
3. 您需要多大的内存?或者这么问,您需要这台计算机能存储多少个单位的数据?
4. 您是否需要自定义指令集?(默认为本人为您制作一个仅 3 bits 的定长字节集)
5. 是否需要流水线与旁路加速?(加入流水线会加大研发周期,但运算速度会有所提升,达到尽可能大的吞吐量)

如有任何其它需求,也可一并提出~

如果回复,默认为本人开始接单进行建造,届时本人希望您不要放本人的鸽子...

森林蝙蝠
langyo_v3 发表于 2019-5-11 01:36
森林蝙蝠,您好。

本人准备单独为您定制一份红石计算机的地图,但在正式开工前需要确定一些问题:

你确定有认真读题?是把输入的任意bf指令(拉杆或者cb无所谓)编译成任意cb指令在cb中输出,不是激活cb输出已有的指令。
内存大小64kb应该就可以了。

langyo_v3
森林蝙蝠 发表于 2019-5-11 08:34
你确定有认真读题?是把输入的任意bf指令(拉杆或者cb无所谓)编译成任意cb指令在cb中输出,不是激活cb输 ...

您的意思是,接收一系列的 brainfu.ck 命令,将其转换成 Command Block Function 进行输出?

如果是这样的话,我很疑惑您为何一定要将其以红石电路的形式实现,如果是写一个软件进行转换的话,这会轻松得多……

我确定下需求,您是需要先接收一系列 brainfu.ck 命令,将其经由红石电路进行硬编译后,再将结果以 tellraw 命令的形式输出?

森林蝙蝠
langyo_v3 发表于 2019-5-11 17:40
您的意思是,接收一系列的 brainfu.ck 命令,将其转换成 Command Block Function 进行输出?

如果是这样 ...

是的。
准确来说,我是看了那个问题之后,加上大佬一撺掇,就有了这种想法。
不客气说,这个问题属于恶心人的,不建议在这里浪费时间,谁要是真的做出来,那他就是国内红石和CB界的巅峰人物。

langyo_v3
本帖最后由 langyo_v3 于 2019-5-11 22:57 编辑
森林蝙蝠 发表于 2019-5-11 18:25
是的。
准确来说,我是看了那个问题之后,加上大佬一撺掇,就有了这种想法。
不客气说,这个问题属于恶心 ...

我构思了一下,用上一些很久以前我就掌握的一些 CB 模块设计方法,CB 那边相对起来会轻松很多,可能难一些的地方反而在于红石电路部分——这相当于实现一个硬件级别的编译器了。

嗯...我觉得我能帮你做,但还想确定最后一些问题:
1. 游戏平台及版本?
2. 您确定您只是想将转换好的指令输出到控制台而不是执行?
3. 该存档完工后是否可由本人主动公开?

森林蝙蝠
langyo_v3 发表于 2019-5-11 22:52
我构思了一下,用上一些很久以前我就掌握的一些 CB 模块设计方法,CB 那边相对起来会轻松很多,可能难一些 ...

版本1.12以上任意。
能执行最好;
你的存档随便公开;
是否能在一个月内完成?若不能,我就要关闭此贴收回3000金粒。

langyo_v3
森林蝙蝠 发表于 2019-5-12 01:37
版本1.12以上任意。
能执行最好;
你的存档随便公开;

一个月么...

行吧,我尽可能快赶出来吧

langyo
本帖最后由 langyo 于 2019-5-20 12:10 编辑

我已为你的需求专门创建代码仓库,你可以 watch 这个仓库

@浅念哥

https:/./github.com/langyo/brainfu.ck-compoiler-mcfunction

请注意以复制粘贴的形式访问无法成功,因为我加入了 0px 大小的字,用于避开论坛敏感字屏蔽机制

(另外,我有点纳闷,我刚创建这个仓库的时候就有 2 人 star 了我的仓库,原因未知)

langyo_v3
本人已主动放弃该悬赏,理由是经过询问发觉问题实在太恶心,精力不足,有心无力

但为此创建的仓库仍然有效,将会以完全纯函数包的形式实现,可以直接安装在 1.14 版本的任意存档上

@浅念哥 抱歉,让你失望了,我没有能力做出来这种太过恶心的东西,不过我仍然能退而求其次,好歹写个纯命令方块的