作者laechan (小太保)
看板mud_sanc
标题[wizs] 房间叙述随机生成
时间Mon Apr 11 12:54:58 2011
比方底下的房间。
这里有点阴暗,昏暗的灯光使你摸不清眼前人的身影。空气沉闷
且带点浑浊,带给你不舒服的感觉。不远处似乎有滴水的声音,
在沉静的空间里听得格外清楚。
这是三段句法。
也就是说,比方我们要创造的区域名为「最深隧的迷宫」,它的
特色之一就是其实房间叙述都是差不多的。
所以,我们可以建立三个句子资料库,例如句子一如下..
part1=({
"这里有点阴暗,昏暗的灯光使你摸不清眼前人的身影。",
"这里略有亮光,不过你很确定这并不是来自洞窟外的。",
"在洞窟两旁的石壁上,生长着会发出微微亮光的藓苔。",
.
.
.
});
它的长度不一定要一样,写一个专门拆句子的函数..
// 递回写法
string explode_sentence(string str)
{
int s=strlen(str);
if(s>56) // 一行28字
return str[0..55]+"\n"+explode_sentence(str[56..s-1]);
else
return str+"\n\n";
}
当资料量越大时,能随机生成的叙述就越多,甚至句子本
身还能再做拆解,如 part1 再拆为 part11, part12, ..
最後在房间的 init 这麽写即可..
void init()
{
if(!query("already_set_long"))
{
set("already_set_long",1);
set_rooms_long();
}
}
至於 set_rooms_long() 怎麽写就不再赘述。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 117.19.76.16 (04/11 12:55)