(6)11/02の授業内容

前回の課題の紹介

前回の課題には面白いプログラムが沢山ありました。他の人がどのようなプログラムを作成しているか知ることはとても参考になると思います。興味があるものは実際に実行して試してみましょう

以下に、課題が提出された順にプログラムを提示します

  1. くじ引き
  2. #!/usr/koeki/bin/ruby
    
    kuji = ["左","真ん中","右"]
    
    srand
    comp=rand(3)
    
    STDERR.print "当たり籤はどれでしょう?(0: 左,1: 真ん中,2: 右) :"
    user = gets.chomp!.to_i
    sleep(1)
    printf "あなたは %s を引きました。\n", kuji[user]
    sleep(1)
    printf "当たり籤は %s でした。\n", kuji[comp]
  3. おみくじ
  4. #!/usr/koeki/bin/ruby
    
    def omikuji(user)
    
    if user==0
      printf("大吉\n")
      printf("大当たり!素敵なことがあるかも◎\n")
    elsif user==1
      printf("中吉\n")
      printf("いつもは行かない場所へ行ってみよう!\n")
    elsif user==2
      printf("小吉\n")
      printf("ラッキーカラーは、黄色★\n")
    elsif user==3
      printf("吉\n")
      printf("ラッキープレイスは、学校!\n")
    elsif user==4
      printf("凶\n")
      printf("言葉使いに注意しよう。\n")
    elsif user==5
      printf("大凶\n")
      printf("何事も、慎重に。\n")
    end
    end
    
    printf("占います\n")
    sleep(1)
    printf("今日のあなたは....\n")
    sleep(3)
    
    srand
    comp=rand(6)
    
    omikuji(comp)
    
  5. コンピュータと同じものを選んだら食べられないプログラム
  6. #!/usr/koeki/bin/ruby
    
    shoku  = ["カレー","ハンバーグ","ラーメン"]
    
    srand
    comp=rand(3)
    
    STDERR.print "相手と同じメニューを選ぶと飯は食えないぞ!(0: カレー,1: ハンバーグ,2: ラーメン) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s でした \n", shoku[comp]
    printf "わたしは %s でした。\n", shoku[user]
    
    if  comp == user then 
      print "あなたは飯を食べてダメ!\n",
    unless  comp == user
      printf "どーぞたくさん食べてください"\n,
    end
  7. ダーツ
  8. #!/usr/koeki/bin/ruby
    
    STDERR.print "ダーツを投げます。1から20までの得点です。準備は良いですか(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "では。。。\n"
    else
      print "準備が出来たらもう一度実行して下さい\n"
      exit(1)
    end
    
    
    mato = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"]
    
    srand
    
     sleep(1)
    comp=rand(20)
    
    printf "一投目は %s ! \n", mato[comp]
    
     sleep(1)
    comp2=rand(20)
    
    printf "二投目は %s ! \n", mato[comp2]
    
     sleep(1)
    comp3=rand(20)
    
    printf "三投目は %s ! \n", mato[comp3]
    
    
    tennsuu = comp.to_i + comp2.to_i + comp3.to_i + 3
    
     sleep(2)
    
    printf "合計点数は %s です \n", tennsuu
  9. 占い
  10. #!/usr/koeki/bin/ruby
    
    def kekka(a)
      printf"あなたは%sでした。\n",a
    end
    
    kuji = ["大当たり","天才","おバカ","アホ"]
    
    srand
    comp=rand(4)
    
    STDERR.print"占います!"
    
    sleep(1)
    printf("\n占い中\n")
    sleep(2)
    
    kekka(kuji[comp])
  11. 単純計算
  12. #!/usr/koeki/bin/ruby
    
    def kekka(a,b,c)
      if c==10
        printf("[comp] %d + [user] %d = %d でした!正解★\n",a,b,c)
      elsif c<10
        printf("[comp] %d + [user] %d = %d でした。惜しい!\n",a,b,c)
        printf("小さかったようですね。\n")
      else
        printf("[comp] %d + [user] %d = %d でした。惜しい!\n",a,b,c)
        printf("大きすぎたようですね。\n")
      end
    end
    
    srand
    comp=rand(11)
    
    STDERR.print "今から脳を鍛えます!!\n"
    sleep(1)
    STDERR.print "CPが0から10までの数値をランダムに出します。\n"
    sleep(1)
    STDERR.print "足した答えが10になるようにして下さい!!\n\n"
    STDERR.printf "%d + ?? = 10      答えは: ",comp
    
    start = Time.now.to_i
    
    while true
      if Time.now.to_i - start > 2
        print "\a"
        print "\n時間切れ!\n\n"
        break
      end
    end
    
    user = gets.chomp!.to_i
    sum=comp+user
    kekka(comp,user,sum)
  13. ランチルーレット
  14. #!/usr/koeki/bin/ruby
    
    men= ["うどん","ラーメン","そば"]
    gu = ["玉子","納豆","山菜"]
    su = ["しょうゆ","みそ","しお"]
    
    def kekka(a,b,c)
     printf("%sの%s入り%s味です!!おいしそう!召しあがれ!!\n",a ,b ,c)
    end
    
    STDERR.print"ランチルーレット!!!!!準備は良いですか(y or n)"
    junbi=gets.chomp!
    
    if junbi=="y"
      sleep(1)
      print"では、始めます!!あなたの今日の特別ランチを作ってあげましょう!!\n"
    else
      print"準備ができたらもういちど実行して下さい。\n"
      exit(1)
    end
    
    sleep(1)
    print "\n"
    print "今日のランチメニューは!?\n\n"
    sleep(2)
    
    srand
    a = rand(3)
    
    srand
    b = rand(3)
    
    srand
    c = rand(3)
    
    kekka(men[a],gu[b],su[c])
  15. あっち向いてほい
  16. #!/usr/koeki/bin/ruby
    
    achimuitehoi = ["左","右","下","上"]
    
    srand
    comp=rand(4)
    
    STDERR.print "あっち向いてホイ!(0: 左,1: 右,2: 下,3: 上) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s でした \n", achimuitehoi[comp]
    printf "わたしは %s でした。\n", achimuitehoi[user]
  17. スロット
  18. STDERR.print "スロットゲームをはじめます。準備は良いですか(y[Enter])"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "スタート!([Enter])\n"
    
     s = gets.chomp.to_s
    
     def sro() 
     srand()
     ree11 = ["☆","★","7","●"]
     ree12 = ["●","☆","★","7"]
     ree13 = ["★","☆","7","●"]
     deme1 = rand(4)
     deme2 = rand(4)
     deme3 = rand(4)
     if ree11[deme1] == ree12[deme2]
     if ree12[deme2] == ree13[deme3]
     print"♪大当たり〜♪♪"
     else
     print"残念でした(;_;)"
     end
     else 
     print"残念でした(;_;)"
     end
    printf"|%s|%s|%s|---\n",ree11[deme1],ree12[deme2],ree13[deme3],print
    s = gets.chomp
     end
      end
    sro
  19. 福引
  20. #!/usr/koeki/bin/ruby
    def fukubiki(a)
      if a < 80
        print "白玉\n"
        print "4等です.ティッシュをあげます\n"
      elsif a > 81 && a < 90 
        print"赤玉\n"
        print "3等です。クッキーが当たりました\n"
      elsif a > 91 && a < 97
        print"青玉\n"
        print "惜しい!2等です。空気清浄機のプレゼントです\n"
      else a > 98
        print "出ました!!1等です!北海道3泊4日カニ食べ放題旅行が大当たり!\n"
      end 
    end
    
    srand
    comp=rand(100)
    
    STDERR.print "ガラガラガラー!"
    
     fukubiki(comp)
  21. 宝くじ
  22. #! /usr/koeki/bin/ruby
    def start()
      print "ただいまから宝くじを始めます!!!\n"
    end
    start
    
     takara = ["0","1","2","3","4","5","6","7","8","9"]
    
    srand
    comp1=rand(10)
    comp2=rand(10)
    comp3=rand(10)
    
    sleep(1)
    
    STDERR.print "0から9までの好きな数字を入力してください: "
    user1 = gets.chomp!.to_i
    STDERR.print "0から9まで好きな数字を入力してください: "
    user2 = gets.chomp!.to_i
    STDERR.print "0から9まで好きな数字を入力してください: "
    user3 = gets.chomp!.to_i
    print "ただいま抽選中  少々お待ち下さい\n"
    sleep(3)
    print "発表5秒前\n"
    sleep(1)
    
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    
    printf ("当選番号は%d %d %dです\n", takara[comp1], takara[comp2], takara[comp3])
    printf ("あなたの番号は%d %d %dです\n", takara[user1], takara[user2], takara[user3])
  23. 告白シミュレーション
  24. #!/usr/koeki/bin/ruby
    
    def go ()
     print "いよいよこの時が来ました。\n"
    sleep(1)
    end
    go
    
    print "どんな告白しますか?\n"
    
    kokuhaku = ["積極的に","冷静に","情熱的に","キザに","控えめに","強引に","電話で",]
    STDERR.print"(0:積極的に.1:冷静に.2:情熱的に.3:キザに.4:控えめに.5:強引に.6:電話で. )"
    user = gets.chomp!.to_i
    
    printf "わたしは %s 告白した。\n",kokuhaku[user]
    
    print "ドクン\n"
    sleep(1)
    
    4.downto(1) do |i|
      print "ドクン\n"
      sleep(1)
    end
    
    henji = ["喜んで","よろしくお願いします","あんたなんか嫌いよ!","ごめんなさい","友達のままで"," さようなら","ありがとう"]
    
    srand
    comp=rand(7)
    
    printf " 「%s」 と言われた。 \n", henji[comp]
  25. 暗号作成
  26. #!/usr/koeki/bin/ruby
    
    STDERR.print "コンピューターがランダムにあなたの暗号を選びます。\n"
    STDERR.print"あなたの誕生日を入力して下さい。(例:0719)\n"
    angou = gets.chomp!.to_i
    
    srand
     
    1.times do
       print rand(100000), ""
    end
    
    printf ("これがあなたの暗号です。\n",angou)
  27. ボクシング
  28. #!/usr/koeki/bin/ruby
    
    def attack(user,comp)
    
    if user == comp
    print "入ったー!!カウントをとります!\n"
    
    else
    print "空振り!!\n"
    end
    end
    
    
    def count(grit)
    
    9.downto(1) do |i|
      printf ("%sカウント!\n",i)
      sleep(1)
    
    end
    
    if grit == 1
      print "\a"
      printf "KO!!!!\n"
      printf "新チャンピオン誕生!!!\n"
    else
      print "立った!立ちました!!\n"
    
    end
    end
    attack = ["右フック","ストレート","左フック"]
    
    while true
    srand
    
    comp=rand(3)
    
    STDERR.print "今だ!打て!!(0: 右フック,1: ストレート,2: 左フック) :"
    a = gets.chomp!.to_i
    attack(a,comp)
    
    if a == comp
    print "10カウントでKOです!\n"
    sleep(1)
    
    srand
    grit = rand(2)
    count(grit)
    if grit == 1
    break
    end
    end
    end
  29. 花火
  30. #!/usr/koeki/bin/ruby
    def count()
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    end
    srand
    hanabi = rand(2)
    
    print "打ち上げ5秒前\n"
    sleep(1)
    count
    
    if hanabi == 1
     print "                         !                           \n"
     print "                         !                           \n"
     print "                         !                           \n"
     print "          た             !            ま             \n" 
     print "           た            !           ま              \n"
     print "            た           !          ま               \n"
     print "             た          !         ま                \n"
     print "  や          た         !        ま          ー     \n"
     print "    や         ++++++++++++++++++++         ー       \n"
     print "      や       +                  +       ー         \n"
     print "        や     +   ++++++++++++   +     ー           \n"
     print "          や   +   +          +   +   ー             \n"
     print " !!!!!!!!!!!!!!+   +          +   +!!!!!!!!!!!!!!    \n"
     print "          か   +   +          +   +   ぎ             \n"
     print "        か     +   ++++++++++++   +     ぎ           \n"
     print "      か       +                  +       ぎ         \n"
     print "    か         ++++++++++++++++++++         ぎ       \n"
     print "  か          や         !        ー          ぎ     \n"
     print "             や          !         ー                \n"
     print "            や           !          ー               \n"
     print "           や            !           ー              \n"
     print "          や             !            ー             \n"
     print "                         !                           \n"
     print "                         !                           \n"
     print "                         !                           \n"
    else
      print "                                !   ◯              \n"
      print "         *****                  !                   \n"
      print "        *     *             *********               \n"
      print "       *       *                !                   \n"
      print "        *     *              *  !  *                \n"
      print "         * * *              *   !   *               \n"
      print "           *               *    !    *              \n"
      print "       !!!!!!!!!                                    \n"
      print "       !  ふ   !                                    \n"
      print "       !  は   !              *       *             \n"
      print "       !  つ   !               *     *              \n"
      print "       !       !                   **               \n"
      print "       !       !               ****                 \n"
      print "       !!!!!!!!!                                    \n"
    end
  31. 宝くじ
  32. #!/usr/koeki/bin/ruby
    
    def takara(t)
      printf(" %s ですね。結果は……\n", t)
      
      5.downto(1) do |i|  
        srand
        kana = rand(5)
        printf ("\n %s秒前。 %d かな?\n", i, kana)
        sleep(2)
      end
      
    end
    
    print "3つの数字を選ぶだけ!!\n\n"
    print "3回当たれば1等!!\n2回当たれば2等だよ☆\n1回当たれば3等だよ\n\n"
    
    a = 1
    b = 0
    while a < 4 
      
      srand
      kuzi = rand(5)
      
      STDERR.printf(" %d 回目 : 0〜4の数字を入れて→  ", a)
      kazu = gets.to_i
      takara(kazu)
      print "\n"
      
      if kazu == kuzi then
        printf ("《 %d 》は、当たり!\n\n", kuzi)
        b = b + 1  
      else
        print "残念!\n\n"
        printf ("実は当たりは、%d でした。\n\n", kuzi)
      end
      
      a = a + 1
    end
    
    printf (" %d 回当たりました。\n\n", b)
    
    if b == 3 then
      print "**********************\n"
      print "* 1 等おめでとーー!! *\n"
      print "**********************\n"
      
    elsif b == 2 then
      print "☆☆☆☆☆☆☆\n"
      print "☆ 2 等だね ☆\n"
      print "☆☆☆☆☆☆☆\n"
      
    elsif b == 1 then
      print " ------\n"
      print "| 3 等 |\n"
      print " ------\n"
    
    else
      print "ティッシュ1枚プレゼント\n"
    end
  33. 魔王と戦う
  34. #!/usr/koeki/bin/ruby
    
    #魔王と闘う
    def fight(attack,spell)
      attack * 9 + spell * 10  
    end
    
    def close(damage)
       printf("本当に %s なのか??\n\n\n",damage)
       sleep(2)
      2.times do
         print("はっはっはっ!!まだまだ余裕だぞ!!\n")
         sleep(1)
       end
    end
    
    STDERR.print("何回攻撃する?\n")
    attack = gets.chomp!.to_i      
    STDERR.print("呪文は何回唱える?\n")
    spell = gets.chomp!.to_i          
    
    printf("\n攻撃を %d 回して、呪文を %d 回したぜ!!\n",attack,spell)
    printf("魔王に %d のダメージを与えた!!\n",fight(attack,spell))
    
    STDERR.print("魔王は死んだのか?(死んだ、まだ、わからない)\n")    
    damage = gets.chomp!                     
    
    close(damage)
    
    sleep(3)
    coment = ["あれっ…魔王の様子がおかしいぞ。(パタッ)魔王は息絶えた。大勝利!!","ダメだ…レベルを上げて出直そう…","新しい武器を買ってもう一度挑戦だ!!"]
    
    srand
    comp=rand(3)
    printf("\n\n %s \n",coment[comp])
  35. 好きな色の箱を選ぶと中にプレゼントが入っている
  36. #!/usr/koeki/bin/ruby
    
    hako = ["あお", "きいろ", "ピンク", "みどり", "あか"] 
    
    nakami = ["残念!タワシ","おめでとうございます☆☆賞金一万円!!","高級レストランのお食事劵","残念!!ポケットティッシュ","あぁ〜飴玉一粒"]
    
    srand
    comp = rand(5)
    
    print "箱の中にプレゼントが入っています!!\n"
    sleep(1)
    print "何色の箱を選びますか??\n"
    sleep(1)
    
    STDERR.print "(0:あお, 1:きいろ, 2:ピンク, 3:みどり, 4:あか ) :"
    user = gets.chomp!.to_i
    printf "%s の中味は、ナント・・・ \n", hako[user]
    sleep(2)
    
    printf "%s でした!!\n", nakami[comp]
  37. 競馬ゲーム
  38. #!/usr/koeki/bin/ruby
    
    def zankin(a)
      printf ("財布の中のお金は %d万円です。またのお越しをお待ちしております。\n",a)
    end
    
    if ARGV[0] == nil
      STDERR.print ("バーチャル競馬場です。所持金を入力してご来場下さい。(単位:万円)\n")
      exit(1)
    end
    okane=ARGV[0].to_i
    uma=["堅実","飛龍","翻弄"]
    srand
    
    while okane>0
      STDERR.printf ("どの馬に投資しますか?  ( %s=1  %s=2  %s=3  やめる=4 ) ",uma[0],uma[1],uma[2])
      tousi=STDIN.gets.chomp!.to_i
      if tousi<1 || tousi>3
        break
      end
      tousi=tousi-1
      STDERR.printf ("所持金は %d万円です。いくら投資しますか? (単位:万円) ",okane)
      kake=STDIN.gets.chomp!.to_i
      if kake<=0 && okane<kake
        kake=1
      end
      STDERR.print ("スタート!--------------------------------------------------\n")
      kyori=[100,100,100]
      until kyori[0]==0 || kyori[1]==0 || kyori[2]==0
        for i in 0.. 2
          kyori[i]=kyori[i]-(3-i)*5-(rand(10)+1)*i
          if kyori[i]<0
            kyori[i]=0
          end
        end
        STDERR.printf ("ゴールまでの残り距離(M): %s=%2d0   %s=%2d0   %s=%2d0\n",uma[0],kyori[0],uma[1],kyori[1],uma[2],kyori[2])
        sleep(1)
      end
      STDERR.print ("\a")
      if kyori[tousi]==0
        okane=okane+kake*5
        STDERR.printf ("お見事です!!  配当金は %d万円です。所持金は %d万円になりました!\n\n",kake*5,okane)
      else
        STDERR.printf ("残念でした。投資金 %d万円は没収です。m(__)m\n\n",kake)
        okane=okane-kake
      end
    end
    zankin(okane)
  39. 目覚まし時計
  40. #!/usr/koeki/bin/ruby
    
    def naru(a)
      print "\a"
      if a==1
        STDERR.print ("起きろ、起きろ\n")
      else
        STDERR.print ("飯だ、飯だ\n")
      end
    end
    
    STDERR.print ("1秒前からカウントダウンします。何秒後に鳴らしますか?\n")
    toki=gets.chomp!.to_i
    STDERR.print ("スタート!\n")
    
    toki.downto(1) do |i|
      if i<11
        printf ("%s秒前!\n",i)
      end
      sleep(1)
    end
    
    srand
    oto=rand(2)
    naru(oto)
  41. 4人で遊ぶ
  42. #!/usr/koeki/bin/ruby
    
    asobi = ["鬼ごっこ","缶けり","かくれんぼ"]
    
    srand
    comp1  =rand(3)
    comp2 =rand(3)
    comp3 =rand(3)
    STDERR.print "四人で何して遊ぶ?多数決にしようぜ!\n私は(0: 鬼ごっこ,1: 缶けり,2: かくれんぼ) :"
    user = gets.chomp!.to_i
    
    if  user >= 3
       then  
     print"何でもいいんだね☆\n"
    end
    
    if  user <=2
       then
    printf "わたしは %s でした \n", asobi[user]
    end
    
    printf "    結果発表!!!ジャジャジャジャジャ〜ン!\n"
    sleep(3)
    printf "2人目!\n"
    sleep(2)
    printf" %s でした。\n", asobi[comp1]
    sleep(2)
    printf "3人目!\n"
    sleep(2)
    printf" %s でした。\n", asobi[comp2]
    sleep(2)
    printf "4人目!\n"
    sleep(2)
    printf" %s でした。\n", asobi[comp3]
  43. 破壊力
  44. #!/usr/koeki/bin/ruby
    
     def hakairyoku(x1,x2,y)
       hakai =( x1 + x2) / y 
       printf ("総合力は%4.2fオンスです\n",hakai)
     end
    
     STDERR.print "瞬発力。立ち幅跳びの記録をcmで入力してください"
     syun = gets.chomp!.to_f
     STDERR.print "持久力。シャトルランの記録を回数で入力してください"
     jikyu = gets.chomp!.to_f
     STDERR.print "スピード。百mの記録を秒で入力してください"
     speed = gets.chomp!.to_f
     hakairyoku(syun,jikyu, speed)
    
     start = Time.now.to_i
    
     while true
     if Time.now.to_i - start > 1
    
     3.downto(1) do |i|
       printf ("コメントが届いています%s秒\n",i)
       sleep(1)
     end
    
       print "お前に喰わすタン麺はねぇ!!!!!!!!!!!!\n"
       break
     end
     end
  45. 1週間の睡眠時間の合計
  46. #!/usr/koeki/bin/ruby
    
    print "1週間の睡眠時間の合計を測ります\n"
    
    def jikan(a,b,c,d,e,f,g)
    
        goukei = a + b + c + d + e + f + g
       
        sleep(2)
        if goukei > 70
         print "------寝すぎです------\n"
        sleep(2)
         print "牛になってしまいます!!(+_+)\n"
        elsif goukei > 42
         print "-------普通です-------\n"
        sleep(2)
         print "あなたは普通人間です。(*_*)\n"
        else goukei < 42
         print "-----睡眠不足です-----\n"
        sleep(2)
         print "死んでしまいます…(-_-)\n"
        end
    
    end
    
    STDERR.print "月曜日:"
    ge = gets.chomp!.to_i
    STDERR.print "火曜日:"
    ka = gets.chomp!.to_i
    STDERR.print "水曜日:"
    su = gets.chomp!.to_i
    STDERR.print "木曜日:"
    mo = gets.chomp!.to_i
    STDERR.print "金曜日:"
    ki = gets.chomp!.to_i
    STDERR.print "土曜日:"
    dou =  gets.chomp!.to_i
    STDERR.print "日曜日:"
    ni = gets.chomp!.to_i
    jikan(ge,ka,su,mo,ki,dou,ni)
  47. 下校中の太郎君の前に魅惑の自販機が出現した!! 太郎君は見事コーラを手に入れることができるのか?!
  48. #!/usr/koeki/bin/ruby
    
    drink = ["コーラ","なぜかホットなジンジャエール","なぜかホットなコーラ"]
    srand
    comp=rand(3)
    
    def owari(comp)
     if comp == 0
     then print"太郎「やったー。」\n太郎君は見事コーラを手に入れた\n"
     elsif comp == 1
     then print"太郎「あ!ちきしょう!!」\n太郎君は鬼と化した!!\n"
     elsif comp == 2
     then print"太郎「あ!ちきしょう!!」\n太郎君は鬼と化した!!\n"
     end
     print"おしまい。\n"
     end
    
    STDERR.print "太郎君はジュースを買うために自販機に100円を入れた!\n(0: コーラ,1: コーラ,2: コーラ) :"
    user = gets.chomp!.to_i
    
    print "太郎「全部コーラかよ!!」\n"
    sleep(1)
    printf "太郎君はコーラのボタンを押した!! \n"
    sleep(0.5)
    9.downto(1) do |i|
      printf ("チッ♪\n",i)
      sleep(0.3)
    end
    sleep(1)
    printf "自販機から%sが飛びだした!!\n", drink[comp]
    sleep(0.5)
    
    owari(comp)
  49. 飲酒度
  50. #!/usr/koeki/bin/ruby
    
    print "あんたが酔っているかを調べるぜい!!\n"
    
    def insyu(ryou, zikan)
     ryou * zikan
    end
    
    STDERR.print "あんたは何杯飲んでんだ?\n"
    ryou = gets.to_i
    
    STDERR.print "あんたは何時間、飲んでなや?\n"
    zikan = gets.to_i
    
    printf("あんたの飲酒度は%dだ〜!5以上からは皆さんこの人に注意が必要ですよ!!\n",insyu(ryou, zikan))
    
    print "本当に酔っているか、本人に確認してみよう!\n"
    
    hontono = ["チョーしらふじゃ、何が飲酒度じゃボケ!","まだまだ飲めるじぇい!","ダメだ気持ち悪い、ゲボ、うぇ〜"]
    srand
    comp=rand(3)
    
    printf "俺は、 %s  \n", hontono[comp]
    
    print "酒の強さは人それぞれということで ^_^!\n"
  51. お店に客が来店したときのプログラム
  52. def waiter(a)
        a 
      end
      STDERR.print"いらっしゃいませ。何名様ですか"
      ninnzuu = gets.chomp!
      printf("では %d 名樣ご案内いたします\n",waiter(ninnzuu))
    
      sleep(3)
      print"\n"
      print "いらっしゃいませ。今日のメニューはこちらです\n"
    
      sleep(2)
      print "\n"
      print "当店の人気メニューがございますがいかがですか。数に限りがございますが\n"
      
      start = Time.now.to_i
    
      while true
        if Time.now.to_i - start > 7
           print "たった今売り切れてしまいました他のメニューからでよろしいですか\n"
          break
        end
      end
    
  53. おみくじ
  54. #!/usr/koeki/bin/ruby
    
    omikuzi = ["大吉","中吉","小吉","吉","末吉","凶","大凶"]
    
    srand
    comp=rand(7)
    
    STDERR.print "二人でおみくじ引かない?(1〜7)好きな数字入力して★ :"
    user = gets.chomp!.to_i
    user =rand(7)
    
    print "せーの!でいくよ!10秒前〜♪\n"
    sleep(1)
    3.downto(1) do |i|
    sleep(1)
    end
    
    print "えっ!?ちょっと待って!"
    sleep(1)
    
    5.downto(1) do |i|
      printf ("「あと%s秒★」\n",i)
      sleep(1)
    end
    
    printf " あ〜、%s だ!('皿') \n", omikuzi[comp]
    printf "うそっ!わたしは %s だった(@0@;)\n", omikuzi[user]
  55. あっち向いてホイとジョジョ
  56. #!/usr/koeki/bin/ruby
    
    def attimuitehoi()
    while true
    janken = ["グー","チョキ","パー"]
    
    srand
    comp=rand(3)
    
    STDERR.print "じゃんけんぽん!(0: ぐー,1: ちょき,2: ぱー) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s でした \n", janken[comp]
    printf "わたしは %s でした。\n", janken[user]
    
    if (user == 0 && comp == 1) || (user == 1 && comp == 2) || (user == 2 && comp == 0)
    printf "あなたの勝ち!\n"
    end
    if (user == 0 && comp == 2) || (user == 1 && comp == 0) || (user == 2 && comp == 1)
    printf "あなたの負け…\n"
    
    exit(0)
    end
    
    attimuitehoi = ["うえ","した","ひだり","みぎ"]
    
    srand
    comp=rand(4)
    STDERR.print "あっちむいてホイ!(0: うえ,1: した,2: ひだり,3: みぎ) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s でした \n", attimuitehoi[comp]
    printf "わたしは %s でした。\n", attimuitehoi[user]
    if (user == 0 && comp == 0) || (user == 1 && comp == 1) || (user == 2 && comp ==2) || (user == 3 && comp ==3)
    then print "あなたの勝ちです! \n"
    break 
    end
    end
    end
    
    
    def jyojyo()
    
    srand
    dio = rand(2)
    
    print "時よ止まれ!\n"
    sleep(1)
    
    30.downto(1) do |i|
      printf ("%sおら!\n",i)
      sleep(0.1)
    end
    
    if dio == 1
      print "そして時は動きだす!!\n"
     else
      print "ドカーン!!\n"
    end
    end
    
    print "遊びたいゲームを選んでください、1,あっち向いてホイ 2,ジョジョ\n"
    item = gets.chomp!.to_i
    
    if item == 1
      attimuitehoi
    else
      jyojyo
    end
  57. 抽選会
  58. #!/usr/koeki/bin/ruby
    
    def kuji ()
     print " THE 抽選会!\n"
    end               
    kuji
    
    sleep(1)
    STDERR.print "抽選を始めますか?(y . n)"
    s = gets.chomp!
    
    if s == "y"
      sleep(1)
      print "では始めます\n"
    else
      print "ひやかしですかぁ!!?\n"
      exit(1)
    end
    
    sleep(1)
    
    3.downto(1) do |i|
      printf ("がらっ!\n",i)
      sleep(1)
    end
    
    kekka = ["特賞、究極のポケットティシュ","2等、伝説のポケットティシュ","3等、幻のポケットティシュ","4等、いい感じのポケットティシュ","残念賞、ポケットティシュ"]
    
    srand
    comp=rand(5)
    
    
    print "おめでとうございます!!! \n"
    sleep(1)               
    printf "%s です \n",kekka[comp] 
  59. 火災が起きたときのプログラム
  60. #!/usr/koeki/bin/ruby
     
    STDERR.print "火災発生!!火災発生!! \n"
    sleep(1)
    STDERR.print "消防隊員は消防車で待機して下さい。\n"
     
    print "-------------------------------------\n"
    
    kasai = ["タバコの不始末","放火","ストーブ"]
    
    srand
    genin=rand(3)
    
    sleep(1)
    STDERR.print "出火原因は何ですか?\n"
    sleep(1)
    printf "%sです。\n ",kasai[genin]
    sleep(1)
    print "-------------------------------------\n"
    
    
    def kega(a,b,c)
     sum = a + b + c 
    end
    
    keishou = 0
    juutai = 0
    nigeokure = 0
    
    STDERR.print "軽傷の人は何人いますか? : "
    keishou = gets.chomp!.to_i
    STDERR.print "重傷の人は何人いますか? : "
    juutai = gets.chomp!.to_i
    STDERR.print "逃げ遅れた人はいますか? : "
    nigeokure = gets.chomp!.to_i
    
    printf "合計 %d人の人命救助が必要です。\n",kega(keishou,juutai,nigeokure)
    sleep(1)
    
    print  "-------------------------------------\n"
    
    STDERR.print "出動準備は良いですか?(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
    else
      print "準備ができしだい直ちに出動して下さい!!\n"
      exit(1)
    end
    
    srand
    count = rand(2)
    
    print "出動5秒前\n"
    sleep(1)
    
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    
    if count == 1
      print "火災現場に出動します!! \n"
    else
      print "現場へ急げ!! \n"
    end
    
    print "-------------------------------------\n"
    
    sleep(3)
    if count == 1 
     print "無事に皆の命を救うことが出来ました。\n"
     print "めでたし★めでたし★\n"
    else
     print "クソッ!!自分がふがいないために皆の命を救うことができなかった…。\n"
     print "***THE END***\n"
    end
  61. スポーツ試合の最後頃の状況
  62. #!/usr/koeki/bin/ruby
    
     def sport (x,y)
       score = x - y
      if score >= 1 then 
       print "勝ちました\n"
      elsif score == 0
       print "引分でした\n" 
      else 
       print "負けました\n"  
      end  
     end
    
      STDERR.print "自分のチームの現在の点数を入力して下さい。\n"
      jibun = STDIN.gets.chomp!.to_i 
      STDERR.print "相手のチームの現在の点数を入力して下さい。\n"
      aite = STDIN.gets.chomp!.to_i 
    
     print "試合終了5秒前\n"
     sleep(1)
    
     4.downto(1) do |i|
       printf ("%s秒前\n",i)
       sleep(1)
     end
      printf "ピー!!\n"
      sleep(1)
      printf "試合が終了しました。\n"
     
     sport(jibun,aite)
  63. パンの焼き時間を入力して、焼き具合はどうだったか表示させる
  64. #!/usr/koeki/bin/ruby
    
    def toast(a)
      if a < 5
        print "残念!まだ火が通りませんでした。\n"
      elsif a < 10
        print "成功!!うまく焼けています!!\n"
      else
        print "失敗!!焦げてしまいました。\n"
      end
    end
    
    STDERR.print "パンを焼きます。何分焼きますか?(1〜20分で入力して下さい):"
    item = gets.chomp!.to_i
    
    print "出来上がりまで 5 秒前\n"
    sleep(1)
    
    4.downto(1) do |i|
      printf ("%s\n",i)
      sleep(1)
    end
    
    print"チーン!!\n"
    sleep(1)
    print"上手く焼けたかな??\n"
    sleep(1)
    
    toast(item)
  65. 告白する
  66. #!/usr/koeki/bin/ruby
    
    print "二人で一緒に祭に行くことになった…。\nそういえば…\n \n"
    
    def deai(a,b)
      age = a - b
      printf (".oO(この人と出会って%d年たつんだな…)\n",age)
    end
      sleep(2)
    
    print "* ◯に数を入力してね *\n"
    STDERR.print ".oO(私は今◯才…) : "
     a = gets.chomp!.to_i
    STDERR.print ".oO(この人と◯才の頃仲良くなった…) : "
     b = gets.chomp!.to_i
    deai(a,b)
    sleep(2)
    
    print " \n私は、この人のことをいつのまにか好きになっていた…。\n"
    sleep(2)
    print "いや。初めて逢った時から惹かれていたのかもしれない…。\n"
    sleep(2)
    
    STDERR.print " \n今日…告白しようか…(y or n) : "
     koku = gets.chomp!
      if koku == "y"
          print "\n.oO(よし!最初の花火が上がったら告白しよう!)\n"
      else
          sleep(1)
          print ".oO(まだダメだ…。勇気が無い…)\n"
          sleep(2)
          print "\n --The End--\n"
          exit(1)
      end
      sleep(3)
    
    srand
    hanabi = rand(2)
    
    print "\n花火が上がるぞ!!\n"
    sleep(2)
    
    5.downto(1) do |i|
      printf ("%s秒前          ドキドキ…\n",i)
      sleep(2)
    end
      print "\nヒュルルル……ドーン!!!  パラパラパラ…\n"
      sleep(3)
      print "\n「ずっと…ずっと…好きだったんだ!!」\n"
      sleep(3)
    
    STDERR.print " \n相手の反応は??(1:よさげ 2:微妙) : "
     koku = gets.chomp!.to_i
      if koku == 1
          sleep(1)
          print "\n「本当に?!嬉しいなvvv」\n"
          sleep(2)
          print "\n !!!おめでとう!!!\n ★☆Happy End☆★\n"
      else
          sleep(1)
          print "\n「ごめん…。」\n"
          sleep(2)
          print "\n 川 残念… 川\n ---Bad End---\n"
      end
  67. 閏年を調べる
  68. #!/usr/koeki/bin/ruby
    
    def years(x)
     if x % 400 ==0
        "366"
      elsif x % 100 ==0
        "365"
      elsif x % 4 ==0
        "366"
      else
        "365"
      end
    end
    
    if ARGV[0]==nil
    
    
    srand
    comp=rand(5)
    
    STDERR.print "西暦は?(0: 1984,1: 2004,2:2005,3:2006,4:2007) :"
    answer = gets.chomp!.to_i
    
    STDERR.print"閏年を判定したい年を指定して下さい\n"
    
     exit 0
    end
    x=ARGV[0].to_i
    
    sleep(2)
    printf"西暦%d年は、%s日です!!\n",x,years(x)
     
    
    
    t = Time.now
    p t.year   #年=> 2005
    p t.month   #月=> 3
    p t.day  #日=> 14
    p t.hour  #時=>15
    p t.min   #分=>20
    p t.sec   #秒=>05
    t.utc
    p t.strftime("%Y/%m/%d/%A/%H/%M/%S")
    t.localtime
    p t.strftime("%Y/%m/%d/%A/%H/%M/%S")
  69. クイズ
  70. #!/usr/koeki/bin/ruby
    STDERR.print "質問を出します。制限時間は5杪です。準備は良いですか(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "では出題します\n"
    else
      print "準備が出来たらもう一度実行して下さい\n"
      exit(1)
    end
    
    print "次のうちコンピュータの考えていることをを当てて下さい。1、疲れだ2、眠い3、腹減った\n"
    srand
    rocket = rand(3)
    
    print "はいスタート!\n"
    sleep(1)
    
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    
    if rocket == 1
      print "疲れだ\n"
    elsif rocket == 2
      print "眠い\n"
    else
      print "腹減った\n"
    end
  71. モグラ叩き
  72. #!/usr/koeki/bin/ruby
    def ten(a)
      a * 10
    end
    mogura = [0,1,2,3,4,5]
    print("モグラ叩きををします。時間は10秒間です。\n")
    sleep(2)
    print "3秒前\n"
    sleep(1)
    
    2.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    
    print("start!!!!\n")
    b = 0
    start = Time.now.to_i
    while true
      srand
      mogu = rand(6) 
      printf("%d\n",mogu)
      STDERR.print "モグラを叩いて下さい(0,1,2,3,4,5) :" 
      user = gets.chomp!.to_i 
      if
        Time.now.to_i - start > 10
        print("時間切れです!!\n")
        break
      end
      if user == mogu
        b += 1   
      else
        break
      end
    end
    printf ("あなたの得点は%d点です。\n", ten(b))
  73. 懸垂トレーニングをしている選手と監督
  74. #!/usr/koeki/bin/ruby
    def kensui(a)
      a + 3
    end
    
    STDERR.print "監督「始める前に懸垂の回数を決めろ!!」"
    item = gets.chomp!.to_i
    printf ("監督「じゃ目標は%sだ!!さぁやれ!!」\n",kensui(item))
    
    srand
    kensui = rand(2)
    
    printf ("懸垂あと残り%s回だ!!\n",kensui(item))
    sleep(1)
    
    kensui(item).downto(1) do |i|
      printf ("あと%s回\n",i)
      sleep(1)
    end
    
    if kensui == 1
      print "選手「終ったぁぁ」\n" 
      sleep(1)
      print "監督「今日はこれで終わりだ!!」\n"
    else
      print "選手「終ったぁぁ」\n"
     sleep(1)
      print "監督「たるんでいるぞ!!もう10回追加だ!!」\n"
     sleep(1)
      print "選手「そんなばかな!!」\n"
    srand
    kensui = rand(2)
    
    print "懸垂あと残り10回、、\n"
    sleep(1)
    
    9.downto(1) do |i|
      printf ("あと%s回\n",i)
      sleep(1)
    end
     print "選手「監督、、もう無理です」\n"
     sleep (1)
     print "監督「今日はこれぐらいで勘弁してやるか、、、」\n"
    end
  75. 爆弾を解体する
  76. #! /usr/koeki/bin/ruby
    def bom(kakugo)
    if kakugo == "y"
      print "始めるぞ!\n"
    else
      print "バカモノ!!!貴様はクビだ!!\n"
      exit(1)
    end
    end
    STDERR.print "これより爆弾を解体する、あと少しで爆発するぞ。覚悟はいいか?(y or n)"
    kakugo = gets.chomp!
    
    bom(kakugo)
    
    def bom(kode)
    srand
     kode = rand(2)
    if kode == 1
       print "よし!良くやった。爆弾は止まった。\n"
    else
      print "ドーーン、、、残念。\n"
    end
    end
    
    STDERR.print "赤か青、どっちかのコードを切れ!!(red or blue)"
    kode = gets.chomp!
     
    bom(kode)
  77. このプログラムはジャンケンをして、勝った人から好きなところに並んで写真を撮る
  78. #!/usr/koeki/bin/ruby
    
    
    janken = ["グー","チョキ","パー"]
    srand
    comp=rand(3)
    
    STDERR.print "じゃんけんぽん!(0: ぐー,1: ちょき,2: ぱー) :"
    user = gets.chomp!.to_i
    
    printf "僕は %s でした \n", janken[comp]
    printf "わたしは %s でした。\n", janken[user]
    printf "彼は%sでした。\n",janken[comp]
    printf"勝った人から好きなところに並んで!\n"
    
    #!/usr/koeki/bin/ruby
    
    srand
    syatter = rand(2)
    
    
    5.downto (1) do |i|
     printf ("%s秒前\n",i)
      sleep(1)
    end
    
    if syatter == 1
      print "はいチーズ!\n"
    sleep(1)
     print "パシャ!\n"
    end
  79. 給料を計算する
  80. #!/usr/koeki/bin/ruby
    
    def kyuuyo(a,b,c)
       kingaku = a * b
       sleep(1)
       printf ("1日で貰える金額は、%d円になります。\n",kingaku)
       sleep(5)
       goukei  = kingaku * c
       printf ("%d日働いて貰える金額は、%d円になります。\n",c,goukei)
    end
    
    STDERR.print "時給を入力してください。"
    jikyu = gets.chomp!.to_f
    STDERR.print "時間を入力してください。"
    jikan = gets.chomp!.to_f
    STDERR.print "日数を入力してください。"
    nissuu = gets.chomp!.to_f
    kyuuyo(jikyu,jikan,nissuu)
  81. テストの平均を出す
  82. #!/usr/koeki/bin/ruby
    
    def test(k,m,s,e,b)
      heikin = (k + m + s + e + b) / 5
    print "処理中です。\n"
    sleep(3)
    print "平均点の演算が終了しました\n"
    sleep(1)
      printf ("テストの平均点は%4.2fです。\n",heikin)
    end
    
    
    STDERR.print "国語の点数を入力してください"
    kokugo = gets.chomp!.to_i
    STDERR.print "数学の点数を入力してください"
    math = gets.chomp!.to_i
    STDERR.print "社会の点数を入力してください"
    syakai = gets.chomp!.to_i
    STDERR.print "英語の点数を入力してください"
    eigo = gets.chomp!.to_i
    STDERR.print "物理の点数を入力してください"
    buturi = gets.chomp!.to_i
    test(kokugo, math, syakai, eigo, buturi)
  83. 平均睡眠時間
  84. #!/usr/koeki/bin/ruby
    
    def suimin(kyou,kinou,ototoi)
       (kyou + kinou + ototoi)/3
    end
    
    kyou = 0
    kinou = 0
    ototoi = 0
    
    print"ここ最近の睡眠時間を教えて下さい。\n"
    printf"今日は何時間寝た?\n"
    kyou = gets.chomp!.to_i
    printf"昨日は何時間寝た?\n"
    kinou = gets.chomp!.to_i
    printf"一昨日は何時間寝た?\n"
    ototoi = gets.chomp!.to_i
    printf("ここ3日の平均睡眠時間は%d時間です。人間は一日六時間くらい寝れば充分らしいよ?\n",suimin(kyou,kinou,ototoi))
    
    item = ["鍋のふた","カレー","つめ切り","英字新聞","指輪","クーピー","柴犬","トマト","木の実ナナ","タイガースカラー","本気の心","人を愛する心","時折見せる遠い視線","何もかも犠牲にしても俺は後悔しないと言い切る瞬間","ピスタチオ","かまくら一番","パラキス","床暖房"]
    srand
    user=rand(18)
    
    printf"☆今日のラッキーアイテムは%sです☆\n",item[user]
    print"☆行ってらっしゃい☆\n"
  85. おみくじ
  86. #!/usr/koeki/bin/ruby
    
    omikuji = ["大吉","中吉","吉","凶","大凶"]
    
    srand
    comp=rand(5)
    
    STDERR.print "おみくじをひいて下さい!(0: 大吉,1: 中吉,2: 吉,3: 凶,4: 大凶) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s でした \n", omikuji[comp]
    printf "わたしは %s でした \n", omikuji[user]
  87. パフェ屋さんに行って注文する
  88. #!/usr/koeki/bin/ruby
    
    pafe = ["チョコレートパフェ","フルーツパフェ,","抹茶パフェ","ケーキパフェ"]
    
    srand
    comp=rand(4)
    
    STDERR.print "どのパフェにしますか?(^-^)(0: チョコレートパフェ,1: フルーツパフェ,2: 抹茶パフェ,3:ケーキパフェ) :"
    user = gets.chomp!.to_i
    
    printf "あなたは %s を注文しました \n", pafe[comp]
    printf "わたしは %s を注文しました \n", pafe[user]
  89. アヒルのレース大会
  90. #!/usr/koeki/bin/ruby
    
    jyunban = ["1位","2位","3位","4位","5位"]
    
    srand
    race=rand(5)
    
    STDERR.print "********************アヒルのレース大会 *************************\n\n"
    
    STDERR.print "あなたはどのアヒルを選びますか(0: 1コース アべル 1: 2コース アリル 2: 3コース アル 3: 4コース シビル 4: 5コース ヒルル):"
    
    user = gets.chomp!.to_i
    
    srand
    kekka = rand(2)
    
    sleep(2)
    
    print "パンパカパーン!! \n\n"      
    
    sleep(2)
    printf "用意!\n\n"
    sleep(2)
    printf "スタート!!\n\n" 
    sleep(2)
    
    5.downto(2) do |i|
      printf ("てくてく\n\n",i)
      sleep(2)
    end
    
    if  kekka == 1
      print "バーン!! 結果はーーー!!\n\n\n"
    end
    
    sleep(2)
    printf "あなたの選んだアヒルの順位は%sでした!\n",jyunban[race]
                                                        
    
    def syoukin(x)
       
      kinngaku = (5 - x) * 100
      
        printf("賞金は%d万円でーす! 御来店ありがとうございましたー!\n",kinngaku) 
      
    end 
       
    
    STDERR.print "現在の順位を入力してください"
    ban = gets.chomp.to_i
    
    syoukin(ban)
  91. じゃんけんをして勝率を計算する
  92. #! /usr/koeki/bin/ruby
    
    def wina(a,b)
     ave = a / b.to_f
     ave *= 100
     printf ("勝率は %6.3f パーセントです。\n",ave)
    end
    def losa(c,d)
     ave = c / d.to_f
     ave *= 100
     printf ("敗率は %6.3f パーセントです。\n",ave)
    end
    def evea(e,f)
     ave = e / f.to_f
     ave *= 100
     printf ("引き分け率は %6.3f パーセントです。\n",ave)
    end
    
    win = 0
    lose = 0
    so = 0
    bat = 0 
    my = 1
    time = 0
    te = [ "おしまい","グー @","チョキ v","パー *"]
    comte = [ "グー @","チョキ v","パー *"]
    un = ["良好","普通","悪い"]
    while my > 0 
    
    print "じゃーんけーん......\n"
    sleep(1)
    
    STDERR.print "ぽん!(1: ぐー,2: ちょき,3: ぱー 0:おしまい) >"
    my = gets.chomp!.to_i
    
    srand
    com = rand(3)
    
    if my == 0
     break
    end
    if my >3
     break
    end
    
    printf "あなたの手:(%s) VS コンピュータの手:(%s)\n",te[my] ,comte[com]
    bat += 1
    
     if my == 1
       if com == 0
          print "■ あいこでした。\n"
          so += 1
       elsif com == 1
             print "◎ YOU WIN!!\n"
             win += 1
       else
             print "× YOU LOSE...\n"
             lose += 1
       end
     end
     if my == 2
        if com == 1
          print "■ あいこでした。\n"
          so += 1
       elsif com == 2
             print "◎ YOU WIN!!\n"
             win += 1
       else
             print "× YOU LOSE...\n"
             lose += 1 
       end
     end
     if my == 3
        if com == 2
          print "■ あいこでした。\n"
          so += 1
       elsif com == 0
             print "◎ YOU WIN!!\n"
             win += 1
       else
             print "× YOU LOSE...\n"
             lose += 1
        end
     end
    print "\n"
    end
    
    print "\n"
    time = Time.now.to_s
    printf ("**** %s の結果 ****\n",time)
    printf ("%d 回勝負しました!!\n",bat)
    printf ("%d 勝 %d 敗 %d 分でした!!\n",win ,lose ,so)
    print "\n"
    wina(win,bat)
    losa(lose,bat)
    evea(so,bat)
  93. なんちゃって診断
  94. #!/usr/koeki/bin/ruby
    
    
    hizuke = ["明日","1週間後","3年後"]
    zikan = ["今と同じ時間","深夜","星の綺麗な時間帯"]
    donna = ["見知らぬ","今隣に居る","運命の"]
    naniga = ["恋におちる","カラオケに行く","ケンかをする"]
    saigo = ["かもしれません","でしょう"]
    
    def kekka(a,b,c,d,e)
     printf("あなたは%sの%sに%s人と%sことになる%s\n",a,b,c,d,e)
    end
    
    STDERR.print"さて、なんちゃって診断をしましょ★準備はいいかい?(y or n)"
    ready = gets.chomp!
    
    if ready=="y"
      sleep(1)
      print"しばらく心を落ち着けてお待ちなさい☆\n"
    else
      print"なんでダメなのよ!別にいいじゃん!!気楽にいこうぜぃ!!!\n"
      exit(1)
    end
    sleep(2)
    7.times{
    sleep(1)
    print"     *****うらないちゅう*****\n"
    }
    sleep(1)
    print"\a"
    print "\n!!!!!あなたの未来が見えました!!!!!\n\n"
    sleep(3)
    
    srand
    a=rand(3)
    
    srand
    b=rand(3)
    
    srand
    c=rand(3)
    
    srand
    d=rand(3)
    
    srand
    e=rand(2)
    
    kekka(hizuke[a],zikan[b],donna[c],naniga[d],saigo[e])
  95. 誕生日メールを送り、で0時ぴったりにお祝いのメッセージを伝える
  96. #!/usr/koeki/bin/ruby
    
    STDERR.print "メールが届きました♪開けて見ますか?(y or n)"
    miru = gets.chomp!
    
    if miru == "y"
      sleep(1)
      print "ただ今の時刻23時59分50秒です。" 
    else
      print "せっかくのバースデーメールだったのに。。。残念ですね(+_+)\n"
      exit(1)
    end
           
    srand
    birthday = rand(2)
    
    
    10.downto(1) do |i|
      printf ("%s秒前!!\n",i)
      sleep(1)
    end
    
    
    if birthday == 1
      print "★☆★お誕生日おめでとう★☆★\n"
    else
      print "☆★☆HAPPY BIRTHDAY☆★☆\n"
    end
  97. 自分の月の給料と相手の月の給料を比べる
  98. #!/usr/koeki/bin/ruby
    
    STDERR.print "今月の給料をわたしと比べてみますか?(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "自分の給料を選択して下さい\n"
    else
      print "自信があるときにでももう一度実行して見て下さい。またね〜☆\n"
      exit(1)
    end
    
    kyuryoukyousou = ["80000円","60000円","30000円"]
    
    srand
    comp=rand(3)
    STDERR.print "せーの!(0: 80000円,1: 60000円,2: 30000円) :"
    user = gets.chomp!.to_i
    
    printf "今月の給料はわたしは %s でした \n", kyuryoukyousou[comp]
    printf "今月の給料はあなたは %s でした。\n", kyuryoukyousou[user]
    
    print "満足いただけましたでしょうか?また来月♪\n"
  99. ブラックジャック
  100. #! /usr/koeki/bin/ruby
    
    card = [1,2,3,4,5,6,7,8,9,10,11,12,13]
    
    srand           #乱数を発生させます。cardの中の配列からひとつ選び、あと
                     の計算に使います。
    user=rand(13)    
    
    users = 0  #usersとchoiの値が0であると定義します。
    choi = 0
    
    STDERR.print "カードを引いて下さい。\n"
    users += card[user]   #上で発生させた乱数をusersの中に足します。
    
    while true
     STDERR.printf ("現在の合計は %dです。\n",users) 
        #それまで足した合計を表示させます。
      if users < 22   
          then printf"まだカードを引きますか?(y or n):\n"
             choi = gets.chomp!
        #usersの値が22以下の場合、まだカードを引くか(乱数を発生させてさらに
         usersに足すか)を質問します。
              if choi == "y"
                then srand
                     user = rand(13)
                     users += card[user]
        #"y"と入力された場合、さらに乱数を発生させてusersに足していきます。          
               elsif choi == "n"  
               then break
                end
        #"n"と入力された場合、処理を終了します。
       elsif users >= 22 
          then break
         end
       #usersの値が22以上の場合、処理を終了します。
    end
     
    if users >= 22 then
      printf("21を超えました。残念!\n")
      #上記の計算が終了した後、usersの値が22を超えた場合、上の文を表示します
    
    elsif users == 21 then
      printf("おめでとう!ブラックジャックです!\n")
      #上記の計算が終了した後、usersの値が21ちょうどの場合、上の文を表示しま
       す。     
     
    elsif users <= 20 then
      printf("20以下で終了しました。ブラックジャックは狙わないんですか?\n")
      #上記の計算が終了した後、usersの値が20以下の場合、上の文を表示します。
    end
  101. ヒーローを呼ぶ
  102. #!/usr/koeki/bin/ruby
    
    STDERR.print "怪人が現れた!!ヒーローを呼びますか?(y or n)"
    tasukete = gets.chomp!
    
    if tasukete == "y"
      sleep(1)
      print "助けてーーー!!\n"
    end
    
    if tasukete == "n"
     sleep(1) 
     print "地球は終りだ。はっはっは!!\n"
    end
    
    sleep(2)
    print "とうっ!!\n"
    sleep(1)
    
    print "赤レンジャー!!\n"
    sleep(1)
    
    print "青レンジャー!!\n"
    sleep(1)
    
    print "黄レンジャー!!\n"
    sleep(1)
    
    print "桃レンジャー!!\n"
    sleep(1)
    
    
    print "緑レンジャー!!\n"
    sleep(1)
  103. power,damageを用いてuser(自分)がcomp(相手投手)のスタ ミナをuser(自分側)の打席の結果に応じて削っていく
  104. #!/usr/koeki/bin/ruby
    
    power = 500
    damage = 0
    
    def sutamina(power,damage)
      sutamina = power - damage
      printf ("相手投手の残りのスタミナは %d です\n",sutamina)
    end
    
    daseki = ["連打","ホームラン","バント"]
    
    srand
    comp=rand(3)
    
    STDERR.printf "打席の結果(0:連打,1:ホームラン,2:バント) :"
    user = gets.chomp!.to_i
      if user == 0
        damage += 50
      elsif user == 1
        damage += 100
      elsif user == 2
        damage += 30
      end
    sutamina(power,damage)
    
    printf ("あなたの投げた球は %s されました\n",daseki[comp])
    printf ("わたしの打席は %s でした\n",daseki[user])
  105. RPGが楽しめる(!?)プログラム
  106. #!/usr/koeki/bin/ruby
    def start ()
    print"あなたは洞窟の中を探険しています。\n"
    end 
    start
    sleep(2)
     job = ["勇者","魔法使い","遊び人","悪の大魔王","政治家"]
    
    srand
    comp=rand(5)
    
    printf "あなたは %s になりました \n", job[comp]
    sleep(1)
    STDERR.print "3本の分かれ道があります。どの道を進みますか。(1: 左,2: 真ん中,3: 右)\n"
    road = gets.chomp!.to_i
         
    if road == 1
     print"あっ!\n"
     sleep (1)
     print"落とし穴に落ちてしまいました。\n"
     print"〜ゲームオーバー〜\n"
     sleep(2)
    
    STDERR.print"と、思ったら大間違いまだまだ続きます。(1: 前,2: 後)\n"
    road2 = gets.chomp!.to_i
    if road2 == 1
    sleep(1)
    print"ふたたび落し穴にはまる・・・\n"
     print"〜 ゲームオーバー 〜\n"
     exit
    
    elsif road2 == 2
    sleep(1)
    print"洞窟の入口に戻りました!\n"
    exit
    end 
    
    elsif road == 3
      print"あっ!\n"
      sleep(1)     
      print"しばらく歩き続けると、もとの場所にもどってしまいました。\n"
      sleep (1)
      print"宝箱には見向きもせず、お家に帰りました。\n"
      print"〜 ゲームオーバー 〜\n"
      exit
     
    elsif road == 2 
      print"あっ!\n"
      sleep (1)
      STDERR.print"宝箱をみつけました!どうしますか? (1: そのまま, 2: あけてみる)\n"
      takara = gets.chomp!.to_i
    
    if takara == 1
       print"あなたは洞窟の奥へへ進みました。\n"
       sleep(1) 
       STDERR.print"キング◯ライムが現れた!(1: 戦う,2: 逃げる)\n"   
       mon = gets.chomp!.to_i
    
      if mon == 1
    sleep(2)
         print"キング◯ライムを倒した。1000G手に入れた。\n"
     exit
    
      elsif  mon == 2
    sleep(2)
        print"何とか逃げきった。\n"
         exit 
    end
    else takara == 2 
        print"パカッ\n"
        sleep (1)
        print"まばゆい光があふれだす……\n"
        sleep (2)
        print"ツルピカなハゲたおじいちゃんを手に入れた!!\n"
        sleep (1)
        print"〜 CONGRATULATIONS!〜\n"
        print "おわり\n"
        exit
    end
    end
  107. だんごを買うプログラム
  108. #!/usr/koeki/bin/ruby
    
    print "「いらっしゃいませー!!」\n"
    sleep(1)
    print "「みたらし・あんこ・胡麻 がございますが、何になさいますか??」\n"
    sleep(2)
    
    dango = ["みたらし","あんこ","胡麻"]
    
    srand
    comp=rand(3)
    
    printf "\n「%s ですね!!かしこまりました!!」\n", dango[comp]
    sleep(2)
    
    def dango(a,b=30)
      goukei = a * 30
      printf("\n「ありがとうございます!!」\n「合計で%3.0d円になります!!」\n",goukei)
    end
    
    STDERR.print "\n「何粒お召しあがりになりますか??一粒30円になります!!」 : "
    kazu = gets.chomp!.to_i
    dango(kazu, y=30)
  109. ラッキーカラーを占う
  110. #!/usr/koeki/bin/ruby
    
    def welcome()
      print "ようこそ!あなたの今日のラッキーカラーを占います☆\n"
    end
    
    welcome
    
    color = ["あか","あお","きいろ","みどり","しろ","くろ","オレンジ","ピンク","グレー"]
    
    srand
    comp=rand(9)
    
    sleep(2)
    
    STDERR.print "1〜9 の好きな数字を入力してね☆:"
    user = gets.chomp!.to_i
    
    printf "あなたの今日のラッキーカラーは...\n"
    
    sleep(3)
    
    printf "出ました! %s です! \n", color[comp]
    
    sleep(2)
    
    printf "%s 色の服を着て出掛けよう♪ \n", color[comp]
  111. 占いの館
  112. #!/usr/koeki/bin/ruby
    
    def uranai(a,b)
    
    color = ["赤","青","黄","黒","白","茶","緑","金","銀",]
    
    srand
    comp=rand(9)
    
      if a + b == 0
        print"極凶\n"
        sleep(2)
        print"目が、目がああああ!!\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 1
        print"大凶\n"
        sleep(2)
        print"事故って怖いよねぇ……。\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 2
        print"中凶\n"
        sleep(2)
        print"風邪に注意してね。\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 3
        print"小凶\n"
        sleep(2)
        print"誰かにオカズ取られちゃうかも?\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 4
        print"凶\n"
        sleep(2)
        print"怪我に注意。つっても、擦り傷くらいだろうけど。\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 5
        print"普通\n"
        sleep(2)
        print"ま、可もなく不可もなく、かな。\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 6
        print"吉\n"
        sleep(2)
        print"自販機の下に小銭が!\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 7
        print"小吉\n"
        sleep(2)
        print"ん〜、コーヒーが美味いと気分がいい。\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 8
        print"中吉\n"
        sleep(2)
        print"意中の人がこっちを見てる?\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 9
        print"大吉\n"
        sleep(2)
        print"今夜は俺のオゴリだぁ!\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      elsif a + b == 10
        print"極吉\n"
        sleep(2)
        print"望めば何でも手に入る予感がするぜ!\n"
        sleep(2)
        printf "ラッキーカラー:%s\n", color[comp]
      end
    end
    
    print"ようこそ、占いの館へ。\n"
    sleep(2)
    print"さぁ、本日のあなたの運勢を占ってあげましょう。\n"
    sleep(2)
    print"どのような結果になっても、私は責任はとりませんがねぇ……。\n"
    sleep(2)
    print"さぁ、占うとしましょう。\n"
    sleep(2)
    STDERR.print "y:占う、n:帰る  "
    junbi = gets.chomp!
    
    if junbi == "y"
      print "それでは……\n"
      sleep(3)
    else
      print "そうですか、残念です……\n"
      exit(1)
    end
    
    srand
    comp=rand(6)
    
    srand
    comq=rand(6)
    
    uranai(comp,comq)
    
    print"このようになりました。\n"
    sleep(2)
    print"また是非来てくださいね……\n"
  113. 1日の運勢がわかる、おみくじ占い
  114. #!/usr/koeki/bin/ruby
    
    omikuzi = ["大吉","中吉","吉","凶"]
    
    srand
    comp=rand(4)
    
    STDERR.print "     ★☆おみくじたまご☆★\n(0:青 ,1:黄色, 2:赤, 3:白) : "
    user = gets.chomp!.to_i
    
    sleep(1)
       print "\n"
    if user == 0
    color = "青"
    elsif user == 1
    color = "黄色"
    elsif user == 2
    color = "赤"
    else 
    color = "白"
    end
       printf"%sを選んだあなた\n",color
       sleep(2)
       print "今日の運勢は…\n"
    if comp == 0
       sleep(4)
       print"    大吉!!!\n"
       sleep(2)
       print"今日は朝から良い事が起こる…かも。5分前行動を心がけよう。\n"
    
    elsif  comp == 1
           sleep(4)
           print"    中吉!\n"
           sleep(3)
           print"今日は、楽しく過ごせる…かも。たまには、はねを伸ばしてみよう。\n"
           sleep(2)
    
    elsif  comp == 2
           sleep(4)
           print"    吉\n"
           sleep(3)
           print"今日は、仕事のトラブルが起こる…かも。ちゃんと確認しながら仕事を終らそう。\n"
    
    else  
          sleep(4)
          print"    凶\n"
          sleep(3)
          print"今日は、一日ついてない日になりそう…かも。今日は一日大人しくしていよう。\n"
    end
    
    
    luckycolor = ["赤","ピンク","オレンジ","紺色","黄土色","グレー","青","黄色","緑","黄緑"]
    
    srand
    c=rand(10)
    sleep(4)
    printf"ラッキーカラー :  %s \n",luckycolor[c]
    sleep(3)
    
    luckyitem = ["牛乳","ハンカチ","うどん","帽子","プリン","自転車","小銭","万札",
    "花","ケーキ"]
    srand
    p=rand(10)
    printf"ラッキーアイテム :  %s \n",luckyitem[p]
    sleep(2)
  115. 制限時間つきクイズ
  116. #! /usr/koeki/bin/ruby
    
    STDERR.print "クイズを出題します。制限時間は10杪です。準備はOK?(y or n)\n"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "問題です。\n"
    else
      print "準備が出来たら再度実行して下さい。\n"
      exit(1)
    end
    
    sleep(1)
    print "\n"
    print "東北公益文科大学の学長の名前をフルネームで答えて下さい。\n"
    
    start = Time.now.to_i
    
    while true
    if Time.now.to_i - start > 10
      print "\a"
      print "タイムアップ!!   正解は「小松隆二」先生でした。\n"
      break
    end
    end
  117. 今晩のおかずを決める
  118. #!/usr/koeki/bin/ruby
    
    yuuhan= ["さばみそ","カレーライス","炒飯","野菜炒め"]
    okazu= ["みそしる","玉子スープ","どんがら汁","ワカメスープ"]
    
    def kotae(x,y)
      printf ("今夜は %s と %s よ\n",x,y)
    end
    
    STDERR.print "今晩のおかずを決めましょう(y , n)"
    user = gets.chomp!
    
    if user =="y"
      print"それでは発表します\n"
    
    elsif user =="n"
     print"発表させてよ!!\n"
    exit(1)
    else 
      print"はっきりしなさい!\n"
      exit(1)
    end
    
    srand
    x=rand(3)
    
    srand
    y=rand(3)
    
    kotae(yuuhan[x],okazu[y])
  119. お金を借りると利息つきで返済額がでる
  120. #!/usr/koeki/bin/ruby
    
     def hensai(x,y)
    
      x + x * y 
    
    end
    
    STDERR.print"いくらお金を借りますか?\n"
    
    kingaku = gets.chomp!.to_i
    
      riritsu = [ 0.03, 3.65, 5.55, 12.76, 33.00 ]
    
    srand
    
    risoku = rand(5)
    
    printf"利息は%4.2fです。\n",riritsu[risoku]
    
     risoku = gets.chomp!.to_f
    
    STDERR.print"いいですか?  (y or n)\n"
    
     a = gets.chomp!
    
     if a == "y"
    
       printf("返済額は%dです。\n",hensai(kingaku,risoku))
    
    else nil
    
    end
  121. とっても強い母さんが息子達の行動に怒りを爆発させてそれがかなり 広範囲に被害を被る
  122. #!/usr/koeki/bin/ruby
    def fukaido(x,y,z)
    a=x+y+z 
    printf ("不快度は、%dです。\n",a) 
    if a < 30
    printf("母さんは御機嫌です。今日も世界は平和です。\n") 
    elsif a < 60
    printf("母さんは少し不機嫌です。\n")
    sleep(1)
    printf("日本列島に突然大型台風が上陸!\n")
    sleep(1)
    printf("日本に壊滅的な被害が出ました。\n")
    elsif a < 90
    printf("母さんはとても不機嫌です。\n")
    sleep(1)
    printf("空から急に隕石が落ちて来ました。\n")
    sleep(1)
    printf("世界中に大きな被害がでています。\n")
    elsif 90 >= a
    printf("母さんの怒りが爆発しました!地球が危ない!\n")
    sleep(1)
    9.downto(5) do |i|
      printf ("%s秒前\n",i)
    sleep(1)
    end
    printf"母さん許して下さい!!\n"
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
    sleep(1)
    end
    print "…さようなら…\n"
    sleep(1)
    print "地球消滅…\n"
    end
    end
    
    STDERR.print ("長男が与えた不快度は?\n")
    b = gets.chomp!.to_i
    STDERR.print ("次男が与えた不快度は?\n")
    c = gets.chomp!.to_i
    STDERR.print ("末っ子が与えた不快度は?\n")
    d = gets.chomp!.to_i
    fukaido(b,c,d) 
  123. お店に来店したときのプログラム
  124. #!/usr/koeki/bin/ruby
    
    def hello()
      print "いらっしゃいませ!\n"
    end
    
    hello
    
    
    def tax(x)
      price = 500 - x * 1.05
      printf ("残高は%d円です\n",price)
    end
    
    STDERR.print "金額を入力してください"
    item = gets.chomp!.to_i
      
    tax(item)
  125. 四則演算の2桁の問題をランダムに出すプログラム
  126. #!/usr/koeki/bin/ruby
    def keisan (a,b)
      a+b
    end
    def hikizan (a,b)
      a-b
    end
    def warizan (a,b)
      a/b
    end
    def kakezan (a,b)
      a*b
    end
    STDERR.print "問題を出します。準備は良いですか(y or n)"
    junbi = gets.chomp!
    if junbi == "y"
      sleep(1)
      print "では出題します\n10問正解したら終了します!!\n"
    else
      print "準備が出来たらもう一度実行して下さい\n"
      exit(1)
    end
    sleep(1)
    print "\n"
     
      maru=0
      batu=0
    
    while maru < 10
      srand
      choice=rand(4)
      sisoku= ["足算","引算","割り算","かけ算"]
      printf " %s の問題です! \n", sisoku[choice]
      
      
     srand
      c=rand(100)
      d=rand(100)
      
      if choice==0
        printf " %d +", c
        printf " %d \n", d
        sleep(1)
        print("答えをいれて下さい\n")
        kotae=gets.chomp!.to_i
        printf "答えの発表です★ %d\n\n",keisan (c,d)
      
        if kotae==keisan(c,d)
          print("正解☆☆\n\n")
          maru+=1
      else
          print("残念!!\n\n")
          batu+=1
        end
      elsif choice==1
        printf " %d -", c
        printf " %d \n\n", d
        sleep(1)
        print("答えをいれて下さい\n")
      kotae=gets.chomp!.to_i
        printf "答えの発表です★ %d\n",hikizan(c,d)
         sleep(1)
        if kotae==hikizan(c,d)
          print("正解☆☆\n\n")
          maru+=1
      else
          print("残念!!\n\n")
          batu+=1
        end
      elsif choice==2
     printf " %d /", c
        printf " %d \n\n", d
        sleep(1)
        print("答えを小数点切り捨てでいれて下さい\n\n")
        kotae=gets.chomp!.to_i
        printf "答えの発表です★ %d\n\n",warizan(c,d)
       sleep(1)
        if kotae==warizan(c,d)
          print("正解☆☆\n\n")
          maru+=1
        else
          print("残念!!\n\n")
          batu+=1
        end
      elsif choice==3
        printf " %d ×",c
        printf " %d \n\n", d
      sleep(1)
        print("答えをいれて下さい\n\n")
        kotae=gets.chomp!.to_i
        printf "答えの発表です★ %d\n\n",kakezan(c,d)
         sleep(1)
      if kotae==kakezan(c,d)
        print("正解☆☆\n\n")
        maru+=1
      else
        print("残念!!\n\n")
        batu+=1
      end
      end
    end
    printf"正解した数は  %d\n\n",maru
    printf"不正解した数は  %d\n\n",batu
  127. サッカーのPKをするプログラム(成功率計算つき)
  128. #!/usr/koeki/bin/ruby
    
     pk = ["右上","右下","左上","左下","真ん中"]
    srand
    comp=rand(5)
    
    STDERR.print "蹴る方向を入力して下さい。(0: 右上,1: 右下,2: 左上,3: 左下,4: 真ん中,) :"
    user = gets.chomp!.to_i
    
    printf "ボールは%sへ!\n", pk[user]
    printf "キーパー%sに跳んだぁ! \n", pk[comp]
    
    if [comp] == [user]
      print "あぁ!!キーパー防いだ!!\n"
     def seikouritsu(honsuu)
     (honsuu-1)*100 / honsuu
     end
    
    STDERR.print "今まで蹴った本数を入力してください"
    honsuu = gets.chomp!.to_f
    
    printf ("PK成功率は%3.1fパーセントです\n",seikouritsu(honsuu))
    
    if seikouritsu(honsuu) > 90 then
      print "あなたはPKの天才です☆\n" 
    elsif seikouritsu(honsuu) < 51
      print "まだまだです。もっと練習しましょう!\n"
    else 
      print "まぁ、合格です。\n"
    end
  129. 本日の運勢を占う、「確率演算処理システム(仮)」
  130. #!/usr/koeki/bin/ruby
    
    def place ()
      pl = ["カフェテリア","研究室","中町商店街","実家","自宅","酒田駅周辺"]
      srand
      b = rand(5)
      print("\n 行くといいことがあるかもしれない場所(地区)\n")
      printf("   『  %s 』  \n",pl[b])
    end
     
    def color()
      co = ["血よりも鮮やかな赤","夜よりも暗い黒","大空よりも澄んだ青","無垢な心よりも純真な白","あらゆる財宝よりも輝く金色","大森林よりも深い緑"]
      srand(5)
      c = rand(5)
      print("\n テーマにするといいことがあるかも知れない色\n")
      printf("  『  %s 』  \n",co[c])  
    end
    
    def item()
      it = ["使い古された財布","出たばかりの新曲CD","胸元に輝くアクセサリー","洋画DVD","知識を探究する本","知性溢れる眼鏡"]
      srand
      d = rand(5)
      print("\n 買う、または身につけるといいかもしれないアイテム\n")
      printf("  『  %s  』 \n",it[d])
    end
    
    def food()
      fo = ["甘美な味わいのスィーツ","喉を焼くような激辛カレー","ノドごし爽やかな麺類","日本の味、味噌汁","芳醇な香の焼き立てパン","やっぱ牛乳でしょ♪"]
      srand
      e = rand(5)
      print("\n 食べるといいかもしれない食べ物\n")
      printf("  『  %s  』 \n",fo[e])
    end
    
    def nextweek()
      week = ["平凡ないつもの一週間な予感","思いも寄らぬライバル出現!?","人助けはいいことです","人の噂も七十五日","成せば成る、成さねば成らぬ、何事も","実家が恋しいかい?"]
      srand
      f = rand(5)
      print("\n 来週のあなたに一言\n")
      printf("    『 %s 』\n",week[f] )
    end
    
    
    print("おはようございます\n")
    sleep(1)
    print("本日の運勢を占う、「確率演算処理システム(仮)」を起動しまか?。\n")
    STDERR.printf("1:起動する 2:起動しない  >> ")
    answer = gets.chomp!.to_i
    
    if answer == 2
      print("それではまたお会いしましょう。\n")
      exit (0)
    end
    
    print("システムを起動します。。。\n")
    sleep(2)
    print("システム起動しました。\n")
    sleep(2)
    while true
       print("\n   本日の占い結果です。\n")
    
            place
            color
            item
            food
            nextweek
    
      STDERR.printf("\n※※もう一度占いますか?(1:はい 2:いいえ) >> ")
      more = gets.chomp!.to_i
      
      if more == 2 
            print("システムをシャットダウンします......\n")
            sleep(2)
            print("\nまたお会いしましょう。良い一日を。\n") 
           break 
      end
     end
  131. 食べ物を選択して、ランダムで運勢を出力する
  132. #!/usr/koeki/bin/ruby
    
    
    tabemono=["タマゴ","野菜","お肉","納豆"]
    kekka=["最高でーす!!!","普通です","気を付けろ....."]
    
    def joutai(x,y)
    
    srand
    kekka=rand(3)
    printf ("%sを選んだあなたは%sよ\n",x,y)
    
    end
    
    STDERR.print "あなたが朝、食べたいものは?(0: タマゴ,1: 野菜,2: お肉,3: 納豆) :"
    tabemono = gets.chomp!.to_i
    
    
    joutai(tabemono,kekka)
    
  133. 時間内に一定の数の連打をし、宝箱を強奪するゲーム
  134. #! /usr/koeki/bin/ruby
    
    
    
    STDERR.print "あなたの目の前には、東京タワーがあります。高さ30mです。あなたは、「1Return」1m進みます。頂上には、豪華な宝箱が、あります!制限時間は3杪です。挑戦しますか?(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(0.5)
      print "準備はいい??   では、よーい。。。\n"
    else
      print "準備が出来たらもう一度挑戦してね(^^;)\n"
      exit(1)
    end
    
    sleep(2)
    
    print "スタート!!\n"
    m = 0
    start = Time.now.to_i
    
    while true
      item = gets.chomp!.to_i
      printf ("あと%dmだよ!!",30-m)
       
    if m == 30
        print ("やったね(^^)宝箱だよ!!\n")
        break
        
      end
      if Time.now.to_i - start > 3
        print "\a"
        print "はい時間切れ!!残念(; ; )↓↓\n"
        exit(1)
        
      end
      
      m += 1
    end
    
    takara = ["ハズレ","☆女神の像☆","ポーション","エーテル","万馬劵","フェニックスの尾",
      "爆彈","毒だんご","アイスクリーム","チョコレート"]
    srand
    comp=rand(10)
    
    while true     
      
      
      if m==30
        print "どの宝箱がいい??好きなものをあげるよ!(1,2,3,4,5,6,7,8,9,10,) :"
        user = gets.chomp!.to_i
        
        if user == 0
          print ("ないよ!!\n")
          redo
        end
        
        printf "あなたは %d を選びましたね? \n", user
        printf "では、 %s をさしあげましょう☆\n", takara[comp]
        break
      end
    end
  135. 昨日や今日の天気を乱数で表示
  136. #! /usr/koeki/bin/ruby
    
    
    tenki = ["晴れ","くもり","雨"]
    def yoho(x)
    srand
    tenki=rand(3)
    printf"明日は%sでした。\n",x
    end
    
    STDERR.print "あーした天気になーれ!(0: 晴れ,1: くもり,2: 雨) :"
    rand= gets.chomp!.to_i
    printf "昨日は%s でした \n", tenki[rand]
    printf "今日は %s でした。\n", tenki[rand]
    yoho (tenki)
  137. タクシー
  138. #!/usr/koeki/bin/ruby
    def taxi (kyori)
      kyori * 200
    end
    
    print("どちらまで行きますか?\n")
    gets.chomp!.to_i
    
    print("そこまでは何kmありますか?\n")
    kyori = gets.chomp!.to_i
    
    if kyori == 0
      print("それって、ここですよ!降りれ!!\n")
      exit(1)
    else
      print("それでは出発しま〜す!\n")
      sleep(3)
    end
    STDERR.print ("着きました!!\n")
    sleep(1)
    STDERR.print ("ここまで何時間かかったか教えて下さい!\n")
    jikan = gets.chomp!.to_i
    a = taxi(kyori) * jikan
    printf("はい!料金の方は%d円になります。\n",a)
  139. ボクシング
  140. #! /usr/koeki/bin/ruby
    
    def damege(a)
      100 - a
    end
    def tairyoku(b)
      100 - b
    end
    STDERR.print "ボクシングの試合です。調子はどうですか?(y or n)"
    panchi = gets.chomp!
    
    if panchi == "y"
      sleep(1)
      print "カーン!試合開始! と同時にパンチが飛んできました!\n"
    else
      print "棄権しました。\n"
      exit(1)
    end
    
    sleep(1)
    print "\n"
    STDERR.print "カウンターをねらえ!!(counter)"
    counter = gets.chomp!
    start = Time.now.to_i
    
    while true 
    if Time.now.to_i - start > 3
      print "\a"
      print "あーあ、遅かった!ダウンさせられました。\n"
      break
    elsif counter == "counter"
    d = [10,50,100]
    
    srand
    comp=rand(3)
    printf "ダメージを%d与えました!敵の体力は%dです。\n",d[comp],tairyoku(d[comp])
    exit(1)
     else
     end
    end
    STDERR.print "ダメージはいくつですか? 1から100以内でお願いしますm(__)m :"
      printf ("残りの体力は、%dです。\n",damege(a = gets.to_i))
  141. はじめの一歩 幕の内一歩vs千堂たけし
  142. #!/usr/koeki/bin/ruby
    
    #はじめの一歩 幕の内一歩vs千堂たけし
    def fight(denpushiiroll,panchi)
      denpushiiroll * 9 + panchi * 10  
    end
    
    def close(damage)
       printf("ついに 試合終了 なのか??\n\n\n",damage)
       sleep(2)
      2.times do
         print("まだまだ俺は耐えれるぞ、、、\n")
         sleep(1)
       end
    end
    
    STDERR.print("何発デンプシーロールを喰らわすか?\n")
    denpushiiroll = gets.chomp!.to_i      
    STDERR.print("何発パンチを喰らわすか?\n")
    panchi = gets.chomp!.to_i          
    
    printf("\nデンプシーロールを %d 発して、ガゼルパンチを %d 発かました!!\n",denpushiiroll,panchi)
    printf("千堂に %d のダメージを与えた!!\n",fight(denpushiiroll,panchi))
    
    STDERR.print("千堂は倒れた!(しかし、まだ勝ったかは分からない)\n")    
    damage = gets.chomp!                     
    
    close(damage)
    
    sleep(3)
    coment = ["千堂「最後までみとくんや、、、わいに勝った男の顏を、、、「試合終了です!!」","まだやれる!まだまだ寝とる訳にはいかんのや!!!","実況「まだまだ試合は続くようです!!」"]
    
    srand
    comp=rand(3)
    printf("\n\n %s \n",coment[comp])
  143. くじ引き
  144. #!/usr/koeki/bin/ruby
    def atari()
      print"★大当たり★\n"
    end
    def hazure()
      print"はずれー。残念っ!!\n"
    end
    
    kuji=[0,1,2,3,4]
    
      srand
      mio=rand(5)
      STDERR.print "くじを引いて下さい!(0,1,2,3,4)\n"
      user = gets.chomp!.to_i
      print"がらがらがらぁー\n"
    if
       user==mio
       atari
    else
       hazure
    end
  145. 江川な人の時間
  146. #!/usr/koeki/bin/ruby
    
    srand
    rocket = rand(2)
    
    print "CM終了5秒前\n"
    sleep(1)
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    print"うるぐすスタート!\n"
    sleep(1)
    
    STDERR.print "今週1発目の企画...キャンプを見て来季の成績がわかる!...江川な人の時間がやってきました。まずはそこのあなた準備はいいですか!?(y or n)"
    junbi = gets.chomp!
    
    if junbi == "y"
      sleep(1)
      print "それではVTRスタート!!\n"
    else
      print "準備が出来たらもう一度実行して下さい\n"
      exit(1)
    end
    
    print "VTR終了5秒前\n"
    sleep(1)
    
    4.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
    print "スタジオスタート!\n"
    sleep(1)
     
    print"まずは武田さんにお聞きします!\n"
    
    sleep(1)
    print "\n"
    print "来年のプロ野球優勝チームは!?\n"
    
    
    janken = ["ロッテ","西武","ソフトバンク","阪神","巨人","中日",]
    
    srand
    comp=rand(6)
    
    sleep(1)
    STDERR.print "武田さんの優勝候補は!?(0: ロッテ,1: 西武,2: ソフトバンク,3: 阪神,4: 巨人,5: 中日,) :"
    user = gets.chomp!.to_i
    
    sleep(2)
    printf " %s とはなかなか鋭いですね(笑い)\n", janken[user]
    printf "ところで、江川さんの予想は %s でした! \n", janken[comp]
    
    sleep(3)
    
    print "さあ、本題はここからです!江川さんがこのチームを予想した訳をお答えください!\n"
          
    start = Time.now.to_i
    
    while true
    if Time.now.to_i - start > 5
      print "\a"
      print "タイムアップ!!!!分かった方は今すぐ電話またはファックスで...電話またはファックスは0120-22-8930まで!!\n"
    
    sleep(3)
    
     print "正解者には江川な人の認定証を差し上げます!!!!!なお、答えは番組終了で発表します!このコーナー来週もまた見て下さいね\n"
    break
    end
    end
    sleep(3)
    print "最後に来週の運勢を野球くじで占いましょう\n"
    janken = ["ストレート","カーブ","フォーク"]
    
    sleep(1)
    
    srand
    comp=rand(3)
    
    STDERR.print "それでは選んでください!(0: ストレート,1: カーブ,2: フォーク) :"
    user = gets.chomp!.to_i
    printf "来週もっとも運勢がいいのは %s を選んだ方でした!ウフフフフッ \n", janken[comp]
    
    sleep(1)
    
    srand
    rocket = rand(2)
    
    print "それでは武田さんのサッカーに入る前にいったんCMです!\n"
    sleep(1)
    
    2.downto(1) do |i|
      printf ("%s秒前\n",i)
      sleep(1)
    end
      print "カット!\n"
  147. 猪木をイメージしたプログラム
  148. #!/usr/koeki/bin/ruby
    
    srand
    toukon = rand(2)
    
    print "元気があればなんでもできる!!行くぞー!\n"
    sleep(2)
    
    1.upto(3) do |i|
      printf ("%s\n",i)
      sleep(1)
    end
    
    if toukon == 1
      print "だー!!\n"
    else 
      print "闘魂注入!\n"
    end
  149. あっち向いてホイ!
  150. #!/usr/koeki/bin/ruby
    
    hoi = ["↑","↓","←","→"]
     def make(i,j)
      i-j
     end
    i = 0
    j = 0
    
     srand
     comp=rand(4)
    while true
     STDERR.print "  ☆あっち向いて…(1:↑,2:↓,3:←,4:→,0:終了) :"
      user = gets.chomp!.to_i
     if user == 0
      break
      else 
      end 
       sleep(1)
      print "     ホイ!☆\n"
       sleep(1)
    
     if hoi[comp] == "↑" && user == 1 || hoi[comp] == "↓" && user == 2 || hoi[comp] == "←" && user == 3 || hoi[comp] == "→" && user == 4
      print "◯◯勝ちだよ、なかなかやるじゃん!◯◯\n" 
     j += 1
     else 
      print "××敗けだよ〜ん(*_*)××\n"
     end
    
      printf "ち・な・み・に、相手は 『%s』 でした〜。\n", hoi[comp]
    i += 1 
    end
    printf "挑戦回数は%dだよ。勝った回数は%dで、敗けた回数は%dだよ!\n",i,j,make(i,j)
  151. テンキーのタイピング練習
  152. #!/usr/koeki/bin/ruby
    def ten(a)
    a * 5
    end
    type = [0,1,2,3,4,5,6,7,8,9,10,]
    print("20秒間テンキーのタイピング練習をします。\n")
    
    b = 0
    start = Time.now.to_i
    
    while true
    srand
    typeing = rand(11) 
    printf("  ★%d★\n",typeing)
    
    STDERR.print "表示された文字をタイピングしてください" 
    nyuuryoku = gets.chomp!.to_i
    
    if
    Time.now.to_i - start > 20
    print("終了です。\n")
    break
    end
    if nyuuryoku == typeing
    b += 1   
    else
    break
    end
    end
    printf ("得点は%d点です。\n", ten(b))
  153. かいちゃんカジノ
  154. #!/usr/koeki/bin/ruby
    
    def tasu(x,y)
     x+y
    end
    def hiku(x,y)
     x-y
    end
    
     player = 50
    
       print "かいちゃんカジノへようこそ!!\n"
       print "と言っても安〜いスロットだけですよ...\n\n"
       print "まずはあなたにコイン50枚を差し上げます\n"
       print "存分に...(?)  お楽しみください!!\n\n"
       
     while true
      STDERR.print "遊び方の説明を読みますか?(y or n):"
       setsumei = gets.chomp!
      
      if setsumei == "y" then
       print "まずは所持コインから1〜3枚の中で好きな枚数をBETします。\n"
       print "すると自動的にスロットが回転し止まります。\n"
       print "もし横一列に3つ同じ絵柄が揃ったら規定の枚数、コインを払い出します\n"
       print "しかも、BET枚数に応じて払い出し枚数は増える増える(≧∀≦)\n"
       print "絵柄と払い出し枚数は以下の通りです。もし777が揃ったら...\n"
       
       print "    777 … 20枚×BET枚数 払い出し&ムフフフ...\n"
       print "    ФФФ … 20枚×BET枚数 払い出し\n"
       print "    ■■■ … 12枚×BET枚数 払い出し\n"
       print "    ☆☆☆ …  8枚×BET枚数 払い出し\n"
       print "    ♪     …  2枚×BET枚数 払い出し\n"
       print "これで説明は終わりです。ちょっとは楽しんでね!(笑)\n\n"
       break
      elsif setsumei == "n"
       break
      else
      end
     end
     print "\n現在の所持枚数は50枚です。\n"
     while true
    
      while true
       printf("          現在のコイン枚数[%10d]\n\n",player)
       STDERR.print "BET枚数を入力(nで終了):"
         bet = gets.chomp!
       case bet
       when "1", "2", "3", "n"
        break 
       else
       end
      end
    
      if bet == "n" then
       break
      elsif bet == "1"
       player = hiku(player,1)
       printf("\n    BET枚数●○○    残りコイン[%10d枚]\n",player) 
      elsif bet == "2"
       player = hiku(player,2)
       printf("\n    BET枚数●●○    残りコイン[%10d枚]\n",player)
      elsif bet == "3"
       player = hiku(player,3)
       printf("\n    BET枚数●●●    残りコイン[%10d枚]\n",player)
      else
       exit(1)
      end
    
      sleep(2)
    
      real1 = ["7","♪","Ф","Ф","■","■","■","☆","☆"]
       srand
       comp1=rand(9)
    
      print "                ┏━┳━┳━┓\n"
      printf("                ┃%s┃  ┃  ┃\n", real1[comp1])
      print "                ┗━┻━┻━┛\n"
      print "\a"
    
    sleep(1)
    
      real2 = ["7","Ф","Ф","■","■","■","☆","☆","☆"]
       srand
       comp2=rand(9)
      
      print "                ┏━┳━┳━┓\n"
      printf("                ┃%s┃%s┃  ┃\n", real1[comp1], real2[comp2])
      print "                ┗━┻━┻━┛\n"
      print "\a"
    
    if real1[comp1] == real2[comp2] then 
    sleep(2)
    else
    sleep(1)
    end
    
      real3 = ["7","Ф","■","■","■","☆","☆","☆"]
       srand
       comp3=rand(8)
      print "                ┏━┳━┳━┓\n"
      printf("                ┃%s┃%s┃%s┃\n", real1[comp1], real2[comp2], real3[comp3])
      print "                ┗━┻━┻━┛\n"
      print "\a"
    
      if real1[comp1]=="7" && real2[comp2]=="7" && real3[comp3]=="7"then
       a = 20 * bet.to_i
       player = tasu(player,a)
       printf("%10d枚あたりました!! (≧∀≦)ゞ\n\n",a)
    
       print "\nあなたは当店のスロットチャンピオンです!!\n"
       print "もうあなたは当店のスロットでは満足できないでしょう\n"
    sleep(4)
       print "\n              ・\n"   
    sleep(2)
       print "\n              ・\n"
    sleep(2)
       print "\n              ・\n"
       print "\nさあ、旅立ちの時です。\n"
       print "\n次なる世界へ向かうのです!!\n"
    sleep(2)
       printf("\nここにあなたの所持コイン%d枚を現金に変換します。\n", player)
       printf("\nさぁ、%d無量大数円を持って行くのです。\n", player * 100)
    
       print "ちなみに数字の単位は\n"
       print "一・十・百・千・万・億・兆・京(けい)・垓(がい)・丈(し)\n"
       print "壌(じょう)・溝(こう)・砂(かん)・正(せい)・載(さい)・極(ごく)\n"
       print "恒河沙(こうがしゃ)・阿僧梢(あそうぎ)・那由他(なゆた)\n"
       print "不可思議(ふかしぎ)・無量大数(むりょうだいすう)だよ!!!!\n"
    sleep(3)
       print "では...さようなら〜〜〜!!!!!!!!!!\n"
       exit(1)
      elsif real1[comp1]=="Ф" && real2[comp2]=="Ф" && real3[comp3]=="Ф"
       b = 20 * bet.to_i
       player = tasu(player,b)
       printf("%10d枚あたりました!! (≧∀≦)\n\n",b)
      elsif real1[comp1]=="■" && real2[comp2]=="■" && real3[comp3]=="■"
       c = 12 * bet.to_i
       player = tasu(player,c)
       printf("%10d枚あたりました!! \(∩_∩)/\n\n",c)
      elsif real1[comp1]=="☆" && real2[comp2]=="☆" && real3[comp3]=="☆"
       d = 8 * bet.to_i
       player = tasu(player,d)
       printf("%10d枚あたりました!! (^ ^)\n\n",d)
      elsif real1[comp1]=="♪"
       e = 2*bet.to_i
       player = tasu(player,e)
       printf("%10d枚あたりました!! (- -)\n\n",e)
      else
       print "\n"
      end
    
      unless player > 0
       print "残念でした!! またチャレンジしてね〜\(∧ε∧)/\n"
       exit(1)
      end
     end
    
      print "やめるんですか...\n"
    sleep(2)
      print "やめちゃうんですか...\n"
    sleep(2)
      print "あなたがやめちゃうから今をもって当店はつぶれました。さようなら\n"
    
  155. 今日の運勢を占うプログラム
  156. print "あなたの今日の運勢を占います♪\n"
    def uranai(x, y)
      z = 10*x + 10*y
    end
    
    un= ["★","★★","★★★","★★★★","★★★★★"]
    
    srand
    comp=rand(5)
    
    STDERR.print "今の気分を数字で表すと……??(1,2,3,4,5) :"
    a = gets.chomp!.to_i
    print "今日の恋愛運は→→\n"
    sleep(1)
    printf "               %10sです!! \n", un[comp]
    
    STDERR.print "今のやる気を数字で表すと……??(1,2,3,4,5) :"
    b = gets.chomp!.to_i
    print "今日の仕事運は→→\n"
    sleep(1)
    printf "               %10sです!! \n", un[b]
    sleep(1) 
    
    print"でも…全体運は→→→\n"
    sleep(2)
    printf"                %dパーセントです!!!\n",uranai(a,b)
    sleep(1)
    printf "よし!きっと今日もいい日になるよ(●^ー^●)\n"

本日の課題

以下の2つについて回答して下さい

  1. 上記の78個のプログラムについて、気に入ったものを3つ選び理由を述べてください(面白い、役に立ちそう、すごい等)。感想があれば別途記してください
  2. 12月から開始する(予定)自由製作課題について、個人で作りたいか、グループで作りたいか意見を述べてください。グループが良い場合は編成方法についての意見も求めます。納得できる意見が多い方法で実施します。

上記2点についてメールでnaoya@e.koeki-u.ac.jp宛に送る

課題の提出期限は本日(11月2日)の授業終了時までです


メール送信時の注意

採点基準:1問あたり1点(配点は低いですが、前期では1点に泣いた人が結構いました)。期限内提出のみ受け付けます。本日は授業への出席者に対するサービス日です

Tips

emacsについて

Mewについて