#!/usr/bin/env ruby # -*- coding: utf-8 -*- #紙の用意がだるいときに便利。だろう。 #慌てて調理したスパゲッティ(´;ω;`) questions = [ "いつ","どこで","誰が","何をして","どうなった", ] setumei =[ " 説明", "「いつ」、「どこで」、「誰が」、「何をして」、「どうなった」", "の5つを順番に書いていって、", "最終的に、実にユニークなストーリーができる、大人数の定番ゲームです。", "それぞれの項目で書いたものは確定すると隠されるため、入力中に覗かれない限りは", "入力者以外の人がこっそり見ることは不可能になっています。ご安心ください!", "ちなみに、新年やハロウィンなど、日常のイベントがある日には、", "「イベント」から、その日にまつわるいつどこでを見ることができます。", "「イベント」のいつどこでは、少しずつ追加していきます。お楽しみに!", "※「イベント」のいつどこでは、見逃すとまた来年まで見ることができないので、", " 気になる方は当日に見に来てください。", ] event_4w1h = { :newYear =>["真夜中に","家で","自分が","テレビを見ていたら","年が明けた!!"], } def kakunin() print ("「はい」か「いいえ」で答えてください)...") print"\e[K" ans = gets.chomp return ans end def putStory(ary,opt = "なし") for j in ary # 「いつ」、「どこで」、、 if opt == "gets" gets print"\e[1A" end printf("%s\n",j) end gets end def findEvent date = Time.now month_and_day = [(date.month),(date.day)] event_days = {[1,1] => :newYear,[10,31] => :halloween,[12,25] => :christmas, } whatDay = event_days[month_and_day] end def honpen(questions) while true print"\e[H" print"\e[2J" print"\e[H" result = [] ans =nil for i in questions print("\e7") printf("あなたが書くのは「%s」です。\n",i) print "記入してください..." input = gets.chomp print "\n" printf("「%s」でよろしいですか?\n",input) while true ans = kakunin # 回答を入手 if ans == "はい" print "確定しました。enterで次に進みます。\n" result << input gets print"\e[1J" break # while true抜け elsif ans == "いいえ" break else redo end end print"\e[1J" print("\e8") redo if ans == "いいえ" # forループもっかい end puts"すべてが入力されました。" puts" 結果" putStory(result,"gets") print"もう一度やりますか?" while true ans = kakunin if ans == "いいえ" break elsif ans == "はい" break else redo end end break if ans == "いいえ" # 本編から抜ける end end print"\e[2J" print"\e[H" putStory(setumei) ans = 0 sentakusi = {1 => "プレイする", 2 =>"イベント", 3 =>"終了"} while true until sentakusi[ans] print"\e[13H" print"\e[J" puts" ホーム" count = 0 for h in sentakusi.values count += 1 printf("%d ...%s\n",count,h) end whatDay = findEvent print"\e[5;4m現在「イベント」が表示できます!\e[m\n"if whatDay print"やりたいことの番号を入れてください:" ans = gets.chomp.to_i print"\e[13H" unless sentakusi[ans] end case sentakusi[ans] when "プレイする" honpen(questions) when "イベント" if whatDay putStory(event_4w1h[whatDay],"gets") else puts"現在イベントはありません。" gets end when "終了" break end ans = 0 end