幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: CountD

[KR] [分享]KRKR的养成游戏[日文]

[复制链接]

18

主题

428

帖子

5260

积分

⑦老手

在美工荒中挣扎的全能

积分
5260
QQ
发表于 2006-10-12 21:26:50 | 显示全部楼层
话说有个KAG的加强版叫做KAGEX……那就有sysbutton和按页/行存档的支持……
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2006-10-12 21:36:04 | 显示全部楼层
引用第20楼Miliardo2006-10-12 21:26发表的“”:
话说有个KAG的加强版叫做KAGEX……那就有sysbutton和按页/行存档的支持……

那什么……能麻烦丢个地址么……?
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2006-10-12 22:08:24 | 显示全部楼层
引用第7楼shawind2006-10-12 11:33发表的“”:
很久没碰过krkr的了,凭印象说说
随时存档和读档的关键函数是saveBookMarkToFileWithAsk()和loadBookMarkFromFileWithAsk()
都在mainwindows.tjs里面。
把这两个函数修改修改,放在按钮的触发事件里面,就可以使用游戏里面的界面来控制save&load了。

呼叫之后能返回的函数是这个……嗯~

; ロードボタンをクリックしたら、system.ksのサブルーチン*loadを呼び出す
[button graphic="load_button.png" exp="kag.callExtraConductor('system.ks','*load')"]

接下来剩下的问题就只有记录行号了~[s:2]
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2006-10-12 23:09:09 | 显示全部楼层
引用第19楼CountD2006-10-12 21:01发表的“”:


怎么会没有数组和结构体呢?
配列和辞书变数不就是么……
而且还是相当方便的类型。
.......

配列的话,看到的例子是 var x = new array();
貌似这个Array只是一维数组吧。
完整数组功能应该可以多维的,而且目前我还没看到tjs有多维数组的例子。
例如int x[5][13],四花色,加两张小丑,正好放进去一副扑克,呵呵

至于辞书,这和结构体差的远了点,大致相当于c语言里面的enum枚举
例子
var color = new Dictionary();
color["red"]   = 0xff0000;  // 赤
color["blue"]  = 0x0000ff;  // 青
color["green"] = 0x00ff00;  // 緑
c语言里面用枚举的话
enum color{ red,blue,green};
大体的意思应该是差不多的。

日本人解说是:「辞書」とは、キーと変数の組をセットにした、順序つけされていない配列です(連想配列、ハッシュと言うこともあります)。個々の変数にはキーと呼ばれる文字列を使ってアクセスします

似乎没有用它来描述数据结构的意思。

如果有结构体的话,伪代码:
struct 扑克
{
int 扑克的序号;
int 显示在屏幕上的位置[x][y];
bool 扑克正反面;
int 此张扑克的拥有者;
.....
} ;
然后来一个 "扑克 一副扑克[54];"
一口气把五十四张牌全部搞定,无疑方便不少
但好像用tjs中的类也可以模仿出类似的东西,不过我不会。 [s:6]


当然这多半是我不能完全理解tjs的精髓吧,我自己很早以前就是自己学c的,思路已经被c给拐跑了。
え~え~お!!!
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2006-10-12 23:21:49 | 显示全部楼层
确实有多维数组哦。
; 配列の要素に配列を代入すれば二次元配列(や三次元配列)を作ることもできる(面倒だが)
[eval exp="tf.arr2 = []"]
[eval exp="tf.arr2[0] = []"]
[eval exp="tf.arr2[1] = []"]
[eval exp="tf.arr2[0][0] = 5"]
[eval exp="tf.arr2[0][1] = 10"]
[eval exp="tf.arr2[1][0] = 50"]
[eval exp="tf.arr2[1][1] = 100"]
这个是game dev里的举例。
既然二维和三维是可以的,那么再多几维估计也没问题(就是在KAG里定义麻烦了点?)

然后说到结构体的问题,因为KRKR的变数本身并没有规定类型,所以一个数组实际上就可以当作结构体来使用了。 范例里也是在同一个数组里放入整型、浮点型、文字列……[s:4]

不过现在的说明档基本没有把配列和辞书部分讲清楚,唉。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2006-10-12 23:28:53 | 显示全部楼层
原来真有多维的用法 OTL
多谢你的资料。
但是,结构体的不只是用来存放数据,最重要的是用来描述一个数据结构,
然后把这个数据结构当成是一个新的数据类型来使用。
这一点是数组无法模仿的。
不过,还是算了,既然已经放弃了,便不再回头。 [s:1]
え~え~お!!!
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2006-10-12 23:36:33 | 显示全部楼层
那倒是,数组毕竟还是麻烦。

不过用TJS定义一个类什么的肯定管够了。再怎么说作为一种语言连这个都搞不定那也太惨了点。
好像KRKR本身的脚本里确实也有很多地方用到。[s:4]
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2006-10-12 23:44:25 | 显示全部楼层
这么一说我倒是想起来了,好像那个游戏的窗口就是用了一个类来描述的。
然后从这个类继承了一个,来做yes no的那窗口。
如果用一个类来描述一张牌的话,连续弄出54个子类,就可以当一副纸牌玩了。 [s:5]
只是,这么多的类,在c风格的程序里面从来没见过这么有个性的用法,感觉很不习惯。
具体的解决问题,应该是另外一个思路。或许可以找一个日本人做的例子来看看。
え~え~お!!!
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2006-10-12 23:49:21 | 显示全部楼层
C好像是面向过程的……
TJS……据介绍,是有部分面向过程特性的面向对象的语言(啥?)
风格不一样也是当然的。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2006-10-13 00:14:08 | 显示全部楼层
https://sv.kikyou.info/trac/kirikiri/browser/kirikiri2/trunk/kag3ex

kag3ex?似乎是krkr作者自己写的。是cvs站点上的,下载起来比较麻烦一点,需要另外装支持SVN的cvs工具。反正我是没成功过[s:8]

http://ruriko.denpa.org/kagex20060525.zip

kag3ex的一个例子
え~え~お!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-3 18:12 , Processed in 0.026536 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表