#!/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("これで必要なものはそろったよ!!")