Newer
Older
Ruby / last / j2138_last.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
#テーマ「ごみ問題を解決しよう!正しい分別方法・ごみ情報」

#ポイ捨てや不法投棄などのゴミ問題による環境汚染をより多くの人に知ってもらい、1人でも多くの人に解決してもらうプログラムです。

#このテーマにした理由は、テレビや本などを見てみると、マイクロプラスチックやダイオキシンなどで生き物が危険にさらされていることを知り、より多くの人に知ってもらいたいと思ったからです。

#プログラムに付けたい機能は、ミニゲームのようなちゃんと分別できないとクリアできないような機能や正規表現を使ったリサイクル施設やゴミ箱を検索したりできるようにしたいです。

#他に考えたテーマは、2つあります。⇓

#1.「コロナ対策ミニゲーム」ちゃんと対策しないと『コロナに感染しました...』となるプログラム。マスク・手洗いをしない人がいるから

#2.「〇〇図鑑」正規表現を使いたかったから 早く見たいとこを見れるように

#作るコストが高すぎじゃなくて、より多くの人に見て知ってもらいたかったから、ゴミ問題にしました

#正規表現をもっと付けたかったです。ですが、1番作りたいとこはできてよかったです。

#まだ色んな人に試してもらってないので、今度試してほしいです。

#あと、ごみについてですが、ごみは、川から海へ流れていき波で打ち上げられ、細かくなってまた海に戻ります。大きいうちは、クジラ、かめなどが、食べてしまいます。細かくなると、食物連鎖でどんどん食べられていき、人間に渡ります。そして、有害なプラに塗られてる薬が取り込まれてしまいます。また、細かくなってナノプラスチックになり、空気中に流れ、肺から人間に吸収されます。陸でも、鳥が被害を受けます。ガラパゴスでは、人間が移住したことから、低音でごみが燃やされ、ダイオキシンなどで地下水が飲めなくなたほどです。恐ろしいですね。これからも、地球を守るためにも、このことを伝えるのは大事だと思います。
#↑このことから、僕はこのテーマにしました。

require 'csv'

def s(byo)                #1文字のほうが簡単だから
  sleep(byo)
end

def g
  gets
end

def b
  print"\n"
end

def tyui
  osieru=[
    "\e[91m注意事項です。",
    "\e[0mここでは、",
    "ごみをちゃんと分別しないと\n一向にクリアできません",
    "ヒントが出るので頑張ってください",
    "人間は、それほど関心がないと",
    "こうやって覚えるしかないのです。",
    "\e[91mそれに、そうするほど努力しないといけない問題だからからです。",
    "\e[0m地球と生物、人間のために、本当に頑張ってください"
  ]

  for hyoujisuru in osieru          #後で使わないように長い変数にしました
    printf("%s\n",hyoujisuru)
    g
  end
end

def sentaku(ue,dai_a,dai_b,dai_c,dai_d)
  print("            _dai_\n".sub("_dai_",ue))
  print("_doko_(1)\n".sub("_doko_",dai_a))
  print("_doko_(2)\n".sub("_doko_",dai_b))
  print("_doko_(3)\n".sub("_doko_",dai_c))
  print("_doko_(4)\n".sub("_doko_",dai_d))
end

while true
  sentaku("選択してください","ゴミミニゲーム","藤島 代表的ゴミ箱","リサイクル施設検索","終了")
  print"入力:"
  erabu=gets.to_i
  if erabu==1
    tyui

    suti=[2,3,1,4,5,3,3,5,3,4]
    
    mondai=["醤油のボトル", "ふろおけ", "もやしの袋", "ガラスのコップ", "磁石にくっつく缶","ポテトチップスの袋", "プラスチック皿", "ジャムのビン", "カイロ(鶴岡市)", "釘" ]

    kotae={"醤油のボトル"=>"ペットボトル", "ふろおけ"=>"燃やす", "もやしの袋"=>"プラ","ガラスのコップ"=>"ガラス・金属・その他", "磁石にくっつく缶"=>"カン・ビン","ポテトチップスの袋"=>"燃やす", "プラスチック皿"=>"燃やす","ジャムのビン"=>"カン・ビン", "カイロ(鶴岡市)"=>"燃やす","釘"=>"ガラス・金属・その他" }

    setume=["醤油ボトルは、PETなのでペットに捨てられます。\nですが、洗ってからです","風呂桶は、容器包装類ではないです。\nまた、熱すると固くなるプラスチックなので、リサイクルができません","プラスチック容器包装類のリサイクルは、汚れ・食品の\e4mかたまり\e0mがついていなければリサイクルできます。","ガラスなので、ビンではなく、「ガラス」に入れます。","そもそもカンなので「カン・ビン」に入れます。素材はわかりますね?","ポテチの袋は、油やアルミがついているのでプラにできません","プラの皿は、熱すると固くなるプラなのでリサイクル不可です。","ジャムのビンは、洗ってラベルを取ってビンです。洗えるからです。","鶴岡市は、カイロを焼却炉で燃やせるので燃やすでいいです。田んぼに巻くのもいいすよ。(許可得てから)","釘は、金属なのでガラス・金属・その他に入れます。"]

    ka = spawn "display -geometry +0+0 kan.png"
    ki = spawn "display -geometry +0+305 kinzoku.png"
    pe = spawn "display -geometry +260+210 petto.png"
    pu = spawn "display -geometry +720+0 pura.png"
    m = spawn "display -geometry +720+305 moeru.png"

    ten=0
    seikai=kotae[mondai[ten]]
    while ten < 10
      printf("\e[1m第%d問!\n",ten+1)
      gets
      print mondai[ten]
      print"を捨てようとしています。\nどのゴミ箱に入れる?"
      print"入力:"
      poi=gets.to_i
      if poi==suti[ten]
        print("\e[102m正解!\n")
        printf("\e[0m%s\n",setume[ten])
        ten+=1
      else
        print"\e[90m不正解...。"
        gets
        kari=mondai[ten]
        print"\e[0m答えは"
        print kotae[kari]
      end
      g
    end
  elsif erabu==4
    print"."
    sleep(0.3)
    print"."
    sleep(0.3)
    print"."
    sleep(0.3)
    print("\e[5mポイ捨ては、絶対にしないでください\n")
    print"プツン"
    break
  end
  Process.kill(:INT,pid)
end