这是一个很粗糙控制台游戏.
如果你好奇这个游戏的操作原理, 那么你可以去这个工程的 Github仓库 看看, 或者继续往下看.
原理
在源代码 lib.js 中, 你可以在 setCommand()
方法中找到下面的代码:
javascript// command 是要设置的指令名称
// func 要执行的指令程序
setCommand(command, func) {
window[command] = command; // 将指令名称设为全局变量
Object.defineProperty(window, command, { // 设置 getter
get: func,
enumerable: true
});
}
代码解释
将要设置的指令定义为全局变量, 接着为这个全局变量设置getter.
这样, 当你在控制台输入指令时, getter便会执行刚刚设置的程序.