[命令行] 互动小说!命令行也可以 have 饭!

2018-11-10 14:26:05 +08:00
 fox1955

最近看了 mv shelter,心里迟迟不能平静。

痛苦,孤寂,绝望..

好的剧情真的可以震撼心灵!突然有了强烈的创作欲望!

身为程序员,当然选择在命令行上跳舞,命令行上的幻想世界...互动小说!

于是先 lu 出来了一个框架: cmd-alive(灵感源自 date a live)

npm i -g alive

// 默认打开 demo。自动从上次进度开始。
alive

命令:


面向小说作者( opitional )

参考 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
}

repo: https://github.com/derekchuank/cmd-alive

2530 次点击
所在节点    开源软件
2 条回复
IOriens
2018-11-10 19:43:56 +08:00
蛮有意思的
fox1955
2018-11-10 20:45:49 +08:00
@IOriens 重点还是内容啊。不是作家好难写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/506437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX