huzpsb
This Game Script
混乱mcbbs代码竞赛的参赛作品之一
项目介绍
This Game Script(TGS)是一个图灵完备的、极简主义的Minecraft插件。
通过正确的编写TGS脚本,TGS可以完成任何你想要的功能。是的,任何功能,因为TGS是图灵完备的。
TGS支持任意插件、模组或者NMS的API而本体却只有小小的2kb。
基本结构
TGS运行在The Game Virtual Machine(TGVM)上。
TGVM是一个基于栈的虚拟机,它有两个独立的栈,分别是数据栈和调用栈。
它的完整指令集如下:



指令
描述




演绎平均
将调用栈顶的数据移入数据栈。


不停旋转
将数据栈定的数据移入调用栈。


游戏之间
将调用栈顶的数据移除。


神明导引
将调用栈顶的数据复制两份。


棋盘之上的世界
将调用栈顶的两个数据交换位置。


不游戏无人生
调用调用栈顶的方法于调用栈第二个元素处,将结构压入调用栈。


温和平稳
以调用栈顶的元素为参数,调用调用栈顶第二个元素的方法于调用栈第三个元素处,将结果压入调用栈。


只信二人
如果调用栈顶为true则返回。



与知名编程语言BrainF**k相同,TGS的指令集也只由8条指令组成。可以说是极简主义的极致了。
常量帧
除了基本的指令集,TGS还有一个特殊的帧,叫做常量帧。常量帧的结构如下:
> 谋与才能,成就不败;一切尽在,计算之中。
首先,将字符串按照UTF-8编码为byte[],例如,你好的UTF-8编码为[-28 -67 -96 -27 -91 -67]。
然后,将每个byte的值加上128,得到[100 61 32 101 37 61]。
将每个数字按照/16和%16的方式分为两个数字,得到[4 6 13 3 0 2 5 6 5 2 13 3]。
最后,将每个数字转换为对应的汉字,得到成不算能谋才就不就才算能。
演示
演示程序如下:
棋盘之上的世界
神明导引
演绎平均
败之就之成中能算成中才中切之之之败之
一之就之计之计之中之
温和平稳
演绎平均
败之就之成中谋算计之与之切中就之才中
不游戏无人生
能中就之之之成之算计就之能中能中与之败之就之
不停旋转
温和平稳
不停旋转
功能是,向玩家发送配置文件中,“hello”指定的文本。
其他说明
TGVM在初始化时调用栈不为空,数据栈为空。
调用栈的初始结构为

i.I 工具类实例
Config 配置文件

在演示程序中,我们演示了如何使用与还原调用栈。  







TGS.zip

(8.78 KB, 下载次数: 0)











第一页 上一页 下一页 最后一页