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

繰り返しコマンドを実装 #297

Merged
merged 3 commits into from
Dec 20, 2020
Merged

繰り返しコマンドを実装 #297

merged 3 commits into from
Dec 20, 2020

Conversation

ysakasin
Copy link
Member

@ysakasin ysakasin commented Nov 8, 2020

繰り返し回数を指定して、特定のコマンドを複数回実行する。

キーワードはx, rep, repeatの3種類

  • x5 choice[A,B,C,D]
    • choice[A,B,C,D] を5回実行する
  • rep2 CC<=75
    • CC<=75を2回実行する
  • repeat10 2D6+5
    • 2D6+6を10回実行する

入れ子の禁止

このコマンドを入れ子させることは許容しない。繰り返し回数の爆発に繋がるためである。
以下は実行時にエラーとなる。

  • x10 repeat100 100D100

シークレットダイスになる条件

  • Repeatコマンド全体がシークレット指定 → sx5 1D6 など
  • 繰り返されたコマンドのいずれかがシークレット -> x5 s1D6 など

@codecov
Copy link

codecov bot commented Nov 8, 2020

Codecov Report

Merging #297 (f58558a) into master (d432166) will increase coverage by 93.54%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master     #297       +/-   ##
===========================================
+ Coverage        0   93.54%   +93.54%     
===========================================
  Files           0      258      +258     
  Lines           0    18370    +18370     
===========================================
+ Hits            0    17185    +17185     
- Misses          0     1185     +1185     
Impacted Files Coverage Δ
lib/bcdice/common_command.rb 100.00% <100.00%> (ø)
lib/bcdice/common_command/repeat.rb 100.00% <100.00%> (ø)
lib/bcdice/game_system/TrinitySeven.rb 97.53% <0.00%> (ø)
lib/bcdice/dice_table/range_table.rb 95.77% <0.00%> (ø)
lib/bcdice/game_system/KemonoNoMori.rb 98.00% <0.00%> (ø)
lib/bcdice/game_system/filled_with/lot_tables.rb 94.73% <0.00%> (ø)
lib/bcdice/game_system/WARPS.rb 100.00% <0.00%> (ø)
lib/bcdice/common_command/lexer.rb 100.00% <0.00%> (ø)
lib/bcdice/common_command/barabara_dice/node.rb 100.00% <0.00%> (ø)
lib/bcdice/game_system/Oukahoushin3rd.rb 100.00% <0.00%> (ø)
... and 250 more

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 d432166...ad0f2a4. Read the comment docs.

@ysakasin ysakasin marked this pull request as ready for review December 14, 2020 12:41
@ysakasin
Copy link
Member Author

Ref. #277

@GenKuzumochi
Copy link
Contributor

3種類も必要でしょうか?パーサとかの都合がないなら、x5 の表記は十分わかりやすくて簡潔だと思います。

@ysakasin
Copy link
Member Author

xrepeat は絶対に採用したいですが、 rep は要検討ですかね

Copy link
Member

@ochaochaocha3 ochaochaocha3 left a comment

Choose a reason for hiding this comment

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

動作はこれで問題ないと思います。

個人的には、コマンド名は3つとも自然だと思いました(rep は競プロで使うマクロなどでも見ますね :) )。万全を期すならば、Discord等で確認するとよさそうです。

エラーメッセージの「繰り返し回数は1以上、100以下が指定可能です」は、以下のいずれかにするとより自然だと思いました。「は」と「が」の組合せを避けて、主語を明確にするねらいです。

  • 「繰り返し回数は1以上、100以下としてください」
  • 「繰り返し回数には、1以上100以下が指定可能です」
  • 「繰り返し回数として、1以上100以下が指定可能です」

@ysakasin
Copy link
Member Author

rep で私が入力したいので、ここは3種類とも残そうと思います

Copy link
Member

@ochaochaocha3 ochaochaocha3 left a comment

Choose a reason for hiding this comment

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

LGTM!

@ysakasin ysakasin merged commit 4d0d279 into master Dec 20, 2020
@ysakasin ysakasin deleted the repeat_command branch December 20, 2020 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants