3
满天星斗的星际高尔夫
Starry是一种有趣的深奥编程语言,其中的代码仅+*.,`'由每个字符所代表的实际命令由其前面的空格数确定。即使对于高尔夫球的固定输出挑战,这也使它变得棘手,因为不同的命令可以占用非常不同的字节数。特别是,数字文字具有一元表示形式,因此有必要通过对较小的数字进行运算来建立较大的数字。 因此,这个挑战是关于编写可以打高尔夫球这样的Starry程序的程序。 星空如何运作? (在esolangs上未指定一些细节,因此我将继续使用Ruby解释器的行为。) Starry是一种基于堆栈的语言,具有一堆任意精度的整数值(最初为空)。 唯一有意义的字符是: +*.,`' 和空格。所有其他字符将被忽略。每个空格序列后跟那些非空格字符之一代表一条指令。类型指令的依赖于非空格字符和数字的空格。 这些说明是: Spaces Symbol Meaning 0 + Invalid opcode. 1 + Duplicate top of stack. 2 + Swap top 2 stack elements. 3 + Rotate top 3 stack elements. That is, send the top stack element two positions down. [... 1 2 3] …