原本打算把戰鬥系統循環整個弄好在打這篇日誌,結果有點出乎預料,純交替資料很簡單幾行程式碼可以解決,但遇到要對遊戲性的感官上做操控跟變化成了一個大考驗,結果一做就兩個禮拜,而且還沒完工,還剩"平手判斷"、"攻擊加成"、"攻擊對上盾還是有血量傷害的效果"及"最重要的勝敗北結算"。
目前的戰鬥系統
簡單介紹一下戰鬥中牌的勝負方式,有攻擊、防禦及性技。
攻擊 贏 性技(扣血量)
性技 贏 防禦(扣耐力)
防禦 贏 攻擊(扣耐力)
如圖
如圖
進入戰鬥後,敵方會依照設定按造機率顯示有哪三張牌,那三張牌的上方的機率是在另外再給予的,玩家可以參考最後會出牌的機率,使用適當的牌。
打到對方或我方其中血量值或耐力值歸0,就分出勝負,以下是目前完成70%的進度。
在這兩個禮拜處理戰鬥系統,其中最大的問題是重整牌的問題,這時才發現人腦真的是忽略一些不重的麻煩事情,可是卻用簡單的方式去處理,因為現實上根本不用處理就已經處理了。
但程式語言的世界裡並沒有這一回事。
例如 抽鬼牌,假設你有五張牌,被別人抽掉第二張及第五張時,你剩下的三張牌,順序會變成第三張變成第二張,第四張變成第三張,然後你再抽一張牌,那張會變成第四張。
這對程式來說很麻煩阿!!現實玩只有雙手用力把牌一握就是這順序了XDDD。
遊戲狀況如下~
第一步,選擇牌,這邊還做了判斷是否同一種牌可以複選,你要取消牌時點同一張牌會不選擇,最後確定選擇。
第二步,往前移動,先主看第一張牌要先判斷還在不在,不在的話再找要移動的牌往下一張牌檢查在不在,在的就移到第一張,將此移動某張牌變成不在,如果還有三張牌就要做三次。
第三步,補牌一樣會檢查第一張到最後一張有沒有牌,發現沒有牌會從此張補牌,如果達到上限會只補到上限的量,不會再多。
看似現實邏輯很簡單,但程式有夠難寫,中間我還要穿插敵我雙方效果反應,以抽鬼牌來說就是你要怎樣演到讓對方抽錯牌。
這次的工作日誌就到這裡了。
沒有留言:
張貼留言