読者です 読者をやめる 読者になる 読者になる

へべれけ

ゲームとDTMと本と煙草と酒と泪と男と女

プログラミングの勉強がてら、サイコロをRubyで作ってみた

技術 Ruby

土日の出勤はほんと暇なので、退屈しのぎがてらプログラミングの勉強も始めてみた。
Rubyを選んだのは、PHPjavaと見比べてパッと見でなんかこっちのほうが簡単そうだと思ったから。
環境はAWS上で検証してるよ。

# vim saikoro.rb
----------
#!/usr/bin/ruby
puts rand(6) + 1
----------

"puts"は次の処理の結果をコマンドライン表示するといった意味がある。
"rand"はランダムメソッドで、次の()に記した数字の分の整数を表示させる。
この場合は「0~5」までの整数を表示させる、という意味になってしまうので、次に" + 1"と書き込むことで、「一番最初の整数に1をプラス」という処理がされる。
すると、「0+1」の処理がされ、表示される整数は「1~6」となる。
書き終わったら、パーミッションの変更も忘れずに。

# chmod 755 janken.rb
# ./janken.rb
4

ループを使えば、サイコロを一気に10回回させることもできる。

# vim saikoro.rb
----------
#!/usr/bin/ruby 
10.times do # 10回振るという意味
puts rand(6) + 1
end
-----------
# saikoro.rb
2
3
5
2
6
6
3
6
2
4
----------

こんな具合にできる。
"puts rand(66) + 1" や "puts rand(99) + 1"とかにすればTRPGにも使えたり。
引数をいじれば、イカサマサイコロを作ることも可能。
というわけで次は456しか出ないサイコロ、名づけて"班長サイコロ"なんてものを作ってみた。

# vim hantyosaikoro.rb
-----------
3.times do ←チンチロリンなので振るサイコロは3つ
puts rand(3) + 4 ←(容易する数字は"4,5,6"の3つ) + 0+4で4から始めるという意味
end
-----------
# chmod 755 ikasamasaikoro.rb
# ./ikasamasaikoro.rb
./ikasamasaikoro.rb
5
6
4

見事にシゴロである。パーミッションで自分以外の読取り書き込みを禁止すればカイジに見破られることもないので安心。ゴネずに済むよ。