Re: [程式] 關於SLG系統的寫法
就你所提到想法來說,
如果你是使用 C/C++/Java 之類的語言,
要達到「物件.方法(參數)」這樣的實作方式,
並不是很直覺能夠辦到的事情。
如果是使用 Lua/Ruby 之類的 scripting language,
這樣的實作方式或可一試。
只是要做出 SLG 下指令的 undo 功能,其實很單純,
可以利用 finite state machine + stack 的方式來完成。
1. 選人
2. 選行為
3. 選對象或目標
4. 行動中
把以上四個步驟視為各自獨立的 state,
擁有各自的執行程序、進入條件與離開條件。
然後實現出一個可存放 state 的 stack 結構,
執行中的 state 就 push 丟進 stack 裡面,
如果要 undo 的話,pop 一個元素出來,
就能夠直接回到上一個 state 的執行程序了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.87.110
推
04/10 20:54, , 1F
04/10 20:54, 1F
推
04/11 14:32, , 2F
04/11 14:32, 2F
→
04/11 14:32, , 3F
04/11 14:32, 3F
推
04/11 14:35, , 4F
04/11 14:35, 4F
→
04/11 14:37, , 5F
04/11 14:37, 5F
→
04/11 14:38, , 6F
04/11 14:38, 6F
→
04/11 14:39, , 7F
04/11 14:39, 7F
→
04/11 14:40, , 8F
04/11 14:40, 8F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
7
23
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章