ページ 11

【解決済み】ダメージ計算式

Posted: 2024年12月10日(火) 22:49
by パンダパン
初歩的な質問ですが、意図した挙動を起こせないのでアドバイスや解決策をいただきたいです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * 20
[20]の部分はスキルの威力を表したものです。
このダメージ計算式を基本とし、使用者の 防御 & 魔法力 & 魔法防御 & 敏捷性 & 運 のステータスを合算し
スキルの威力(20の部分)に加算して計算する式を試みて以下のような式を書きましたが、ダメージが0になってしまいます。
例えば合算値が[500]なら / 32 で 15.6...となり、スキル威力が加算されて20→35.6...になるイメージです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk / 32 ) )
どの部分の順序が誤っているなどの問題点や、正しく動作する書き方をご存じの方がいらっしゃいましたら教えてくださると幸いです。

Re: ダメージ計算式

Posted: 2024年12月11日(水) 00:40
by WTR
合計を 32 で割りたいなら

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk) / 32 )
こうだと思うんですが
もとのままでも a.atk / 2 > b.def / 4 なら 0 にはならない気がします。
なんででしょう…

新規 PJ でやってみた限りは上記の式でもちゃんとダメージが通りました。

Re: ダメージ計算式

Posted: 2024年12月11日(水) 01:17
by ecf5DTTzl6h6lJj02
こんにちは。
パンダパン さんが書きました:初歩的な質問ですが、意図した挙動を起こせないのでアドバイスや解決策をいただきたいです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * 20
[20]の部分はスキルの威力を表したものです。
このダメージ計算式を基本とし、使用者の 防御 & 魔法力 & 魔法防御 & 敏捷性 & 運 のステータスを合算し
スキルの威力(20の部分)に加算して計算する式を試みて以下のような式を書きましたが、ダメージが0になってしまいます。
例えば合算値が[500]なら / 32 で 15.6...となり、スキル威力が加算されて20→35.6...になるイメージです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk / 32 ) )
どの部分の順序が誤っているなどの問題点や、正しく動作する書き方をご存じの方がいらっしゃいましたら教えてくださると幸いです。
WTR さんが書きました:合計を 32 で割りたいなら

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk) / 32 )
こうだと思うんですが
もとのままでも a.atk / 2 > b.def / 4 なら 0 にはならない気がします。
なんででしょう…

新規 PJ でやってみた限りは上記の式でもちゃんとダメージが通りました。
WTR さんのおっしゃっている通りで、
上がっているコードをそのまま入力する限りは、
ダメージが 0 になることはまずないと思うんです( (a.atk / 2 - b.def / 4) / 6 が 1 / 威力 未満になるなら別です)が、
実際にダメージ計算式に入力されているコードにどこか打ち間違いとかないでしょうか?
ダメージ計算式でエラーが発生する場合、 計算結果が 0 になってしまいます。

Re: ダメージ計算式

Posted: 2024年12月11日(水) 01:35
by パンダパン
こんばんは。
WTR さん
ecf5DTTzl6h6lJj02 さん

ご回答ありがとうございます。
WTRさんの記載していただいた計算式で無事意図している挙動を確認できました。
再度使用していた式の方を確認しましたが、 atk > def も問題なくエラーの原因が結局わからないままですが……括弧の数が足りてなかったくらいしか思いつかないですね。

ともあれ非常に助かりました。ありがとうございました!