Newer
Older
Ruby / kaimono3.rb
@MIZUNO Manaka MIZUNO Manaka on 3 Feb 2023 1 KB 2023-02-03 21:13:55
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require "csv"
bangou = 0
syurui = %w(主食 主菜 副菜 汁物)
kyounogohan = []
kaumono = []
daikin = []
zairyou = CSV.read("kaimono.csv")
puts("今からご飯に何を食べるか選ぶよ!")
sleep(5)
while true
  bangou = 0
  while bangou < 4
    sentaku = rand(zairyou.length)
    if sentaku%4 == bangou
      printf("%sは%sだよ!\n", syurui[bangou], zairyou[sentaku][0])
      sleep(2)
      kyounogohan << zairyou[sentaku][0]
      kaumono << zairyou[sentaku][1]
      daikin << zairyou[sentaku][2]
      bangou += 1
    else
      redo
    end
  end
  puts("\nこれで決まりでいいかな?\n1:いい\n2:変える")
  bangou = gets.chomp.to_i
  if bangou == 1
    break
  elsif bangou == 2
    bangou = 4
    while bangou > 0
      kyounogohan.shift
      kaumono.shift
      daikin.shift
      bangou = bangou - 1
    end
  end
  redo
end
puts("\nこれから家にない材料を買いに行くよ!\n買うものを下の表の右から2つ目の「材料」を見て予想して順番に選ぼう!\n")
daikin.map!(&:to_i)
sleep(7)
zairyou.each do |a|
  p a
end
bangou = 0
while bangou < 4
  printf("\n%sに必要なものを上から選ぼう!\n", kyounogohan[bangou])
  sentaku = gets.chomp
  if sentaku == kaumono[bangou]
    puts("正解!")
    bangou += 1
  else
    puts("不正解...もう1度選び直そう!")
    redo
  end
  sleep(2)
end
while true
  puts("\n上の表の1番左の「値段」を見て代金を計算しよう!")
  bangou = gets.chomp.to_i
  if bangou == daikin.inject(:+)
    puts("正解!")
    break
  else
    puts("不正解...もう1度選び直そう!")
    redo
  end
  break
end
puts("これで必要なものはそろったよ!!")