最近有点瓶颈,甚至有点儿脑残的感觉,所以花了数个小时做一点好玩的事情,转换一下脑残的状态,叫这个名字是故意的-v-
脑残星球(又称 BB 星球或 2B 星球)
主要位于一维空间之中(未来可能拓展出新的维度),脑残星球的一大特点是在高一级维度看来成圆环状首尾相接。
Birus
脑残星球上的主要生命形式,其最大的特点是没有脑子,或者说和其他 Birus 共享脑子。Birus 的遗传信息由 BBCode (脑残码) 表示。
Broken
活体 Birus 在其生命活动中可以在空间中分裂出 Broken,Broken 被视做活体的一部分继续活动。一个活着的 Birus 至少为一个 Broken。(用你们人类的说法是 Thread )
Brain
所有 Birus 都连接至唯一的一个大脑,由大脑负责调度 Birus 的行动。大脑在多个 Birus 的多个 Broken 之间共享。(用你们人类的说法是 CPU)
SG
脑残空间中的最基本单位,也是活体 Birus 的最基本单位。大脑每次会按顺序依次执行每个 Broken 的一个个 SG。
Birus 的邪恶目标
停止空间中其他 Birus 的活动,或者覆盖空间中的所有 SG。
前几天看了 @chone 同学写的那个有意思的东西。于是自己也想试试,不过 javascript 对于随机生成来说命中率太低了。所以用比较符合机器识别,语法简单的汇编语言会更合适一点。
基本目标就是写一个可以运行某种汇编语言的虚拟机,然后让随机生成的代码在里面运行,然后在此基础上进行优胜劣汰和算法变异。
于是就先造了这个 CoreWar 的 RedCode 相似的汇编语言,目前为止已经完成的部分是和 RedCode 一样的。不过为了方便,未来可能会和 RedCode 有所区别。
这就是第一部分的东西了。
BBCode
目前可将 BBCode 视为一种残缺的 RedCode 方言。每行表示一个 SG (在 CoreWar 中叫做 Core ):
操作码(.操作模式)? (A模式)?A值/地址 (B模式)?B值/地址
目前只有一个很简陋的虚拟机demo,不断更新中:
http://labs.aligo.me/bb/
陆续可能会有更多调整,目前限制了脑残星球只有 32 个 SG,虽然可以更改这个限制,不过还是建议不要试着用这东西写操作系统,除非你想体验一夜回到解放前的感觉XD
欢迎各种建议意见-v-
7 Comments
totally 看不懂
…….原來你腦殘的時候是做這個…..
我腦殘的時候可否來你這裡吐槽呀……
補一句,加油哦。
@Sam 我本来想写得比较生动活泼一点。果然更加晕了orz
@Rachel 谢谢。我这里没什么人来。连我自己都不怎么来orz
牛掰。看不明白!
过来冒个泡,
–sam的同事。
你脑残的时候才做这个……那活到现在为止,连个脑残都赶不上