0
0

大体0から始めるRuby入門その3

Last updated at Posted at 2023-12-02

この記事は【完走したい】楽しくいろいろやる Advent Calendar 2023の3日目です。

おみくじ

ランダムな数字の生成の仕方を学んだので、おみくじを作ります。
せっかくなので、運勢だけでなくランダムにメッセージが出るようにします。

配列

配列は、[]でくくって、中に「,」区切りで入れたいものを入れます。
例)

Test1=["a","b","c"]

Test1には、aとbとcの文字列がそれぞれ入っています。
ほかの言語と大体同じでした。
中身を一つ取り出すときは

puts Test[0]

これで0番目のaを取り出せました。
Rubyも、配列は0から始まるようです。
ランダムに文字を出すようにしてみます。

Test1=["a","b","c"]
A=rand(0..2)
puts Test1[A]

これでaからcが出てきます。
3行目のputsするTest1の[]の中に直接rand(0..2)を入れても動きました。

switchがない

おみくじのメッセージを作る際、運勢ごとに選ばれるメッセージを変えるようにします。
こんな時、C#ではswitchとかと使うとスマートにかけました。
Rubyでは、caseを使うようです。
↓使ってみた

Unsei=["超大吉","大吉","中吉","小吉","吉","末吉","凶"]
Test1=rand(0..6)
case Test1
when 0 then
  puts Unsei[0]
when 1 then
  puts Unsei[1]
when 2 then
  puts Unsei[2]
when 3 then
  puts Unsei[3]
when 4 then
  puts Unsei[4]
when 5 then
  puts Unsei[5]
when 6 then
  puts Unsei[6]
end

こんな感じで動きました。
最後にendが必須です。

おみくじを作る

1.超大吉
2.大吉
3.中吉
4.小吉
5.吉
6.末吉
7.凶
とします。
メッセージの中身はコードを見てください
↓実際に書いたもの

Unsei=["超大吉","大吉","中吉","小吉","吉","末吉","凶"]
Msg=["やったね!超大吉","今日はいいことあるかも?","やったー、大吉","おめでとう大吉だよ","中吉、まあまあだね","それなりにいいことがあるかも?","小吉か。まあ、凶よりはましだよね","ちょっといいことあるかも","吉、いい方なんじゃない?","それなりにいい感じのことがありそう","末吉...","わずかにいことがあるかも","凶です、悲しい","もう一回占っとく?"]
# Unseiを占う
Omi1=rand(0..6)
# メッセージを選ぶ


case Omi1
when 0 then
  RandMsg=rand(0..1)
when 1 then
  RandMsg=rand(2..3)
when 2 then
  RandMsg=rand(4..5)
when 3 then
  RandMsg=rand(6..7)
when 4 then
  RandMsg=rand(8..9)
when 5 then
  RandMsg=rand(10..11)
when 6 then
  RandMsg=rand(12..13)
end

puts "今日の運勢は" + Unsei[Omi1] + "だよ。" + Msg[RandMsg]

できた。

まとめ

Rubyの配列の使いかたを学びました。
お正月にどうぞ。
参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0