我编写了一些基本的 2D 射击游戏,就目前而言,它们运行良好。为了利用我的编程知识,我决定使用一种简单的脚本语言来扩展我的游戏以控制某些对象。目的更多是关于编写脚本解析器/执行器的一般设计过程,而不是随机对象的实际控制。
因此,我目前的想法是使用一个 lambda 表达式容器(可能是一个映射)。当解析器读取每一行时,它将确定表达式的类型。然后,一旦它决定了指令的类型并发现了它必须使用的任何值,它就会打开映射到表达式的类型并将它传递给它需要工作的任何值。
一个或多或少的伪代码示例是这样的:
//We have determined somehow or another that this is an assignment operator
someContainerOfFunctions["assignment"](whatever_variable_we_want);
那么,你们觉得这样的设计怎么样?
最佳答案
不是要劝阻你,但我认为你会从将 Squirrel 或 Lua 之类的东西嵌入到你的项目中并学习使用 API 和语言本身中得到更多。这样做的好处是您将获得良好的性能,而无需考虑实现。
从头开始实现脚本语言(即使是基本语言)是一项艰巨的任务,尤其是当您以前没有做过的时候。
关于c++ - Lambda 表达式和脚本解析——这是一个好的设计理念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1495778/