Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

バラバラロール(xBn)の結果に出目と成功数を加える #335

Merged
merged 2 commits into from
Dec 20, 2020

Conversation

ochaochaocha3
Copy link
Member

バラバラロール(xBn)の結果を表すクラスを作り、通常の結果に加えて出目と成功数を記録するようにしました。

目的は、BarabaraDiceの結果オブジェクトから必要な項目を直接取得できるようにすることです。これまでは結果が文字列でしか得られなかったため、ニンジャスレイヤーTRPG等では結果の文字列から必要な部分を抽出して判断していました。この方法はバラバラロールの出力書式に依存するため、書式の変更に弱いです(i18nを行う場合は、さらに言語数分だけ修正作業が多くなります)。結果オブジェクトから必要な項目を直接取得できれば、書式を考慮する必要がなくなります。

実装では BCDice::Result を継承するクラス BCDice::CommonCommand::BarabaraDice::Result を作りました。追加したのは成功数(success_num)のみです。出目の記録には、BCDice::Base#eval の最後で設定される #rands#detailed_rands を使用しましたが、これでも大丈夫でしょうか?

作った仕組みを使って、ひとまずニンジャスレイヤーTRPGのTODO整理を行いました。他にはシャドウラン5th Editionに適用できそうです(ただ、シャドウラン5th EditionではニンジャスレイヤーTRPGよりもアドホックな処理が多かったため、今回は適用を見送りました)。

ゲームシステム独自コマンドから利用する際に、出目と成功数を直接
取得できるようにする
直接出目と成功数を取得できるようになったので、
正規表現によるメッセージへのマッチをやめる
@ochaochaocha3 ochaochaocha3 added the refactoring 内部構造の改良 label Dec 20, 2020
@codecov
Copy link

codecov bot commented Dec 20, 2020

Codecov Report

Merging #335 (07ae345) into master (b0feed4) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #335   +/-   ##
=======================================
  Coverage   93.53%   93.53%           
=======================================
  Files         257      258    +1     
  Lines       18318    18333   +15     
=======================================
+ Hits        17133    17148   +15     
  Misses       1185     1185           
Impacted Files Coverage Δ
lib/bcdice/common_command/barabara_dice/node.rb 100.00% <100.00%> (ø)
lib/bcdice/common_command/barabara_dice/result.rb 100.00% <100.00%> (ø)
lib/bcdice/game_system/NinjaSlayer.rb 100.00% <100.00%> (ø)
lib/bcdice/result.rb 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b0feed4...07ae345. Read the comment docs.

Copy link
Member

@ysakasin ysakasin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

良さそうだと思います!!

@ysakasin ysakasin merged commit a6e0435 into master Dec 20, 2020
@ysakasin ysakasin deleted the barabara_dice-extend_result branch December 20, 2020 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring 内部構造の改良
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants