Re: [閒聊] 飄浮高度=空中移動能力設定
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間12年前 (2013/07/17 23:26)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
※ 引述《laechan (小太保)》之銘言:
: 推 warrenchen :嗯哼~您說的是"可用攻擊技與高度差"的關係, 而小弟我 07/17 23:05
: → warrenchen :也不是想搞複雜,只是想到有關"命中"及"暴擊"甚至"特 07/17 23:06
: → warrenchen :攻(en/cast/spell)"的成功率與傷害力, 這樣? :] 07/17 23:06
剛好你提到這個我就大致提一下,比方說今天問題簡單化
為「能不能成功打到(即擊中成功率)」,則光是要計算這
個值就得納入底下的參數
1.高度差
2.自身命中率與怪物閃躲力的差別計算
3.技能使用級數
於是成功率 y = f(高度差,自身命中率,怪物閃躲力,..)
那我的想法就是
1.我們先決定「到底能不能打中」
2.剩下的才是「打中並造成傷害的成功率」
於是能否打中 y1 = f1(高度差)
打中成功率 y2 = f2(自身命中率,怪物閃躲力,級數)
則當程式滿足 y1 時才會有 y2 的計算,否則只會停在y1
階段,用白話來講
1.當彼此之間的高度差,對照玩家使用的技能,絕對打不
到時,玩家一定是打到空氣。(即 y=f1() 的計算)
2.當總算有可能打到時,才實際去計算打到的成功率。比
方說兩者之間的高度差在可攻擊的範圍內時,也是有可
能本次揮劍還是沒辦法砍到怪(比方牠很會閃或你命中不
高)。
因為很明顯的,與其引入多個參數寫出複雜的計算公式,
還不如從中抽絲剝繭,先把一兩個關鍵因素挑出來先計算
,就像與其要從五個嫌疑犯裡面找犯人,去清查他們彼此
的關係啦、調查犯案的動機啦、....,還不如努力先把不
可能犯罪的(例如有絕對不在場證明的)先剔除掉,比方成
功剔除了兩個,那從三個嫌疑犯裡面找犯人,總是比從五
個嫌疑犯裡面找犯人要單純一些。
暴擊也一樣,如果我要寫暴擊,我的做法就是
1.先判斷這傢伙本次施展出來的攻擊是否有「絕對無法暴
擊的可能因素在」,有的話程式判斷到這裡就結束,送
出「他本次無法暴擊的結果」。
2.然後才接著做像是「他有沒有可能暴擊失敗」這類的計
算,有的話程式一樣到這裡就結束,送出「他本次暴擊
失敗的結果」。
3.最後才是計算並傳回暴擊傷害值。
我個人認為程式寫久了自然就會這樣做,因為這是很自然
直覺的想法與做法。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.78.134
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章