
最近看了 mv shelter,心里迟迟不能平静。
痛苦,孤寂,绝望..
好的剧情真的可以震撼心灵!突然有了强烈的创作欲望!
身为程序员,当然选择在命令行上跳舞,命令行上的幻想世界...互动小说!
于是先 lu 出来了一个框架: cmd-alive(灵感源自 date a live)>
npm i -g alive // 默认打开 demo。自动从上次进度开始。 alive 命令:
参考 demo(文件位置 /example/shelter)
两种文件是必须的 .js, .ca.
.ca:小说内容,每一节要有 label 标识. 必须包括start, end label
.js:流程控制,js 函数, 函数名和返回值必须是 label。可以访问全局对象 ctx,用来获取当前用户输入,过去用户输入,挂载状态等等,辅助实现 game 逻辑.
示例 : .ca:
$start: A nice day. choices: a. go to 2a. b. go to A LOOP. $2a: Then? No choice. $loop: You can't excape. $end: Think you. .js
function $start() { if (ctx.cur === "b") { return $loop; } if (ctx.cur == "a") { return $2a; } return $start; } function $2a() { return $end; } function $loop() { return $start; } function $end() { // dumb } 1 IOriens 2018-11-10 19:43:56 +08:00 蛮有意思的 |