Newer
Older
Ruby / intro / j2138_intro.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require'csv'

def s(x)     #sleepメゾット
  sleep(x)
end

def g   #getsメゾット
  gets
end

def b(gyo)         #指定した行を開けるメゾット「b」は\nの\のb
  while gyo>0
    print"\n"
    gyo=gyo-1
  end
end

def kigo(kaku,kazu,time) #記号だけをドゥワーーーーと出すメゾット
  for i in 1..kazu
    sleep(time)
    print(kaku)
  end
  print"\n"
end

def kgmj(kigo,moji,kosu_b,kosu_a)  #記号と文字を合わせて出すメゾット
  while kosu_a>0
    print(kigo)
    kosu_a=kosu_a-1
  end
  print(moji)
  while kosu_b>0
    print(kigo)
    kosu_b=kosu_b-1
  end
  print"\n"
end

def homu      #ホームを出すメゾット
  s(1) 
  puts"          ホーム"
  puts"個人情報(1)"                              #できた
  puts"好きなこと・嫌いなこと(2)"                #できた
  puts"趣味・習い事(3)"
  puts"日々の日常(4)"
  b(1)
end

def kojinjoho
  kgmj("=","個人情報",10,10)
  kojin=["・名前:疋田琉莉","・塾生番号:j2138","・誕生日:12月4日",
         "・学年:小学5年生","・学級:1組(2組まで)","・出席番号:25番(30番まで)",
         "・家族:父、母、姉1人、兄1人、自分(3番め)","・ペット:ネコ1匹 名前はチャコ",
           "・小学校:鶴岡市立藤島小学校","・身長:138cmぐらい","・体重:28㎏ぐらい",
           "・病気:ぜんそく、アレルギー性結膜炎","・服用中の薬:目薬2種類、鼻薬1種類、飲
          み薬2類(多分、大体の人が使っているであろう薬)"]
  for i in kojin
    printf("%s\n",i)
    gets
  end
end

def suki 
  suki = CSV.read("sukinakoto.csv",:headers => true)
  suki.each{|ros|                                        #変数の「ros」の「s」は、「好き」の「s」
    kgmj("=","好きなこと・嫌いなこと",16,16)
    printf("好きなこと => %s \n好きな遊び => %s \n好きな本 => %s\n",ros["好きなこと"],ros["好きな遊び"],ros["好きな本"])
    g
    printf("すきなおもちゃ => %s \n好きな教科 => %s \n好きなスポーツ => %s\n",ros["すきなおもちゃ"],ros["好きな教科"],ros["好きなスポーツ"])
    g
    printf("好きな歌 => %s\n好きな動物 => %s \n",ros["好きな歌"],ros["好きな動物"])}
  g
  kigo("-",60,0.01)
  
  kirai = CSV.read("kirainakoto.csv",:headers => true)
  kirai.each{|rok|                                      #変数の「k」は「嫌い」の「k」
    printf("嫌いな食べ物 => %s \n嫌いなこと => %s \n嫌いな遊び => %s\n",rok["嫌いな食べ物"],rok["嫌いなこと"],rok["嫌いな遊び"])
    g
    printf("嫌いな本 => %s \n嫌いなおもちゃ => %s \n嫌いな教科 => %s\n",rok["嫌いな本"],rok["嫌いなおもちゃ"],rok["嫌いな教科"])
    g
    printf("嫌いなスポーツ => %s\n嫌いな動物 => %s \n",rok["嫌いなスポーツ"],rok["嫌いな動物"])}
  g
end

def syumi(kai_a,kai_b)
  g
  kgmj("=","趣味・習い事",30,30)
  puts"ここでは、運で、見れる数とものが変わるぞ!"
  puts"ただし、1階に個しか見れないよ"
  syumi=%w(鳥海塾に取り組むこと スキー 読書、コミックを読む ネコとふれあう 雪遊び 算数の授業 社会の授業)
  utusu=[]
   while kai_a>0
    ban=rand(6)+1
    utusu.push(syumi[ban])
    kai_a=kai_a-1
   end
   
   narai=%w(鳥海塾 剣道スポ小 自然教室 陸上スポ小ぐらいかな)
   idou=[]
   while kai_b>0
    kazu=rand(3)+1
    idou.push(narai[kazu])
    kai_b=kai_b-1
   end
   b(1)
   g
   puts"趣味"
   puts utusu
   g
   kigo("-",60,0.01)
   puts"習い事"
   puts idou
   g
end

def nitijo
  puts"平日の日々を紹介します。\n"
  heijitu={1=>"6時半頃起きる\n",
            2=>"6時35分頃朝ご飯を食べる\n",
            3=>"7時からその日の学校の準備する\n",
            4=>"7時15分に家を出る\n",
            5=>"7時45分に学校につく\n",
            6=>"8時15分から朝の会\n",
            7=>"8時半から1時間目\n",
            8=>"9時15分から授業の間の5分休憩\n",
            9=>"9時20分から2時間目\n",
            10=>"10時5分から20分間中間休み\n",
            11=>"10時25分から5分休憩あって、10時30分から3時間目\n",
            12=>"11時15分から授業の間の5分休憩\n",
            13=>"11時20分から4時間目\n",
            14=>"12時5分から給食\n",
            15=>"昼休み20・40分間\n",
            16=>"14・15時40分に下校\n",
            17=>"宿題\n",
            18=>"パソコン\n",
            19=>"夕食\n",
            20=>"風呂\n",
            21=>"9時過ぎ寝る\n",}
  dasu=1
  while dasu<22
    print heijitu[dasu]
    gets
    puts"⇓"
    dasu+=1
  end
end

hajime=spawn"display -geometry +0+20 toppu.png"

puts"このプログラムで行が空いたらエンターを押してください"
g
puts"## ##  #####  ##           ####  #  #   #    "
puts"##         #  ##      ###       #### #  #   #"
puts"##            ##      #   #####  # #  # #    #" 
puts"##  #         ##  # #####     #  # #  # # #  #"
puts"#####  #####  ##### ###    ###  # ##    ###"
g
kigo("=",60,0.01)
g

while true
  seikai=0
  while seikai<1
    homu
    print"入力:"
    mitai=gets.to_i
  if mitai==1
     b(1)
     print"本当にいいんですね?\n間違った(1)\n正しい(2)"
     print"入力:"
     tigau_a=gets.to_i
     if tigau_a==1
       #ifから抜ける
    elsif tigau_a==2 
      kojinjoho
      seikai=seikai+1
    else
      redo
    end
    
  elsif mitai==2
    b(1)
    print"本当にいいんですね?\n間違った(1)\n正しい(2)"
    print"入力:"
    tigau_b=gets.to_i
    if tigau_b==1
      #ifから抜ける
    elsif tigau_b==2 
      suki
      seikai=seikai+1
    else
      redo
    end

    elsif mitai==3
    b(1)
    print"本当にいいんですね?\n間違った(1)\n正しい(2)"
    print"入力:"
    tigau_c=gets.to_i
    if tigau_c==1
      #ifから抜ける
    elsif tigau_c==2
      syumi(1,1)
      seikai=seikai+1
    else
      redo
    end

    elsif mitai==4
    b(1)
    print"本当にいいんですね?\n間違った(1)\n正しい(2)"
    print"入力:"
    tigau_d=gets.to_i
    if tigau_d==1
      #ifから抜ける
    elsif tigau_d==2 
      nitijo
      seikai=seikai+1
    else
      redo
    end
  end
  end
  print"まだ見ますか?\n見る(1)\n終わる(2)"
  miru=0
  while true
    print"入力:"
    tuduku=gets.to_i
    if tuduku==1
      miru=miru+1
      break
    elsif tuduku==2
      s(1)
      b(1)
      puts"終わります"
      kigo(".",4,0.7)
    #終わる
      break
    else
      redo
    end
  end

  if miru==1
    next
  else
    break
  end
end