[wizs] 房間敘述隨機生成

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間15年前 (2011/04/11 12:55), 編輯推噓0(000)
留言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)
文章代碼(AID): #1DeeccUy (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1DeeccUy (mud_sanc)