1行目: |
1行目: |
− | [[BCDice]]のダイスロール機能のみを利用する場合の呼び出し方をまとめる。 | + | [[BCDice]]のダイスロール機能のみを利用する場合の、[[Ruby]]プログラムからの呼び出し方をまとめる。 |
| | | |
| __TOC__ | | __TOC__ |
| | | |
− | == ダイスロールを行う == | + | == BCDice関連ファイルを読み込む == |
| + | |
| + | BCDiceの機能を利用する前に、1回だけ関連ファイルを読み込む必要がある。BCDiceが配置されているディレクトリを読み込みパスに追加してから、関連ファイルを読み込む。 |
| | | |
− | BCDiceのダイスロール機能を呼び出すための[[Ruby]]プログラムの概要を以下に示す。
| |
| <syntaxhighlight lang="ruby"> | | <syntaxhighlight lang="ruby"> |
| + | # BCDiceが配置されているディレクトリを読み込みパスに追加する |
| $LOAD_PATH.unshift('/path/to/BCDice/src') | | $LOAD_PATH.unshift('/path/to/BCDice/src') |
| | | |
| # BCDice関連ファイルを読み込む | | # BCDice関連ファイルを読み込む |
− | require 'bcdiceCore'
| |
| require 'diceBot/DiceBot' | | require 'diceBot/DiceBot' |
| require 'diceBot/DiceBotLoader' | | require 'diceBot/DiceBotLoader' |
| + | require 'bcdiceCore' |
| + | </syntaxhighlight> |
| + | |
| + | == ダイスロールを行う == |
| + | |
| + | BCDiceのダイスロール機能を呼び出すプログラムの概要を以下に示す。 |
| | | |
− | # ゲーム名(英数字、省略名でも可) | + | <syntaxhighlight lang="ruby"> |
| + | # ゲーム名(英数字。省略名でも可) |
| # * 省略名の例:DX(DoubleCross)、SW20(SwordWorld2.0) | | # * 省略名の例:DX(DoubleCross)、SW20(SwordWorld2.0) |
| game_title = 'DoubleCross' | | game_title = 'DoubleCross' |
32行目: |
40行目: |
| # ダイスロールを行い、結果を受け取る | | # ダイスロールを行い、結果を受け取る |
| # * output:ダイスロールの結果(出目の合計など)を示すメッセージ | | # * output:ダイスロールの結果(出目の合計など)を示すメッセージ |
| + | # * 例:"2DX+4@10 : (2R10+4[10]) > 8[7,8]+4 > 12" |
| # * secret:シークレットダイスならばtrue、そうでなければfalse | | # * secret:シークレットダイスならばtrue、そうでなければfalse |
| output, secret = bcdice.dice_command | | output, secret = bcdice.dice_command |
37行目: |
46行目: |
| # 出目の情報を受け取る | | # 出目の情報を受け取る |
| # 2つの整数要素を持つ配列の配列として返ってくる | | # 2つの整数要素を持つ配列の配列として返ってくる |
− | # * 返り値の例:[[3, 10], [7, 10]](10面ダイスの3、10面ダイスの7) | + | # * 返り値の例:[[7, 10], [8, 10]](10面ダイスの7、10面ダイスの8) |
| rolled_dice = bcdice.getRandResults | | rolled_dice = bcdice.getRandResults |
| + | </syntaxhighlight> |
| + | |
| + | == 利用できるダイスボットの一覧を取得する == |
| + | |
| + | <code>DiceBotLoader.collectDiceBots</code> を呼び出すと、利用可能なダイスボットの配列を取得することができる。これを利用して、利用できるダイスボットの一覧を作ることができる。 |
| + | |
| + | <syntaxhighlight lang="ruby"> |
| + | # 利用できるダイスボットの配列 |
| + | dicebots = DiceBotLoader.collectDiceBots |
| + | |
| + | # 特定のゲームを対象としないダイスボットも一覧に加える場合 |
| + | # dicebots = DiceBotLoader.collectDiceBots + [DiceBot.new] |
| + | |
| + | # ゲーム識別子(英数字)の配列を作る |
| + | game_types = dicebots.map(&:gameType) |
| + | |
| + | # ゲーム名(日本語)の配列を作る |
| + | game_names = dicebots.map(&:gameName) |
| </syntaxhighlight> | | </syntaxhighlight> |