ユウのブログ

なんでも書きますよ。

0からDiscordのダイスボットを作成する:その3

Ruby3日目。今回はダイスボットの威力表ロールに固定値の加算を追加します。

前回と前々回

yutyanblog.hatenablog.com

yutyanblog.hatenablog.com

 

サクサク書いていきます。

 

最初に、.txtから読み込んだ値をto_iでint型に変換しつつ、後の処理を楽にするために変数に代入します。

 

damage = (rating.readlines[k[1].to_i*10+roll-3]).to_i

 

次に、前回書いた正規表現で使ってなかったk[3]の部分を、これまたto_iでint型に変換しつつ足してやって、出力します。

 

event.respond"威力表:#{k[1]}(C値#{k[2]}) 出目 = #{roll} 結果 = #{damage} 合計 = #{(damage+k[3].to_i)}"

 

終わり。は?簡単やんけ…。

f:id:f_julover:20170327070614p:plain

思ってたのの3000000倍ぐらい簡単に終わって拍子抜けです。String型からint型に変換するのってめんどくさいイメージがあったんですけど、to_i一発で終わるのがすごいいいですね。

 

ダイスボットとは関係ないですが、ササっと調べた感じ16進数に変換したりもわりと簡単にできそうなので、カラーコードとか扱うのも楽そうです。

 

ここまでの実装でSW2.0を遊ぶのに必要な機能は概ね確保したほうに思えるので、次は何を実装しようか悩んでます。