[wizs] 房間敘述隨機生成
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間15年前 (2011/04/11 12:55)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/2 (看更多)
比方底下的房間。
這裡有點陰暗,昏暗的燈光使你摸不清眼前人的身影。空氣沉悶
且帶點渾濁,帶給你不舒服的感覺。不遠處似乎有滴水的聲音,
在沉靜的空間裡聽得格外清楚。
這是三段句法。
也就是說,比方我們要創造的區域名為「最深隧的迷宮」,它的
特色之一就是其實房間敘述都是差不多的。
所以,我們可以建立三個句子資料庫,例如句子一如下..
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)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
19