ダイスポットのテーブルの呼び出し方について
- 中河原
- Topic Author
8 years 6 months ago #1550
by 中河原
中河原 created the topic: ダイスポットのテーブルの呼び出し方について
最近、自宅サーバーにて、どどんとふを使用させていただいております。
現在、オリジナルのダイスポットを作成中です。
中身を今、弄っているのですが、まだ慣れていないせいで、少しやり方を悩んでいます。
get_table_by_2d6(table)やget_table_by_d66(table)を使うことで、2D6のテーブルや6D6のテーブルが呼び出せるのは分かるのですが、1D10でのテーブルの呼び出しがどうしても分かりませんでした。
掲示板の他の書き込みなどを見て見たのですが、この内容について書かれているところが見つけられなかったので、書き込ませていただきました。
アドバイスいただけると、とても助かります。
もし、解説しているところがありましたら、リンクを教えていただけるだけでもけっこうです。
よろしくお願いします
現在、オリジナルのダイスポットを作成中です。
中身を今、弄っているのですが、まだ慣れていないせいで、少しやり方を悩んでいます。
get_table_by_2d6(table)やget_table_by_d66(table)を使うことで、2D6のテーブルや6D6のテーブルが呼び出せるのは分かるのですが、1D10でのテーブルの呼び出しがどうしても分かりませんでした。
掲示板の他の書き込みなどを見て見たのですが、この内容について書かれているところが見つけられなかったので、書き込ませていただきました。
アドバイスいただけると、とても助かります。
もし、解説しているところがありましたら、リンクを教えていただけるだけでもけっこうです。
よろしくお願いします
Reply to 中河原
8 years 6 months ago #1561
by たいたい竹流
たいたい竹流 replied the topic: ダイスポットのテーブルの呼び出し方について
残念ながら、1d10の表用の関数はありません。
なぜなら今までに必要がなかったからです。
ですが、対応するのは簡単です。
方法は2通り
1.関数を作る。
表取得用の便利関数は
DodontoF/src_bcdice/diceBot/DiceBot.rb
で定義されています。
def get_table_by_2d6(table)
get_table_by_nD6(table, 2)
end
と
def get_table_by_nD6(table, count)
num, = roll(count, 6)
text = getTableValue(table[num - count])
return '1', 0 if( text.nil? )
return text, num
end
です。
だから、get_table_by_nD6 を応用して
def get_table_by_1d10(table)
get_table_by_nD6(table, 1)
end
def get_table_by_nD10(table, count)
num, = roll(count, 10)
text = getTableValue(table[num - count])
return '1', 0 if( text.nil? )
return text, num
end
こんな感じで新しく関数を作ればいいんです。自分で。自分のダイスボットのソース上に。
どどんとふのソースは全て公開されていますから、
既存の機能に不足があるようであれば、自由に自作・拡張するのがおすすめです。
2.ダイスボット表作成機能を使う
詳細は省略しますが、ダイスボットを作る機能があるので、それを使います。
(詳しくは解説本参照)
表を作ると、
DodontoF/imageUploadSpace/room_x (xは部屋番号)
のディレクトリにデータが出力されますので、それを移植すれば任意の環境でも動くようになります。便利!
以上です。
なぜなら今までに必要がなかったからです。
ですが、対応するのは簡単です。
方法は2通り
1.関数を作る。
表取得用の便利関数は
DodontoF/src_bcdice/diceBot/DiceBot.rb
で定義されています。
def get_table_by_2d6(table)
get_table_by_nD6(table, 2)
end
と
def get_table_by_nD6(table, count)
num, = roll(count, 6)
text = getTableValue(table[num - count])
return '1', 0 if( text.nil? )
return text, num
end
です。
だから、get_table_by_nD6 を応用して
def get_table_by_1d10(table)
get_table_by_nD6(table, 1)
end
def get_table_by_nD10(table, count)
num, = roll(count, 10)
text = getTableValue(table[num - count])
return '1', 0 if( text.nil? )
return text, num
end
こんな感じで新しく関数を作ればいいんです。自分で。自分のダイスボットのソース上に。
どどんとふのソースは全て公開されていますから、
既存の機能に不足があるようであれば、自由に自作・拡張するのがおすすめです。
2.ダイスボット表作成機能を使う
詳細は省略しますが、ダイスボットを作る機能があるので、それを使います。
(詳しくは解説本参照)
表を作ると、
DodontoF/imageUploadSpace/room_x (xは部屋番号)
のディレクトリにデータが出力されますので、それを移植すれば任意の環境でも動くようになります。便利!
以上です。
Reply to たいたい竹流
Time to create page: 0.117 seconds