Re: [閒聊] 灌個水, coding 一下吧!!
※ 引述《laechan (小太保)》之銘言:
: // XX農場
: // 先不寫花、動物、裝飾、肥料、飼料、放蟲、放草等
: inherit ROOM;
: mapping farms=([]), // 農田資料
: bag=([]), // 袋子資料
: warehouse=([]), // 倉庫資料
: seeds=([]); // 種子資料
: /*
: seeds=(["pear":
: (["name":"梨子", // 作物名稱
: "value":5150, // 購買價
: "seasons":3, // 類型(可收成幾季)
: "mellow_time":40, // 成熟時間
: "mellow_again":14, // 再成熟時間
: "output":40, // 預計產量
: "unit_price":112, // 單個售價
: "grow_lines":({10,8,8,7,7}), // 發芽→小葉→大葉→開花→成熟
: ]),
: ]),
: */
假設完全仿照 XX農場 將系統寫在 mud 內了,個人認為該系統
的關鍵在...
一、事件觸發(長草/長蟲/乾旱)的寫法
二、農場指令要使用 add_action() 方式或用 input_to 方式
三、在 mud 裡玩農場可獲得什麼好處
四、農地畫面如何顯示
一的部份,依照實際接觸 XX農場 的感覺,應該是呼叫一次事件
觸發函數後,就接著設定「最早何時再次觸發」。
void 事件觸發函數()
{
foreach(farm in 所有農地)
farm->init_event();
}
void init_event()
{
隨機出現事件;
事件控制;
// 例如出現長草事件,草最多長幾株;
// 例如出現長蟲事件,蟲最多長幾條;
// 例如出現乾旱事件,乾旱狀態還留著時就不再出現;
設定下次該塊農地再出現事件的時間;
}
則理論上n塊農地的下次再事件時間就會互相不同。
(不過依 XX農場 寫法,顯然設定時間的部份並非寫在每塊農地
的 init_event 中,而是寫在 事件觸發函數 中)
二的部份,使用 input_to 的好處,即是玩家每按一次 enter,
即更新一次農地畫面,以及相關指令不再需要給定指令名字,玩
家只需透過輸入像是 1 2 3 或是 a b c 即可操作各種選項。
但是它的缺點就是資料會被頻繁載入、input_to 被大量使用、以
及資料的正確性,不過透過適當的寫法倒可以避免掉這些缺點,
例如加入載入時間控制、節省 input_to 以及資料的即時check等
三的部份,例如 XX農場 是得到金幣與經驗值,實際上 mud 也是
有金幣與經驗值,可行的寫法之一,就是讓玩家種田可得到玩家自
身的經驗值─也就是可做為打怪練功之外的另一種選擇。
而得到的金幣同樣也能當做玩家自身可運用的金幣,這時種田就可
當成是在遊戲內進行的投資行為(拿錢買種子→收獲後得到更多的
錢),此時「另一貨幣」就可以結合 mud 內原先使用的貨幣「外加
其它數值參數」來做為交換條件。
例如個人所經手的 mud 裡面有線上投票系統,我就可以設定,有
參與線上投票的人可以獲得「一枚」的該種貨幣,這時自然可以期
望在遊戲內熱心於種田事務的人會多多參與線上投票。
最後是農地畫面的部份,這個是各人有各人的做法,我個人曾嚐試
畫過 4x4 的農地,個人覺得共通的問題如下..
一、如何設計各種參數於農地中的顯示樣式
二、如何寫的精巧,使農地畫面每次載入時不會造成太大負擔
三、如何設定使用者介面(add_action 式 or input_to 式)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.123.157
推
11/14 09:23, , 1F
11/14 09:23, 1F
推
11/14 09:54, , 2F
11/14 09:54, 2F
→
11/14 09:55, , 3F
11/14 09:55, 3F
→
11/14 09:55, , 4F
11/14 09:55, 4F
推
11/14 15:41, , 5F
11/14 15:41, 5F
→
11/14 16:20, , 6F
11/14 16:20, 6F
→
11/14 17:12, , 7F
11/14 17:12, 7F
→
11/14 17:13, , 8F
11/14 17:13, 8F
推
11/14 17:59, , 9F
11/14 17:59, 9F
→
11/14 18:27, , 10F
11/14 18:27, 10F
→
11/16 18:56, , 11F
11/16 18:56, 11F
→
11/16 21:01, , 12F
11/16 21:01, 12F
→
11/16 21:02, , 13F
11/16 21:02, 13F
推
11/17 18:10, , 14F
11/17 18:10, 14F
推
11/17 22:59, , 15F
11/17 22:59, 15F
→
11/18 21:22, , 16F
11/18 21:22, 16F
→
11/18 23:31, , 17F
11/18 23:31, 17F
推
11/26 01:44, , 18F
11/26 01:44, 18F
→
12/06 21:50, , 19F
12/06 21:50, 19F
→
12/06 21:50, , 20F
12/06 21:50, 20F
→
12/06 21:51, , 21F
12/06 21:51, 21F
→
12/06 21:51, , 22F
12/06 21:51, 22F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):