KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

超·论坛代码"GB Plus!"发布!

[ 82090 查看 / 15 回复 ]



+ GameBook Plus! ----------

一起来写游戏吧。^^

使用论坛代码"GB Plus!",可以创造出各种有趣的GameBook(游戏书?)。

对GameBook没有概念的话可以去玩一玩『这里是心跳☆高中』

本次发布的论坛代码是上次的"GB"代码的一次升级,追加了很多新功能,进化至"GB Plus!"。

"GB Plus!"代码支持内容的分页显示,支持变量定义与计算,以及条件页面跳转和随机页面跳转,以及模板变量,并附带一个调试台。

使用"GB Plus!"代码可以实现各种基于选项和记分的测验、占卜、冒险等文字游戏。

对于传统的帖子,内容分页的功能也有助于更好地组织帖子的内容。

爱生活,爱"GB"。一起来使用吧。^^


+ 示例 ----------


GameBook("『小白兔的旅途』");


* 说明 ***

以上游戏移植于米菲剧场的示例。

因为使用了大量的条件跳转,代码会显得很复杂,写起来也很花时间。

以上示例的主要意图是证明“连这种事情啊那种事情啊都可以做哦”,用以演示GB Plus!能强大到什么程度。

实际使用中,大家可以根据自己的根性量力而为。


* 代码 ***

为了节省篇幅,使代码的结构清晰可见,以下代码中去掉了实际的代码中用于排版和样式的UBB标签,只保留了核心代码。

点击展开



+ 使用说明 ----------


* 代码结构 ***
[ gb=标题]

{debug/}

注释
{#}
  {@标识符 , 算式}链接{/@}
{/#}

注释
{#标识符}
  %变量名%
  {@标识符 , 算式}链接{/@}
{/#}

注释
{$标识符 , 变量名}
  {数值 , 标识符}
  {数值 , 标识符}
{/$}

[/gb]



* 流程 ***

要创造一本书,首先需要定义一些"节点",以及连接各个节点的"边"。

"节点"包括页面节点,以及控制链接跳转方向的传送点。

"边"对应于页面中定义的链接。用户可以点击链接,跳转到不同页面。

从计算机专业的角度换句话说,"节点"和"边"定义了一个图,或者说是定义了一个自动机。

系统根据用户的点击,在不同的节点之间互相切换,显示不同的页面。


* [ GB=标题][ /GB] ***

定义一本书。

标题通常是一段文字描述,可包含部分论坛代码。

点击标题后展开或者合上书。

[ GB=标题]与[ /GB]之间可插入代码段,注释,以及调试开关。


* 代码段 ***

定义一个节点或一条边。

例如标签{#}与{/#}之间的代码,包含标签本身,定义了一个节点。这称为一个代码段。


* 注释 ***

代码段之间可以添加注释。

在不引起与代码段混淆的情况下,注释可以使用任何内容。

注释中不要使用半角"-"号,有可能引发错误。


* {debug/} ***

注释中包含"{debug/}"时,开启调试模式。

调试模式下,代码执行过程中的变量计算、节点移动等状态信息将显示在额外的调试台里。

调试模式可以帮助用户在书写代码的过程中检查错误,分析代码执行流程。

正式发布时建议去掉“{debug/}”以关闭调试模式。


* {#标识符}{/#} ***

定义一个页面节点。

标识符为空时,该页面节点作为首页。

{#}与{/#}之间可以插入链接,模板变量,以及任何论坛代码。


* 标识符 ***

节点的唯一标识,可以使用除半角","号以外的便于理解和使用的任意字符。

同一本书中的标识符不可重复。


* %变量名% ***

定义页面中的模板变量。

页面显示时,模板变量会替换为对应的数值。

例如变量"day"等于7,某页面包含"第%day%天",该页面显示时,显示结果为"第7天"。


* 变量 ***

用户在脚本中自定义的变量。

变量主要用于页面的条件跳转。

变量名可以使用除半角","号以外的便于理解和使用的任意字符。


* {@标识符 , 算式}链接{/@} ***

定义一个节点指向另一个节点的链接。

用户点击链接后,系统跳转到与标识符对应的节点,并利用算式更新变量的值。

标识符为空时,跳转到首页。

算式为空时,跳转时不更新变量。

{@}与{/@}之间可以插入部分论坛代码。


* 算式 ***

定义点击链接时伴随的运算操作。

格式:[变量名] [运算符:+-*/=] [数字]

示例:"x + 5"、"neko_number = 1"、"经验值 / 2"

运算符使用 + - * / = 之一。

运算时,[变量名] = [变量名] [运算符] [数字]。例如"x + 1"对应于 x = x + 1。

当变量名第一次出现时,系统自动创建该变量,并将其值初始化为0。

除号"/"使用整除计算。例如x等于5时,算式"x/2"运算后,x等于2。

等号"="使用赋值运算。例如x等于5时,算式"x=3"运算后,x等于3。


* {$标识符 , 变量名} {数值 , 标识符} {/$} ***

定义一个传送节点。

变量名等于半角“?”号时,定义一个随机传送节点。

系统逐一对比指定变量与{$}{/$}之间定义的跳转条件,满足条件时跳转至相应节点。

{$}与{/$}之间可以包含多对形如 {数值 , 标识符} 的跳转条件定义。

数值为整数,如:5、0、-1,标识符为节点标识符。

按照跳转条件定义的先后顺序,系统依次对比“数值”与“变量”。

当第一次满足“变量”小于等于“数值”的条件时,跳转到该数值对应的节点。

最后一组跳转条件定义必须使得“变量”满足小于等于“数值”,否则会因为没有适合的跳转条件而发生错误。

因此最后一组定义中的“数值”可以取一个足够大的值,比如9999。

随机传送节点的情况下,系统用值为0~99之间的随机等概率整数取代变量名对应的值,完成上述对比。
最后编辑悠久ノ風 最后编辑于 2009-06-14 22:51:25
本主题由 管理员 悠久ノ風 于 2009/6/14 14:05:06 执行 设置高亮 操作
分享 转发
俺は俺であり、そして俺はここにいることを証明し続けるため——
TOP

回复:超·论坛代码"GB Plus!"发布!

GB的升级版?加了什么新功能呢?
TOP

回复: 超·论坛代码"GB Plus!"发布!

原帖由 悠久ノ風 于 2009-6-14 14:04:00 发表
"GB Plus!"代码支持内容的分页显示,支持变量定义与计算,以及条件页面跳转和随机页面跳转,以及模板变量,并附带一个调试台。


话说调试台是什么....下面的介绍没有提啊....会不会是代码自动错误检测啊...

=================================================================================
还是 没明白调试台是做什么的....


=================================================================================
突然茅舍顿开....明白过来...果然是有爱的调试台....避免错误了...
最后编辑团子大家族201723 最后编辑于 2009-06-14 14:56:11

TOP

回复:超·论坛代码"GB Plus!"发布!

调试台啊 看看示例里边的小白兔就知道了
俺は俺であり、そして俺はここにいることを証明し続けるため——
TOP

回复:超·论坛代码"GB Plus!"发布!

:miffy2: 总是有错误~!
TOP

回复:超·论坛代码"GB Plus!"发布!

看到2F的GB升級有什麼用這句話時,我就狂笑.........
咳,抱歉,抱歉.....我直接聯想到某個人........(光速逃)
麻,新代碼我就純支持  (我就不知道會不會用到了.......)
樓上說總有錯誤?!
怎樣的錯誤.....?
水羊不可一日無牡丹!!!
你今天膜拜牡丹神了沒??
TOP

回复:超·论坛代码"GB Plus!"发布!

晚上到了。

“已经一根萝卜都没有了啊。”
“看来俺的日子也到头了...”
谁也不知道的寒冷的深夜里,小白兔去了天国。

- Game Over -
--------------
去了天国 小白兔你好。小白兔再见
TOP

回复:超·论坛代码"GB Plus!"发布!

嗯,貌似这样的话Save / Load 也是可能的。。。。

有根性的淫,站起来吧~
模范好人活雷锋爱女儿胜过爱老婆女儿汐的爸爸喜欢给老婆换装富有、阳光、和谐的程序员领导心中的金牛座工作模范为家庭抛弃二次元的 服务器魔王Bce
L.B四个月,最喜欢看小女生跳皮筋。Orz
L.B五个月,最喜欢的玩具是键盘。 Orz
L.B六个月,哄睡觉的方式是抱着不停的上下楼梯。 Orz
L.B七个月,开始招猫逗狗撵鸽子。 Orz
L.B八个月,四颗门牙咬咪咪。 Orz
L.B九个月,啊呜啊哇啊呜啊不啊呀啊爸。 Orz

Laputa Chen (1984-2012) 我们一定会在量子的海洋中再会的。
TOP

回复:超·论坛代码"GB Plus!"发布!

哦,就前些日子测试那段代码吧,话说lz的图让咱想到了映射……
TOP

回复:超·论坛代码"GB Plus!"发布!

上次在团子星试了一下…………不知道是不是没有去掉空格的问题呢……结果代码全都出来了…………啃

好好学习,为了早日使用好GB~~(逃)
TOP