Skip to content

Commit

Permalink
TORG Eternity:成功レベル表、ダメージ結果表コマンドの不具合を修正 (#200)
Browse files Browse the repository at this point in the history
* TORG Eternity用ダイスボット新規作成

2020/04/27 ver.1.0 新規作成 

* TORG Eternityダイスボット用テストファイル新規作成

2020/04/27 ver.1.0.0 新規作成。TORG Eternity ダイスボット ver.1.0 用

* String#delete_suffix 記述を別処理に置き換え

ruby 2.5 以降の機能である String#delete_suffix の記述を抹消し、代替処理を追加。
1. 出力テキストにダイス目テキストを追加する際、","を付けないように変更
2. ループの先頭で、2 回目以降のループ時に出力テキスト末尾に "," を追加

* コード整形ルール:改行コード違反を修正

コード整形ルール:改行コード違反の指摘があったため、改行コードを crlf → lf に変更

* テストケースの重複・類似を修正し、テスト数を削減

テストケースの重複を削除、また類似をまとめ、テスト数を 163 → 95 に削減

* input内容で記述されていた[1...n]を、直接値を記述する形に変更

[1...n]の記述方式は、TORGダイスボットにならったものだったが、値域が問題となるものではないため、直接値を記述する方式とした。
また、直接値を記述することで不要になったrand:欄を空白に変更。

* Revert "input内容で記述されていた[1...n]を、直接値を記述する形に変更"

This reverts commit f94b4e1.

* input内容で記述されていた[1...n]を、直接値を記述する形に変更

[1...n]の記述方式は、TORGダイスボットにならったものだったが、値域が問題となるものではないため、直接値を記述する方式とした。
また、直接値を記述することで不要になったrand:欄を空白に変更。

* Result/RTコマンド、Damage/DTコマンドで、マイナス値のパラメータを受け付けていなかったのを修正

Result/RTコマンド、Damage/DTコマンドで、パラメータとしてマイナス値を直接入力した際に、コマンドを受け付けていなかったのを修正。
パラメータが計算式で、計算の結果マイナスになる場合は、設計意図通りに動作していた。
が、パラメータにマイナス値を直接入れてのテストケースを作っていなかったため、発見できなかった。

* Revert "Result/RTコマンド、Damage/DTコマンドで、マイナス値のパラメータを受け付けていなかったのを修正"

This reverts commit dab21e1.

* Result/RTコマンド、Damage/DTコマンドで、マイナス値のパラメータの直接入力を受け付けていなかったのを修正

Result/RTコマンド、Damage/DTコマンドで、パラメータとしてマイナス値を直接入力した際に、コマンドを受け付けていなかったのを修正。
(パラメータが計算式で、計算の結果マイナスになる場合は、設計意図通りに動作)
また、テストケースに、マイナス値パラメータの直接入力のケースを追加

* テストケースの改行コードがLFになっていたのを、CRLFに戻した
  • Loading branch information
hoehoe-git authored May 19, 2020
1 parent b69d08b commit e36560d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/diceBot/TorgEternity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ def getBonusDamageDiceCommandResult(command)
# 成功レベル表コマンド
def getSuccessLevelDiceCommandResult(command)
debug("TorgEternity Success Level Table Command ? ", command)
m = /(RT|Result)(\d+([\+\-]\d+)*)/i.match(command)
m = /(RT|Result)(\-*\d+([\+\-]\d+)*)/i.match(command)
debug(Regexp.last_match(2))
unless m
debug("None")
Expand All @@ -227,7 +227,7 @@ def getSuccessLevelDiceCommandResult(command)
# ダメージ結果表コマンド
def getDamageResultDiceCommandResult(command)
debug("TorgEternity Damage Result Table Command ? ", command)
m = /(DT|Damage)(\d+([\+\-]\d+)*)/i.match(command)
m = /(DT|Damage)(\-*\d+([\+\-]\d+)*)/i.match(command)
debug(Regexp.last_match(2))
unless m
debug("None")
Expand Down
8 changes: 7 additions & 1 deletion src/test/data/TorgEternity.txt
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,12 @@ TorgEternity : 成功レベル表[-1] > Failure.
rand:
============================
input:
Result-5
output:
TorgEternity : 成功レベル表[-5] > Failure.
rand:
============================
input:
RT9-2+4
output:
TorgEternity : 成功レベル表[11] > Success - Outstanding!!
Expand All @@ -191,7 +197,7 @@ TorgEternity : ダメージ結果表[-6] > ノーダメージ
rand:
============================
input:
Damage3-8
Damage-5
output:
TorgEternity : ダメージ結果表[-5] > 1ショック
rand:
Expand Down

0 comments on commit e36560d

Please sign in to comment.