diff --git a/K.rb b/K.rb new file mode 100755 index 0000000..98e06dd --- /dev/null +++ b/K.rb @@ -0,0 +1,85 @@ +#!/uar/bin/env ruby +# -*- coding: utf-8 -*- +while true + puts" " + puts"1.かけ算 2.割り算 3.足し算 4.引き算 5.約数 6.剰余 7.冪乗 8.終わり" + puts"やりたい物のすうじをいれてね!" + puts"---------------------------------------------------------------------------" + go=gets.chomp.to_i + + if go==1 + print"掛けられるを入力してね。\n" + k=gets.to_i + print"掛ける数を入力してね。\n" + kake=gets.to_i + answer=k*kake + printf("答えは%fだよ!\n",answer) + redo + + elsif go==2 + print"割られるを入力してね!\n" + w=gets.to_i + print"わるかずをいれてね!" + wari=gets.to_i + kota=w/wari + printf("答えは%fだよ!\n",kota) + redo + + elsif go==3 + print"足される数入力してね!\n" + t=gets.to_i + print"足す数を入れて\n" + tasu=gets.to_i + ko=t+tasu + printf("答えは%fだよ!\n",ko) + redo + + elsif go==4 + print"引かれるを入力してね!\n" + h=gets.to_i + print"引く数を入れて\n" + hiku=gets.to_i + k=h-hiku + printf("答えは%fだよ!\n",k) + redo + + elsif go==5 + puts"約数を入れてね" + yaku=gets.chomp.to_i + printf("%fの約数は\n",yaku) + y=0 + + while y<=yaku + + y +=1 + if yaku % y==0 + printf"%d\n",y + end + end + redo + + elsif go==6 + puts"数をいれてね!" + jyou=gets.chomp.to_i + print"あまりを出す数を入れてね!\n" + j=gets.to_i + z=jyou%j + printf("答えは%fだよ!\n",z) + + elsif go==7 + puts"かずをいれてね!" + be=gets.chomp.to_i + print"べき乗する数を入れてね!\n" + b=gets.to_i + c=be**b + printf("答えは%fだよ!\n",c) + + elsif go==8 + break + + end +end + + + + diff --git a/a b/a new file mode 100755 index 0000000..0b751ee --- /dev/null +++ b/a @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +kazu = 1 + +require'csv' +csv = CSV.read("seika.csv",headers:true) + +csv.each do|row| + puts(row["serifu"]) + gets +end + +while kazu <= 10 + printf("第%d問\n",kazu) + mondai={ "1"=>"3日分" , "2"=>"3.地震が終わったら消す" ,"3" =>"32倍" } + + if kazu == 1 + puts"災害が起き備蓄食は、最低、何日分必要でしょう。" + sleep(5) + print mondai["1"] + + elsif kazu == 2 + puts"料理中や火を扱っているときに、地震が起きたらどうすればいいでしょう。1.火を消す(ガス栓をしめる)2.そのままにする3.地震が終わったら消す" + sleep(5) + print mondai["2"] + + elsif kazu == 2 + puts"マグニチュード1増えると揺れる力は何倍になるでしょう +1、12倍 +2、32倍 +3,52倍" + sleep(5) + print mondai["3"] + end + kazu += 1 +end + + + + diff --git a/a.rb b/a.rb new file mode 100755 index 0000000..0b751ee --- /dev/null +++ b/a.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +kazu = 1 + +require'csv' +csv = CSV.read("seika.csv",headers:true) + +csv.each do|row| + puts(row["serifu"]) + gets +end + +while kazu <= 10 + printf("第%d問\n",kazu) + mondai={ "1"=>"3日分" , "2"=>"3.地震が終わったら消す" ,"3" =>"32倍" } + + if kazu == 1 + puts"災害が起き備蓄食は、最低、何日分必要でしょう。" + sleep(5) + print mondai["1"] + + elsif kazu == 2 + puts"料理中や火を扱っているときに、地震が起きたらどうすればいいでしょう。1.火を消す(ガス栓をしめる)2.そのままにする3.地震が終わったら消す" + sleep(5) + print mondai["2"] + + elsif kazu == 2 + puts"マグニチュード1増えると揺れる力は何倍になるでしょう +1、12倍 +2、32倍 +3,52倍" + sleep(5) + print mondai["3"] + end + kazu += 1 +end + + + + diff --git a/after1.jpg b/after1.jpg new file mode 100644 index 0000000..869bd59 --- /dev/null +++ b/after1.jpg Binary files differ diff --git a/after2.jpg b/after2.jpg new file mode 100644 index 0000000..cf38a52 --- /dev/null +++ b/after2.jpg Binary files differ diff --git a/after3.jpg b/after3.jpg new file mode 100644 index 0000000..96b41d6 --- /dev/null +++ b/after3.jpg Binary files differ diff --git a/animal.rb b/animal.rb new file mode 100755 index 0000000..e824844 --- /dev/null +++ b/animal.rb @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8-emacs -*- + +print"カップラーメンを食べるよ!\n" +print"どのラーメンがいい?\n" +puts"1.醤油" +puts"2.塩" +puts"3.豚骨" +puts"4.味噌" +kappu=gets.chomp + +printf("%sのカップラーメンだよ。3分間だよ\n",kappu) +print"スタート\n" +print "お湯を入れました\n" +nokori = 3 + +while nokori > 0 + sleep(60) #60秒プログラムを止める + nokori = nokori - 1 + if nokori==2 + puts"残り2分" + elsif nokori==1 + puts"残り1分" + end +end +print "いただきまーす!\n" + diff --git a/asobi/memomo.rb b/asobi/memomo.rb new file mode 100755 index 0000000..47d5f99 --- /dev/null +++ b/asobi/memomo.rb @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'csv' +CSV.open("tango.csv","w+")do|tango| + tango<<["プログラミング","音楽","プログラミング 意味","音楽 意味"] + + tango<<["chomp","agitato","chomp...\nを消す"] + tango<<["case","animato","case.....式に対する分岐"] + tango<<["def","con brio","def......"] + tango<<["elsif","cantabile","elsif."] + tango<<["else","capriccioso","else."] + tango<<["end","dolce","end........終わり"] + tango<<["gets","elegante"] + tango<<["if","energico"] + tango<<["ls","espressiuo"] + tango<<["print","con fuoco"] + tango<<["puts","grandioso"] + tango<<["printf","llegiero"] + tango<<["ruby","maestoso"] + tango<<["rand","misterioso"] + tango<<["sleep","con moto"] + tango<<["to_i","ppssinato"] + tango<<["to_f","pastorale"] + tango<<["while","pesante"] + tango<<["when","schezando"] +end diff --git a/asobi/rGKwm5W6.txt.part b/asobi/rGKwm5W6.txt.part new file mode 100644 index 0000000..4f07c3e --- /dev/null +++ b/asobi/rGKwm5W6.txt.part @@ -0,0 +1,13 @@ +いや~今日のテストわからなくて苦労したよ +わからなくても大丈夫さ +大丈夫なんてお前たちダメでしょう +しっかり勉強しないと偉くなれないよ +偉くなんてならなくてもいいよ +ぺらぺら言わないで早く勉強しなさい +お父さんはいつもうるさいね~ +いいか言うこと聞かないと怒るぞ +でも今日のテストのプリントどこにやったかわからないんだもの +わからないなんてきちんとさがして勉強しなさい +勉強の前にご飯食べさせて +たくさん食べなさい +はい食べます \ No newline at end of file diff --git a/asobi/tango.csv b/asobi/tango.csv new file mode 100644 index 0000000..dba6517 --- /dev/null +++ b/asobi/tango.csv @@ -0,0 +1,3 @@ +["プログラミング","英語"] +["chomp." "case."" def."" elsif."" else."" end."" gets."" if."" ls."" \n."" print."" puts."" printf."" ruby +"".rand."" sleep."" to_i."" to_f."" while."" when","agitato."" animato."" brilant."" con brio."" ca"] diff --git a/asobi/tanngotyou.rb b/asobi/tanngotyou.rb new file mode 100755 index 0000000..acd4a6e --- /dev/null +++ b/asobi/tanngotyou.rb @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +def erabu(a) + require 'csv' + data=CSV.read("tango.csv",headers:true) + if a==1 + puts"-プログラミング単語帳-" + data.each{|row| + printf("%s\n",row["プログラミング"])} + puts"--------------------------------------------------------" + + elsif a==2 + puts"-音楽表現単語帳-" + data.each{|row| + printf("%s\n",row["音楽"])} + puts"-------------------------------------------------------- +" + + else + puts"おぼえられないよ!" + + end +end + + +puts"これは単語帳だよ" +puts"数字を入れたあとに、Enterを押すと意味が出てくるよ" +puts"1から2を選んでね。" +puts"1.プログラミング 2.音楽表現" + +erabuu=gets.to_i +erabu(erabuu) + diff --git a/asuki.rb b/asuki.rb new file mode 100755 index 0000000..246cf81 --- /dev/null +++ b/asuki.rb @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +system"banner YSFM" diff --git a/before.jpg b/before.jpg new file mode 100644 index 0000000..660e13f --- /dev/null +++ b/before.jpg Binary files differ diff --git a/break.rb b/break.rb new file mode 100644 index 0000000..f7055a9 --- /dev/null +++ b/break.rb @@ -0,0 +1,18 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +puts"1から9の数字を入力しましょう。足した合計が30以上になると終わるよ!" +sum = 0 +while true + suuji = gets.to_i + sum += suuji.to_i + puts"また数字を入れてみましょう!" + if sum >= 30 then #合計が30以上になると、処理を開始する。 + printf("合計は%dです。\n",sum) + break # 処理を中止して、ループを終わらせる + end +end + + +#break 処理を中止して、ループを終わらせる +#改良点 ifを何個か用いることで、いくつかの条件ごとに結果が分かれるようなプログラムをつくることができる。 diff --git a/cafe.csv b/cafe.csv new file mode 100644 index 0000000..f738c16 --- /dev/null +++ b/cafe.csv @@ -0,0 +1,4 @@ +店名,人気スイーツ,住所,電話番号,バス停,バス線名 +Le-Monde,塩汁スパゲティー,山形県酒田市北新橋2-11-8,0234-23-0373,北新橋,市内循環D線 +ギャラリー喫茶ヴィヨン,鉄板ナポリタン,山形県酒田市千石町2-11-15,0234-24-8300,酒田リハビリ病院前,市内循環A線 +珈琲貴族,担々麺,山形県酒田市東泉町1-13-13,0234-24-7811,東泉町二丁目,市内循環A線・市内循環B線 diff --git a/cafe.rb b/cafe.rb new file mode 100755 index 0000000..f7e2c21 --- /dev/null +++ b/cafe.rb @@ -0,0 +1,37 @@ +#!/usr/koeki/bin/ruby +#-*-coding: utf-8-*- + +require 'csv' +data = CSV.read("cafe.csv", headers: true) +while true + puts "酒田市のカフェについてのページだよ!" + puts "何を知りたい?" + puts "1 カフェの場所" + puts "2 カフェ近くのバス停(るんるんバス)" + puts "0 終了" + print("番号を選んでね!:") + input=gets.to_i + if input == 0 then + break + elsif input == 1 then + n=0 + data.each{|row| + printf("%d %s: %sが有名のカフェだよ\n",n+=1, row["店名"],row["人気スイーツ"]) + printf("住所は、%s。電話番号は、%s。\n", row["住所"],row["電話番号"]) + print("-------------------------------------------------------------\n")} + elsif input == 2 then + s=0 + data.each{|row| + printf("%d %s \n",s+=1,row["店名"])} + print("どのバス停が知りたい?(番号で答えてね):") + num = gets.to_i-1 + if num >= 0 && num < data.length + printf("%sに近いバス停は、 %sです\n", data[num]["店名"],data[num]["バス停"]) + printf("そのバス停は%sのバス線にあります\n", data[num]["バス線名"]) + print("------------------------------------------------------\n") + end + else + print("0〜2から選んでね\n") + end +end + diff --git a/count.rb b/count.rb new file mode 100755 index 0000000..adff980 --- /dev/null +++ b/count.rb @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +print"好きな数字入れて!\n" +kou=gets.to_i +printf"%dの約数は\n",kou +yaku=0 + +while yaku<=kou + + yaku +=1 + if kou % yaku==0 + printf"%d\n",yaku + end +end + + print"好きな数字を入れてね!\n" + suu=gets.to_i + printf"%dの約数は\n",suu + a=0 + +while a<=suu + + a +=1 + if suu % a==0 + printf"%d\n",a + + end +end + + + + + diff --git a/data2.csv b/data2.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/data2.csv diff --git a/debug-j2317-1.rb b/debug-j2317-1.rb new file mode 100755 index 0000000..0de5fae --- /dev/null +++ b/debug-j2317-1.rb @@ -0,0 +1,13 @@ +#!/usr/bin/env ruby +# -*- codong: utf-8 -*- +# 第1問 +# 次のプログラムは、整数を入力させてそれが偶数(2で割り切れる数)か +# 判定するものですが、間違えているので動きません。 +# これを ~/Ruby/debug-j2317-1.rb という名前で作成し、 +# 間違っている部分を修正してください。 + +print"数を入れてね: " +kazu = gets.to_i +if kazu % 2 == 0 +print"偶数だよ!" +end diff --git a/debug-j2317-2.rb b/debug-j2317-2.rb new file mode 100755 index 0000000..2ce5e81 --- /dev/null +++ b/debug-j2317-2.rb @@ -0,0 +1,24 @@ +#!/usr/bin/env ruby +# 第2問 +# 次のプログラムは、九九の表を出力させるものですが +# 間違えているので動きません。 +# これを ~/Ruby/debug-j2317-2.rb という名前で作成し、 +# 間違っている部分を修正してください。 + +gyou = 1 + +while gyou > 9 + retsu = 1 + printf("%d | ", retsu) + retsu += 1 + + + while retsu > 9 + printf("%d ", (retsu += 1)*gyou) + end + + gyou += 1 + puts + end + + diff --git a/def.rb b/def.rb new file mode 100644 index 0000000..84bd62d --- /dev/null +++ b/def.rb @@ -0,0 +1,69 @@ +#!/uar/bin/env ruby +# -*- coding: utf-8 -*- + +def kakunin(x) + printf("%s数を入力してね!\n",x) + kazu = gets.to_i +end +def kakezan(x,y) + x*y +end + +def warizan(x,y) + x/y +end + +def tasizan(x,y) + x+y +end + +def hikizan(x,y) + x-y +end + +def comment + puts"もう一度入力してね" +end + +while true + + print"かけ算、割り算、足し算、引き算のうちどれかを選んでね!\n" + puts"1.かけ算" + puts"2.割り算" + puts"3.足し算" + puts"4.引き算" + puts"5.終わる" + + go=gets.to_i + + if go==1 + x = kakunin("かけられる") + y = kakunin("かける") + printf("答えは%dだよ!\n",kakezan(x,y)) + redo + + elsif go==2 + x = kakunin("割られる") + y = kakunin("割る") + printf("答えは%dだよ!\n",warizan(x,y)) + redo + + elsif go==3 + x = kakunin("足される") + y = kakunin("足す") + printf("答えは%dだよ!\n",tasizan(x,y)) + redo + + elsif go==4 + x = kakunin("引かれる") + y = kakunin("引く") + printf("答えは%dだよ!\n",hikizan(x,y)) + redo + + elsif go==5 + break + + else + comment + end +end diff --git a/for.rb b/for.rb new file mode 100755 index 0000000..6a43cf1 --- /dev/null +++ b/for.rb @@ -0,0 +1,22 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- +#一つ目のプログラム +#sports = ["野球","バレーボール","サッカー"] +#for kibun in sports #kibun変数にsports配列の要素を順番に代入される + # printf("今日は%sしたい気分だ。\n",kibun) #この部分が繰り返される +#end + +#for文とは??:配列や範囲などの複数の値を、順番に変数へ代入する処理 +#一つ目のプログラムの詳しい解説:sportsという配列に格納される配列の要素を順番にkibunという変数に代入して処理が繰り返されて、野球、バレーボール、サッカーの順番で出力されます。 +#今回はsportsという配列を事前に作ってfor文のオブジェクト指定の部分に要素として入れていますが、["野球","バレーボール","サッカー"] を直接入力しても動きます。 + + +#改善編~このプログラムを動かすときは一つ目のプログラムの行の初めにシャープをつけてコメント文にして、改善版プログラムの一行目からシャープを消そう~ +sports = ["野球","バレーボール","サッカー","ボート","ホッケー","ラグビー","卓球"] +i=0 #for文の中のprintf文で添字を作るためのもの +puts "スポーツ図鑑" +for zukan in sports #x変数にsports配列の要素を順番に代入される + printf("%d: %s\n", i+=1, zukan) #%dにはiに1づつ追加されていき、%sにはx変数に代入されているsports配列の要素がが入る +end + +#改善版プログラムの詳しい解説:i=0を活用してprintfの中にi+=1を入れることでスポーツ名を出す時の添字にしています。また、sportsという配列に格納される配列の要素を順番にzukanという変数に繰り返し代入されるため、野球、バレーボール、サッカーボート、ホッケー、ラグビー、卓球の順番で出力されます。 diff --git a/fruits.csv b/fruits.csv new file mode 100644 index 0000000..73e65dc --- /dev/null +++ b/fruits.csv @@ -0,0 +1,7 @@ +品物,価格,生産地 +りんご,200,青森 +さくらんぼ,500,山形 +みかん,100,愛媛 +もも,1000,福島 +バナナ,300,沖縄 +ぶどう,700,山梨 diff --git a/fruits.rb b/fruits.rb new file mode 100644 index 0000000..0630c12 --- /dev/null +++ b/fruits.rb @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# coding: utf-8 +Encoding.default_external = "utf-8" # CSVファイルがutf-8のとき +require "csv" +data = CSV.read("fruits.csv",headers: true) + +data.each{|row| + printf("%sは、%d円で生産地は%sです\n", + row["品物"],row["価格"],row["生産地"])} + + + diff --git a/ge.rb b/ge.rb new file mode 100644 index 0000000..af77872 --- /dev/null +++ b/ge.rb @@ -0,0 +1,5 @@ +#/usr/bin/usv ruby +# -*- coding: utf-8 -*- +n=gets.to_i +sleep(n) +puts"終わり" diff --git a/gengou.rb b/gengou.rb new file mode 100755 index 0000000..39830b5 --- /dev/null +++ b/gengou.rb @@ -0,0 +1,61 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +puts"これからクイズを出すよ!" +puts"第一問" +puts"佳史の好きな食べ物は何でしょうか" +puts"1.寿司" +puts"2.カツ丼" + +while true + print"答えを入れてください\n" + kotae=gets.chomp.to_i + if kotae==2 + puts"ブブー不正解・・・自分のs4の画像にヒントがあるよ!" + redo + + elsif kotae==1 + puts"正解よくわっかたね!" + break + + else + puts"その選択肢はないよ。1,2,3、の選択肢をしっかり見て数字を入れてね。" + redo + end +end + +puts"次に第2問だよ!" +puts"好きな色は何でしょう!★" +puts"1.赤" +puts"2.青" +puts"3.緑" +puts"4.黄緑★★★★★★★★★★★★★" + +while true + print"答えを入力してね!\n" + kota=gets.chomp.to_i + + if kota==1 + puts"ブブー不正解・・・ヒント、派手かも" + redo + + elsif kota==2 + puts"ブブー不正解・・・ヒント、派手かも" + redo + + elsif kota==3 + puts"ブブー不正解・・・ヒント、派手かも" + redo + + elsif kota==4 + puts"ピンポンピンポン大正解すごいね!" +break + else + puts"その選択肢はないよしっかり見てから入力してね!" + redo + end +end + +print"第3問" + + + diff --git a/hairetsu.rb b/hairetsu.rb new file mode 100644 index 0000000..bed7b80 --- /dev/null +++ b/hairetsu.rb @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +jikanwari = [] + +puts "時間割に1〜5時間目の教科を登録します。" +puts "1時間目の教科を入力してください。" +kyoka1 = gets.chomp +jikanwari << kyoka1 +puts "2時間目の教科を入力してください。" +kyoka2 = gets.chomp +jikanwari << kyoka2 +puts "3時間目の教科を入力してください。" +kyoka3 = gets.chomp +jikanwari << kyoka3 +puts "4時間目の教科を入力してください。" +kyoka4 = gets.chomp +jikanwari << kyoka4 +puts "5時間目の教科を入力してください。" +kyoka5 = gets.chomp +jikanwari << kyoka5 + +printf("今日の時間割は%sです。\n", jikanwari) + +#内容 +#<<でgetsしたデータをどんどん足していくものです。1〜5時間目の教科を入力していき配列として出力されます。 + +#各行の説明 +#4行目:データを格納するために空の配列jikanwariを用意します。 +#7〜9行目:1時間目の教科として入力した値が変数kyoka1に代入され、jikanwariに格納されます。 +#10〜21行目:同様に入力した2〜5時間目の教科も配列に格納されます。<<は配列の末尾に値を格納していくものです。 +#23行目:printfでjikanwariを参照し、配列として時間割が出力されます。 + +#改良点 +#何校時授業かを最初に入力してもらって、whileでその回数だけ入力させられるとよいでしょう。 +#また、forでjikanwariに入っている値を取り出して、1教科ずつ出力できるとよいと思います。 diff --git a/hello.rb b/hello.rb new file mode 100644 index 0000000..4d581a8 --- /dev/null +++ b/hello.rb @@ -0,0 +1,18 @@ +#!/usr/bin/env ruby +#-*- coding: utf-8 -*- +def kakezann(suuzi,suuzini) + if suuzi<0||suuzini<0 + return nil + end + return suuzi*suuzini +end + +puts "掛け算をするよ!" +print"好きな数字をいれてね!" +suuzi=gets.to_i +print"もう一つ好きな数字をいれてね!" +suuzini=gets.to_i +printf("式は%d*%dになって答えは%dになるよ。\n",suuzi,suuzini,kakezann(suuzi,suuzini)) + + + diff --git a/i.rb b/i.rb new file mode 100755 index 0000000..0b751ee --- /dev/null +++ b/i.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +kazu = 1 + +require'csv' +csv = CSV.read("seika.csv",headers:true) + +csv.each do|row| + puts(row["serifu"]) + gets +end + +while kazu <= 10 + printf("第%d問\n",kazu) + mondai={ "1"=>"3日分" , "2"=>"3.地震が終わったら消す" ,"3" =>"32倍" } + + if kazu == 1 + puts"災害が起き備蓄食は、最低、何日分必要でしょう。" + sleep(5) + print mondai["1"] + + elsif kazu == 2 + puts"料理中や火を扱っているときに、地震が起きたらどうすればいいでしょう。1.火を消す(ガス栓をしめる)2.そのままにする3.地震が終わったら消す" + sleep(5) + print mondai["2"] + + elsif kazu == 2 + puts"マグニチュード1増えると揺れる力は何倍になるでしょう +1、12倍 +2、32倍 +3,52倍" + sleep(5) + print mondai["3"] + end + kazu += 1 +end + + + + diff --git a/if.rb b/if.rb new file mode 100644 index 0000000..46635a6 --- /dev/null +++ b/if.rb @@ -0,0 +1,88 @@ +# 点数の入力・判別、それに対してのコメントをするプログラム +# 「if」はプログラムに分かれ道をつくることができる。 +# 場合分けをして実行結果を変化させる処理のことを条件分岐という +# 場合分けを増やす場合は「elsif」 +# 場合分け以外の場合は「else」を使う。 + +# コード +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +# 点数の入力 +while true +puts "テストの点数を入力してね" +score = gets.to_i + +# 点数の判定 + + if score > 100 or score < 0 # 0〜100以外の点数は受け付けない。 + puts "もう一度入力してください" + redo + elsif score >= 100 + puts "すごい!満点だ!" + break + elsif score >= 80 + puts "素晴らしい!" + break + elsif score >= 60 + puts "グッド!" + break + elsif score >= 40 + puts "よくやった!" + break + elsif score >= 20 + puts "もう少し頑張ろう!" + break + elsif score >= 0 + puts "もっと勉強しよう!" + break + end +end + + +# このコードを改造してよりよくするなら。 +# 科目ごとに点数を入力してもらう。while, 配列(array), メソッド(method)を使う。 + +# 改造コード(例) +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +# 判別をするメソッド +# def hanbetu(score) +# comment = "" +# if score > 100 or score < 0 # 0〜100以外の点数は受け付けない。 +# comment = "もう一度入力してください" +# elsif score >= 100 +# comment = "すごい!満点だ!" +# elsif score >= 80 +# comment = "素晴らしい!" +# elsif score >= 60 +# comment = "グッド!" +# elsif score >= 40 +# comment = "よくやった!" +# elsif score >= 20 +# comment = "もう少し頑張ろう!" +# elsif score >= 0 +# comment = "もっと勉強しよう!" +# end +# return comment # comment変数に代入された文字列を返す +# end + +# subject = ["国語","数学","理科","社会","英語"] +# tensuu = [] # 入力された点数が追加される配列 + +# i = 0 +# while i <= subject.length - 1 # iが、配列の長さ(今回は4)より大きくなったらループを抜ける。配列の長さを取得するには、.lengthを使う。 +# printf("%sの点数は?\n>>", subject[i]) +# tensuu << gets.to_i #入力された点数を配列(tensuu)に追加 +# i += 1 +# end + +# puts "" + +# puts "最後に5科目の点数を確認をしましょう。" +# j = 0 +# while j <= subject.length - 1 #上に同じ +# printf("%sの点数は%i点です。%s\n", subject[j], tensuu[j], hanbetu(tensuu[j])) #科目、点数をそれぞれの配列の左から順番に出力している。最後に点数に対してコメントを返す。 +# j += 1 +# end diff --git a/igai.eb b/igai.eb new file mode 100755 index 0000000..a9a37ec --- /dev/null +++ b/igai.eb @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + + diff --git a/igai.rb b/igai.rb new file mode 100755 index 0000000..7da7168 --- /dev/null +++ b/igai.rb @@ -0,0 +1,38 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +require'curses' +puts"左上に画像が出るからterm-2(実行するとこ)を右側に移動しておいてね。emacs(プログラム作るところ)は最小化させたほうがいいよ" +puts"できたら、Enterを押そう" +gets +puts"意外と知られていない *アレ* 問題" +puts"みんなが意外と知らない *アレ* の問題を出すからね※(カタカナとかしっかり打たないと正解にならない)" +puts"全問正解できるかな" +puts"第一問 これなーんだ" +system("display -geometry +4+1 index.jpg&") + +kiku=gets.chomp.to_s + +if kiku =="バッククロージャー" + puts"おお 正解" +else + puts"まぁそんなもんだよね" + sleep(1) + puts"答えはバッククロージャーだよ" + +end +sleep(1) +system('pkill magick -U `whoami`') +puts"第二問 これなーんだ" +system("display -geometry +0+0 images.jpg&") + +kiku2=gets.chomp.to_s + +if kiku2 =="サインボール" + puts"おお 正解" +else + puts"" + sleep(1) + puts"答えはサインボールだよ" +end +sleep(1) +system('pkill magick -U `whoami`') diff --git a/igai.re b/igai.re new file mode 100755 index 0000000..a9a37ec --- /dev/null +++ b/igai.re @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + + diff --git a/images.jpg b/images.jpg new file mode 100644 index 0000000..ce70d0f --- /dev/null +++ b/images.jpg Binary files differ diff --git a/imgres.html b/imgres.html new file mode 100644 index 0000000..18efffe --- /dev/null +++ b/imgres.html @@ -0,0 +1,62 @@ +バッククロージャー - Google 検索
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..65ae481 --- /dev/null +++ b/index.html @@ -0,0 +1,31 @@ + + + +yasai.rb + + + +

[[ RAW TEXT(DOWNLOAD here) ]]

+
+#!/usr/bin/env ruby
+# -*- coding:utf-8 -*-
+
+kago =["トマト", "きゅうり", "なす", "ピーマン"]
+i = 0
+
+while i < kago.length
+  printf(" %s を収穫した!残り %s になった。\n", kago.shift, kago)
+end
+
+
+ + diff --git a/index.jpg b/index.jpg new file mode 100644 index 0000000..44ff84e --- /dev/null +++ b/index.jpg Binary files differ diff --git a/index.png b/index.png new file mode 100644 index 0000000..6f246c0 --- /dev/null +++ b/index.png Binary files differ diff --git a/iroiro.csv b/iroiro.csv new file mode 100644 index 0000000..fe50266 --- /dev/null +++ b/iroiro.csv @@ -0,0 +1 @@ +["yougo"]["chomp"]["case"]["def"]["elsif"]["else"]["end"]["gets"]["if"]["ls"]["\n"]["print"]["puts"]["printf"]["ruby"]["rand"]["sleep"]["to_i"]["to_f"]["while"]["when"] \ No newline at end of file diff --git a/j2317_last.rb b/j2317_last.rb new file mode 100755 index 0000000..fd9f5ff --- /dev/null +++ b/j2317_last.rb @@ -0,0 +1,65 @@ +#!usr/bin/env ruby +# -*- coding: utf-8 + +#テーマ このプログラムは、地震の対策の仕方や行動についてのものである。防災はしたいけど、なにをすればいいのかわからないが多かったので「対策がわからない人の困りごとを解決する」プログラムです + +#背景 今年の1月1日のお正月を襲った石川県 熊登地方の震度7の地震で、やっぱり震度4でも怖かった、だから今のうちにしっかり勉強もしなきゃと思ってこれを作った + +#アイディア(改良点) 問題を作ってもっと知識を定着させたり、「地震後の生活」とかというたいさくなどもたくさん追加したい、もっと画像を増やしてわかりやすくしたりしたかった + +#友達にやってもらったらしっかり知識をつけてて「わかりやすい」って言ってくれたからこのプログラムは悩みを解決できたと思う1日で作ったからもっと作り込みたい + + + + + + +def kiku1(i) + zukan=["地震が起きたときだね。それではLET'S GO","津波が来るときだね。それではLET'S GO "] + puts(zukan[i-1]) +end +while true + puts"地震対策図鑑" + puts"1.地震が起きたとき 2.地震がおき津波が来るとき(他の数字を選択すると終わります)" + puts"何が見たい?:" + kiku = gets.chomp.to_i + + kiku1(kiku) + + if kiku == 1 + puts"Enterを押すと次にすすめます" + gets + puts"地震が起きたときのやるべきこと" + gets + puts"大地震発生時" + puts"自分の身の安全を守る +⇒机の下に潜る. クッションや雑誌で頭を守る. 家具や窓、ガラスから離れる" + gets + puts"揺れが収まったら" + puts"火の始末をし、避難可能な出口を見つける +⇒暖房器具や、照明器具によって火災が引き起こされる + 台所のガスの元栓をしめる. ストーブを切る. ブレーカーを落とす.など + そしてガラス片や、転倒家具に注意して、避難経路をかくほしてください" + gets + puts"外へ出る.避難する" + puts"近隣住民の安否確認と助け合い +⇒倒壊家具や転倒家具の下敷きになっている人の救出. 火災発生の消火活動. けが人の救護.などをしてください" + gets + puts"これを覚えることで生存率を上げることができます。是非覚えてくだい。" + gets + elsif kiku == 2 + puts"Enterを押すと次にすすめます" + gets + puts"強い揺れや弱くても長い揺れを感じたら、また地震を体を感じなくても「津波警報」等を見聞きしたら、いち早く海岸から逃げ、可能な限り高い場所に逃げてください" + puts"もしものために「津波標識」の確認を!" + puts"津波の危険がある場所には、津波が来襲する危険があることを示す「津波注意のほか、津波避難所や津波避難ビルを示す津波標識が設置されています。万一に備え、海の近くにいるときには必ず確認しておきましょう。また、最寄りの津波避難場所や津波避難ビル、高台などへの経路を確認しておきましょう。それに日頃からハザードマップで危険箇所や避難場所」をチェックしておきましょう" + gets + puts"これを覚えることで生存率を上げることができます。是非覚えてくだい。" + gets + else + break + end +end + + + diff --git a/janken.rb b/janken.rb new file mode 100755 index 0000000..36f10c1 --- /dev/null +++ b/janken.rb @@ -0,0 +1,173 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +puts"これからじゃんけんをするよ" +puts"数字を打たないと、おもしろくなくなっちゃうから、 ウったほうがいいよ" +puts"勝てるように頑張って!" +a=0 +def nanidasunda(q) + if q==1 + puts"グーにするぜ" + + elsif q==2 + puts"チョキにするぜ" + + elsif q==3 + puts"パーにするぜ" + + end +end + +def janken() + dasuyatu=["岩よりも硬い'グー","ハサミより鋭い'チョキ","神よりも広い'パー"] + dasuyatu[rand(dasuyatu.size)] + +end + +puts"じゃんけんをするよ" +puts"---------------------------------------------------------------------------- + + +" +puts"何出す?" +puts"1.岩よりも硬い'グー 2.ハサミより鋭い'チョキ 3.神よりも広い'パー" +nanidasu=gets.to_i + +nanidasunda(nanidasu) +puts"考え中." +sleep(0.5) +puts"考え中.." +sleep(0.5) +puts"考え中..." +sleep(0.5) +puts"考え中...." +sleep(0.5) +puts"考え中....." +sleep(0.5) +puts"考え中......" + +janken() + + + +if nanidasu==1 + print("僕はグーを出すぜ。\n") + sleep(0.5) + + puts"じゃ〜んけん〜" + sleep(2) + print"ぽん\n + + + + + + + + + + + + + + + + + + + + + + + + + + + +" +printf("自分 相手 +グー %s \n",janken) + + + +elsif nanidasu==2 + print"僕はチョキを出すぞ。\n" + sleep(0.5) + + puts"じゃ〜んけん〜" + sleep(2) + print"ぽん\n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" + +printf("自分 相手 +チョキ %s \n",janken) + + + +elsif nanidasu==3 + print"僕はパーを出すんだよ\n" + sleep(0.5) + + puts"じゃ〜んけん〜" + sleep(2) + puts"ぽん + + + + + + + + + + + + + + + + + + + + + + + +" +puts"最初はグー じゃんけん ぽん" +printf("自分 相手 +パー %s \n",janken) + + +end +puts"どう勝てたかなまた遊んでね。" diff --git a/keisan.rb b/keisan.rb new file mode 100644 index 0000000..78ab650 --- /dev/null +++ b/keisan.rb @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +def keisan(x) + a = x*2 + b = 1 + c = a + b +end + +puts "数値を入れてください。計算した結果を表示します。" +y = gets.to_i +printf("%d\n",keisan(y)) diff --git a/kensaku.csv b/kensaku.csv new file mode 100644 index 0000000..8577746 --- /dev/null +++ b/kensaku.csv @@ -0,0 +1,6 @@ +name,gakko,gakunen,kozukai +公益太郎,三川八中,2,2000 +飯森花子,余目百中,1,4000 +鶴岡一人,タキタロウ小,4,200 +鶴岡二子,タキタロウ小,2,300 +遊佐梅花,丸池小,6,900 diff --git a/kensaku.rb b/kensaku.rb new file mode 100644 index 0000000..fa29cf1 --- /dev/null +++ b/kensaku.rb @@ -0,0 +1,10 @@ +#!/usr/bin/env ruby +#coding: utf-8 + +Encoding.default_external = 'utf-8' +require 'csv' + +data = CSV.read('moji.csv', headers: true) +data.each do |row| + puts row['moji'] +end diff --git a/kensaku1.rb b/kensaku1.rb new file mode 100755 index 0000000..da556c5 --- /dev/null +++ b/kensaku1.rb @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# coding: utf-8 + +Encoding.default_external = 'utf-8' +require 'csv' + +data = CSV.read('moji.csv', headers:true) +data.each do |row| + if /i/ =~ row['moji']#←これどういう意味? + puts row['moji'] + end +end diff --git a/kensaku2.rb b/kensaku2.rb new file mode 100755 index 0000000..d7fd9a0 --- /dev/null +++ b/kensaku2.rb @@ -0,0 +1,49 @@ +#!/usr/bin/env ruby +# coding: utf-8 + +require 'csv' +data = CSV.read("kensaku.csv", headers: true) + +puts "学校で探す:1" +puts "金額で探す:2" +puts "名前で探す:3" +print "どれにしますか:" + +sel = gets.to_i +if sel == 1 + print "探したい学校名を入れてください:" + ptn = Regexp.new(gets.chomp) + data.each do |row| + if ptn =~ row["gakko"] + printf("%sさんは%s%s年です\n", row["name"], row["gakko"], row["gakunen"]) + end + end +end +if sel == 2 + print "絞り込みたい金額を入れてください:" + gaku = gets.to_i + data.each do |row| + if gaku > row["kozukai"].to_i + printf("%sさんは%d円もらっています\n", row["name"], row["kozukai"].to_i) + end + end +end +if sel == 3 + print"調べたい名前を入れてください:" + namae = Regexp.new(gets.chomp) + data.each do |row| + if namae =~ row["name"] + printf("%sさんですか?\n",row["name"]) + puts"はい:1" + puts"いいえ:2" + print"1か2で選んでください:" + situmon = gets.to_i + if situmon == 1 + printf("%sさんは、%sの%s年生です。\n",row["name"],row["gakko"], row["gakunen"]) + end + end + end +else + printf("%d番はありません。さようなら。\n", sel) +end + diff --git a/kibun.rb b/kibun.rb new file mode 100644 index 0000000..d1a9b8b --- /dev/null +++ b/kibun.rb @@ -0,0 +1,8 @@ +#!/usr/bin/env ruby +# -*- coding:utf-8 -*- + + + +for i in kibun + printf("今日は%sをしたい気分だ。\n", kibun) +end diff --git a/koutuu.rb b/koutuu.rb new file mode 100755 index 0000000..1fbc504 --- /dev/null +++ b/koutuu.rb @@ -0,0 +1,60 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +0+0 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +0+0 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回  反応時間%5.3f秒\n", correct, total/10) diff --git a/koyakusu.rb b/koyakusu.rb new file mode 100644 index 0000000..eed570e --- /dev/null +++ b/koyakusu.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby +#-*- coding:utf-8 -*- + +i = 1 +a = 1 +yakusu1=[] +yakusu2=[] +koyakusu = [] + +puts"最大公約数を出します" +puts"1つ目の数字を入力してください" +suzi1 = gets.to_i +puts"2つ目の数字を入力してください" +suzi2 = gets.to_i + +while i <= suzi1 + x = suzi1 % i + if x == 0 + yakusu1<< i + end + i +=1 +end + +while a <= suzi2 + y = suzi2 % a + if y == 0 + yakusu2 << a + end + a +=1 +end + +i = 0 + +while i != yakusu1.length + yakusu2.each do |n| + if yakusu1[i] == n + koyakusu << n + end + end + i +=1 +end + +if koyakusu.reverse[0] != nil + printf("%dと%dの最大公約数は%dです\n",suzi1,suzi2,koyakusu.reverse[0]) +else + printf("%dと%dに公約数はありません\n",suzi1,suzi2) +end diff --git a/kudamono.rb b/kudamono.rb new file mode 100644 index 0000000..b510ac9 --- /dev/null +++ b/kudamono.rb @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +kudamono = ["りんご", "みかん", "バナナ"] +nedan = [130, 80, 100] + +printf("%sの値段は%d円です。\n", kudamono[0], nedan[0]) +printf("%sの値段は%d円です。\n", kudamono[1], nedan[1]) +printf("%sの値段は%d円です。\n", kudamono[2], nedan[2]) diff --git a/kyoka.rb b/kyoka.rb new file mode 100644 index 0000000..beeeb94 --- /dev/null +++ b/kyoka.rb @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +kyoka = [] + +kyoka[0] = "国語" +kyoka[1] = "数学" +kyoka[2] = "社会" +kyoka[3] = "理科" +kyoka[4] = "英語" + +printf("一時間目は%sです。\n", kyoka[0]) +printf("二時間目は%sです。\n", kyoka[1]) +printf("三時間目は%sです。\n", kyoka[2]) +printf("四時間目は%sです。\n", kyoka[3]) +printf("五時間目は%sです。\n", kyoka[4]) diff --git a/kyoutsuugo.txt b/kyoutsuugo.txt new file mode 100644 index 0000000..4f07c3e --- /dev/null +++ b/kyoutsuugo.txt @@ -0,0 +1,13 @@ +いや~今日のテストわからなくて苦労したよ +わからなくても大丈夫さ +大丈夫なんてお前たちダメでしょう +しっかり勉強しないと偉くなれないよ +偉くなんてならなくてもいいよ +ぺらぺら言わないで早く勉強しなさい +お父さんはいつもうるさいね~ +いいか言うこと聞かないと怒るぞ +でも今日のテストのプリントどこにやったかわからないんだもの +わからないなんてきちんとさがして勉強しなさい +勉強の前にご飯食べさせて +たくさん食べなさい +はい食べます \ No newline at end of file diff --git a/maou.csv b/maou.csv new file mode 100644 index 0000000..9a60d88 --- /dev/null +++ b/maou.csv @@ -0,0 +1,24 @@ +daihonn,kyousi,satu +これはある勇者の物語,魔王「教師か 頑張るぞ」,魔王「警察だ! 全員捕まえてやる」 +勇者「みんなついにここまでやってきたぞ!」,魔王「そこで勉強が好きは人も嫌いな人もいるが勉強して賢くなるぞ」,魔王「先輩! 魔法は得意です。よろしくおねがいします」 +勇者「魔王を倒すぞー(オー)」,生徒A「先生勉強する意味あるんですか?」,先輩「魔法が得意なのか。たくさん働いてもらうぞ!」 +魔王城に入ってから数分後・・・,魔王「もちろんだ!」 +勇者「魔王ここまでだ観念しろ!」,魔王「勉強すると、戦い方など知恵をつけて将来役に立つぞ」 +魔王「え・・・」,魔王「そこで問題だ! 第1問魔法で30hpの敵に、17ダメージ与えました残りは何hp残っているでしょう」 +勇者「『え・・・』ってどういうこと?,生徒B「はい! ・・16です」 +魔王「最近もう、戦うのが疲れて、戦いはもうやらないで平和にするのはどう?もう仲良く暮らそうよ」,魔王「違います」 +勇者「まぁ別いいけど・・・みんなは」,生徒C「はい! ・・9です」 +勇者の仲間「まぁいいと思うよ勇者がそう言うなら」,魔王「違います・・・それじゃあそこの君」 +勇者「村のみんなも話せばわかってくれるか」,僕「13・・ですか」 +村につき,魔王「正解です!みんな拍手」 +村人A「魔王だみんな逃げろ」,クラスのみんな「パチパチパチ」 +村人B「まて・・勇者もいないか」,魔王「おお すごいな」 +村人たち「ホントだ。でもなんで」,その後も授業が続き・・・ +勇者「これには事情があって・・・」,このあとは皆さんの想像に任せます +村人C「そういうことか、まあいいよな」,平和に授業するもよし +その後・,みんなで遊ぶのもよし何よりいい人生を +その後・・,プログラム作成:村田佳史 +その後・・・,セリフづくり:村田佳史 +魔王「この街の生活にもなれてきたけどそろそろ働かないとだめか」,遊んでくれてありがとうございました +魔王「よし働こう!」,また遊んでね! +(1.教師 2.魔法警察) [※1または2以外を選んだら「教師」に強制的になります。]魔王の職業を決めてあげてね:,終わり diff --git a/meiro.rb b/meiro.rb new file mode 100755 index 0000000..45d922a --- /dev/null +++ b/meiro.rb @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +def sinu(a,wakare) + wakare=0 + if wakare==0 + if a==1 + puts"死" + wakare==1 + + elsif a==2 + puts"セーフ" + wakare==1 + end + end + + if wakare==1 + + if a==1 + puts"死" + + if a==2 + puts"生きる" + end + end + end +end + + +puts"分かれ道だ!" +puts"1.右 2.左" +sentaku=gets.to_i +sinu(sentaku) diff --git a/moji.csv b/moji.csv new file mode 100644 index 0000000..4f7b043 --- /dev/null +++ b/moji.csv @@ -0,0 +1,6 @@ +moji +i +Programming +Application +I +Image diff --git a/program.rb b/program.rb new file mode 100755 index 0000000..8ea0f65 --- /dev/null +++ b/program.rb @@ -0,0 +1,60 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +270+270 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +0+0 after3.jpg&") + end + setpos(2,5) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回  反応時間%5.3f秒\n", correct, total/10) diff --git a/program_advanced.rb b/program_advanced.rb new file mode 100644 index 0000000..d740d94 --- /dev/null +++ b/program_advanced.rb @@ -0,0 +1,66 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +0+0 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +400+0 quiz1.jpg") + sleep(0.5) + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回  反応時間%5.3f秒\n", correct, total/10) diff --git a/quiz1.jpg b/quiz1.jpg new file mode 100644 index 0000000..a9e568d --- /dev/null +++ b/quiz1.jpg Binary files differ diff --git a/quiz2.jpg b/quiz2.jpg new file mode 100644 index 0000000..f8cced8 --- /dev/null +++ b/quiz2.jpg Binary files differ diff --git a/quiz3.jpg b/quiz3.jpg new file mode 100644 index 0000000..0e1d599 --- /dev/null +++ b/quiz3.jpg Binary files differ diff --git a/redo.rb b/redo.rb new file mode 100755 index 0000000..9151e99 --- /dev/null +++ b/redo.rb @@ -0,0 +1,35 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +puts "1から9の間の数字を3回入力してください。その合計を足します。" +tasu = 0 +goukei = 0 + +while tasu < 3 + printf("数字を入力してください: ") + kazu = gets.to_i + + if kazu > 9 || kazu < 0 + printf("----1から9の数字を入力してください。----\n") + redo + end + + goukei += kazu + printf("入力された数字: %d\n", kazu) + tasu += 1 +end + +printf("3つの数字の合計は %dです。\n", goukei) + +# redoとは、繰り返し処理を中断し、処理を最初からやり直す働きを持っています。 +# 3回入力してもらいますが、1〜9以外の数字を入力すると9行目の +# printf("数字を入力してください: ")に戻り、処理を最初からやり直します。 + +# 最後に3つの入力された数字の合計を出力しますが、1〜9以外の数字が入力されたときは足されません. + +#-------------改良するなら------------- +# redoだけではなく、nextやbreakもプログララムの中で使ってみよう! +# たとえば、1〜4の4択クイズで不正解の場合はredoでやり直し、正解したらbreakでプログラムを終了するようなプログラム + +# また、このプログラムは3回ですが、最初に何回入力させるかをユーザーに入力させてその回数分だけ入力を繰り返してみよう! + diff --git a/rpc.rb b/rpc.rb new file mode 100755 index 0000000..897158a --- /dev/null +++ b/rpc.rb @@ -0,0 +1,88 @@ +#! usr/bin/env ruby +# -*- coding: utf-8 -*- + +def kiku2(i) + job = ["教師","調理師","魔法警察"] + addstr("魔王の職業は、") + addstr(job[i-1]) + addstr("になったよ") + refresh + +end + + +def kiku1(a) + + if a==1 + addstr("魔王「好きか〜それは良かった」") + refresh + + elsif a==2 + addstr("魔王「嫌いなの!勉強はいいのに」") + refresh + + else + addstr("魔王「まぁ嫌いってことね」") + refresh + end +end +require'csv' +require 'curses' + +i = 0 +a = (ENV["SLEEP"]||0.9).to_i +csv = CSV.read("maou.csv",headers:true) + +Curses.init_screen +include Curses +cbreak + +begin + csv.each do |row| + setpos(i,20) + addstr(row["daihonn"]) + refresh + sleep(a) + i += 1 + end + + kikune = getstr.to_i + setpos(i,20) + kiku2(kikune) + + + + + if kikune==1 + i += 2 + addstr("魔王「みんなー勉強は好きかー」(1.好き♥ 2.嫌い❦):") + refresh + kiku = getstr.to_i + setpos(i,20) + i += 1 + kiku1(kiku) + csv.each do |row| + + setpos(i,20) + addstr(row["kyousi"]) + refresh + sleep(a) + i += 1 + end + elsif kikune == 2 + csv.each do |row| + + setpos(i,20) + addstr(row["satu"]) + refresh + sleep(a) + i += 1 + end + + end +end + +Curses.close_screen + + + diff --git a/rpg.rb b/rpg.rb new file mode 100755 index 0000000..d0b892e --- /dev/null +++ b/rpg.rb @@ -0,0 +1,255 @@ +#! /usr/bin/env ruby +# -*- coding: utf-8 -*- + +Encoding.default_external = 'utf-8' +require"csv" +data=CSV.read("data2.csv",headers:true) +data.each{|row| + printf("名前 %s 性別 %s 武器 %s 防具 %s 経験値 %d \n",row["name"],row["sei"],row["buki"],row["bougu"],row["keikennti"])} + +CSV.open("data2.csv","w+")do|data2| + ("w+") + +end + +money = 0 +mone = 0 +w = 0 + +def doko(z) + if z==1 + puts"" + elsif z==2 + puts"" + + else + print"行けないよ\n" + end + +end + + +def hp(q,money) + if q==1 + money -= 200 + hp_bougu=10 + + elsif q==2 + money -= 100 + hp_bougu=7 + + elsif q==3 + money -= 50 + hp_bougu=5 + + else + print"その防具はごめん売ってないんだ\n" + print"1.2.3から選んでね\n" + + end + return hp_bougu,money + +end + +def power(a,mone) + + if a==1 + mone -= 700 + power_buki=20 + + + elsif a==2 + mone -= 500 + power_buki=15 + + elsif a==3 + mone -= 300 + power_buki=10 + else + print"その剣はごめん売ってないんだ\n" + print"1.2.3から選んでね!\n" + end + return power_buki,mone + +end + +def ou(s) + if s==1 + print"行くのか!\n" + print"ならこれを持ってけ\n" + print"-勇者の剣をゲットした-\n" + power_ken=100 + + end + power_ken +end + +def uo(w) + if w==2 + puts"行かぬのか" + puts"これで身でも守っとれ" + puts"-勇者の盾をゲットした-" + hp_tate=100 + end + hp_tate +end + +print <<~setumei +<ゲーム説明> +このゲームでは、どこに行くかで決まります。 +何かをするときは表示されている番号を入力してください +(主)=主人公 ガル=お金 hp=体力 power=攻撃力 +Enterを押すと、会話が次に進みます。 +これは魔王を倒すことが目的です +頑張ってください +setumei +gets +puts" + + +" +puts"名前を決めてね!" +nama=gets.chomp +puts"性別を決めてね! + 1.男 + 2.女" +seibetu=gets.chomp + + +puts"(主)ここはどこだ" +gets +puts"(主)確か家で寝てて・・・" +gets +puts"(主)誰かが入ってきて刺されたんんだ!" +gets +puts"(主)でもなんでこんなところに?" +gets +puts"(主)まさかいま話題の転生か!" +gets +puts"(主)一度はアニメとかみたいにやってみたかったんだよな。" +gets +puts"(謎の男)お前見ない顔じゃな" +gets +puts"(謎の男)敵ではなさそうじゃ" +gets +puts"(村長)名を名乗れ" +gets +printf("(主)%sといいます。\n",nama) +gets +printf("(謎の男)%sかなかなか興味深い名だな。\n",nama) +gets +puts"(謎の男)なんにもないだろ" +gets +puts"(謎の男)これやる" +print"-謎の男から1000ガルもらった。-\n" +gets +puts"(謎の男)これで少しは生活してくれ" +gets +puts"(謎の男)すぐ近くに城があるから、そこに行ってると良いぞ" +gets + +money += 1000 +while true + puts"-------------------------------------------" + puts"どこ行く?" + puts"1.城" + puts"2.防具屋" + puts"3.スタート草原" + ddo=gets.to_i + + doko(ddo) + + if ddo==1 + if w==0 + puts"" + puts"(王)何だ?" + gets + puts"(主)男に言われてきました" + gets + puts"(王)まさか魔王討伐に行ってくれるのか" + puts"1.行く!" + puts"2.行かない" + iku=gets.chomp.to_i + if iku==1 + keke = ou(iku) + printf("powerは%dだよ。\n",keke) + elsif iku==2 + tata = uo(iku) + printf("hpは%dだよ\n",tata) + else + puts"行くのか行かないのか" + redo + end + elsif w ==1 + w+=1 + end + end +end +if ddo==2 + if w==0 + puts"誰だよ" + puts"出ていけ!" + + elsif w<=1 + + while true + puts"防具" + + puts"1.金の鎧700ガル 2.医師の鎧500ガル 3.動の鎧300ガル" + bougu=gets.to_i + puts"武器" + puts"1.剣200ガル 2.斧100ガル 3.ツルハシ50ガル" + buki=gets.to_i + + power_buki,mone=power(buki,mone) + hp_bougu,money=hp(bougu,money) + + p bougu,buki + if bougu <= 4 + break + + elsif bougu >= 3 + redo + + elsif buki <= 4 + break + + elsif buki >= 3 + print"その剣はごめん売ってないんだ\n" + redo + + end + printf("ステータスは、power%d,hp%dです。\n",power_buki,hp_bougu) + w+=1 + end + end +end + +teki=["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] + + + yabai = rand(teki.size) + mon = teki[yabai] + printf("「%s」が出てきた!\n", mon) + + + while 2>=0 + + + + + + + + + + + +CSV.open("data2.csv","w+")do|data2| + data2<<[power_buki,hp_bougu,name,sei,] + +end + end + + + diff --git a/score.sq3 b/score.sq3 new file mode 100644 index 0000000..0971dfa --- /dev/null +++ b/score.sq3 Binary files differ diff --git a/seika.csv b/seika.csv new file mode 100644 index 0000000..bbc374a --- /dev/null +++ b/seika.csv @@ -0,0 +1,11 @@ +serifu +なんとこれは、地震対策と、計算トレーニングができる、一石二鳥のものです。Enterを押すと次に進めるので、楽しんでください。 +とある街での出来事・・・ +ある一人の男性が、洞窟にやってきた、 +看板を見つけた + 冒険者へ + この洞窟は、地震についてのものが出される + さてお前はこの洞窟から抜け出すことができるかな + + dy.洞窟主より + diff --git a/seika.rb b/seika.rb new file mode 100755 index 0000000..7907187 --- /dev/null +++ b/seika.rb @@ -0,0 +1,129 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +def kotae(a,i) + case a +when 1,2,4,7,8 + if i==3 + puts"すごいあたり!" + else + puts"ちがうよ" + end +when 3,5,6 + if i==2 + puts"すごいあたり!" + else + puts"残念" + end + end +end + + + + +kazu = 1 + +require'csv' +csv = CSV.read("seika.csv",headers:true) + +csv.each do|row| + puts(row["serifu"]) + gets +end + +while kazu <= 7 + printf("第%d問\n",kazu) + mondai={ "1"=>"答え:3日分" , "2"=>"答え:3.地震が終わったら消す" ,"3" =>"答え:2.32倍" , "4" =>"答え:3,どっちも持ってく","5"=>"答え:2" ,"6"=>"答え:2 津波注意" ,"7"=>"答え:3、道路の横に止めしょうがないとキーを指したまま徒歩で行く","8"=>"答え:3.27L"} + + if kazu == 1 + puts"災害が起き備蓄食は、最低、何日分必要でしょう。" + kiku=gets.chomp.to_i + kotae(kazu,kiku) + puts mondai["1"] + sleep(3) + + + + elsif kazu == 2 + puts"料理中や火を扱っているときに、地震が起きたらどうすればいいでしょう。1.火を消す(ガス栓をしめる)2.そのままにする3.地震が終わったら消す" + kiku2=gets.chomp.to_i + kotae(kazu,kiku2) + puts mondai["2"] + sleep(3) + + + elsif kazu == 3 + puts"マグニチュード1増えると揺れる力は何倍になるでしょう +1、12倍 +2、32倍 +3,52倍" + kiku3=gets.chomp.to_i + kotae(kazu,kiku3) + puts mondai["3"] + sleep(3) + + + elsif kazu == 4 + puts"非常時に持ってくもの救急箱とインスタントラーメン持っていくか +1,救急箱を持ってく +2,インスタントラーメンを持ってく +3,どっちも持ってく +4,どっちも持ってかない +" + kiku4=gets.chomp.to_i + kotae(kazu,kiku4) + puts mondai["4"] + sleep(3) + + + elsif kazu == 5 + puts"インスタントラーメンを水(20度くらい)で作るとどれくらいかかる +1.約3分 +2.約30分 +3.約60分" + kiku5=gets.chomp.to_i + kotae(kazu,kiku5) + puts mondai["5"] + sleep(3) + + + elsif kazu == 6 + puts"この画像はの画像は、何を表しているでしょうか? +1 洪水注意 +2 津波注意" + system("display -geometry +0+0 tunami.jpg&") + kiku6=gets.chomp.to_i + kotae(kazu,kiku6) + puts mondai["6"] + sleep(3) + system('pkill magick -U `whoami`') + + + elsif kazu == 7 + puts"難問! +車を運転してるときに地震が起こっておさまったらその後どうする? +1,車で避難所に行く +2,道路の横に止め盗まれそうだからキーを持って徒歩で行く +3、道路の横に止めしょうがないとキーを指したまま徒歩で行く" + kiku7=gets.chomp.to_i + kotae(kazu,kiku7) + puts mondai["7"] + sleep(3) + + elsif kazu == 8 + puts"必要な水は一人あたり一日3Lですが、9日分あると、何Lになるでしょう +1.6L +2.18L +3.27L" + kiku8=gets.chomp.to_i + kotae(kazu,kiku8) + puts mondai["8"] + sleep(3) + + + end + kazu += 1 +end + + + + diff --git a/shonaiben_translator.rb b/shonaiben_translator.rb new file mode 100755 index 0000000..b6e529a --- /dev/null +++ b/shonaiben_translator.rb @@ -0,0 +1,45 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +def levenshtein(string1, string2, memo={}) # レーベンシュタイン距離を計算するメソッド + return memo[[string1, string2]] if memo[[string1, string2]] + return string2.size if string1.empty? + return string1.size if string2.empty? + return levenshtein(string1[1..], string2[1..], memo) if string1[0] == string2[0] + min_dist = 1 + [levenshtein(string1[1..], string2, memo), + levenshtein(string1, string2[1..], memo), + levenshtein(string1[1..], string2[1..], memo) + ].min + memo[[string1, string2]] = min_dist + min_dist +end + +source = File.readlines("shounaiben.txt") # 庄内弁の文章をファイルから読み込み、配列に保存 +candidates = File.readlines("kyoutsuugo.txt") # 共通語の訳文をファイルから読み込み、配列に保存 + +i = 0 +while i < source.length # 庄内弁の文章ごとに同じ処理を繰り返す + dist2target = levenshtein(source[i].chomp, candidates[i].chomp) # 正解訳文への編集距離の計算 + min_dist = dist2target # 最短編集距離の初期値(=正解訳文への編集距離) + count_same_or_lower = 0 # 編集距離が正解への距離以下である文章の総数の初期値 + best_cand = candidates[i].chomp # 最短編集距離の訳文の初期値(=正解訳文) + for cand in candidates # それぞれの共通語の文章への編集距離を調べる + dist = levenshtein(source[i].chomp, cand.chomp) + if dist < min_dist + min_dist = dist + best_cand = cand + end + if dist <= dist2target + count_same_or_lower += 1 + end + end + printf("庄内弁の文章: %s\n", source[i].chomp) + printf("共通語の訳文(正解): %s\n", candidates[i].chomp) + printf("最短編集距離の訳文: %s\n", best_cand.chomp) + printf("正解訳文への編集距離: %d\n", dist2target) + printf("最短編集距離: %d\n", min_dist) + printf("編集距離が正解訳文への距離以下である文章の総数: %d\n", count_same_or_lower) + puts + + i += 1 +end diff --git a/shounaiben.txt b/shounaiben.txt new file mode 100644 index 0000000..8266081 --- /dev/null +++ b/shounaiben.txt @@ -0,0 +1,13 @@ +いや~今日のテストわがらねぐでよいでねけ~ +わがらねたってなんでもね~ +なんでもでねんでろおめだだめだんねあんが +ちゃんと勉強しねど偉ぐならんねさげの~ +偉ぐなんてなんねぐてもいさげ +しゃべっちょこいでねでちゃっちゃど勉強せ +だだはいっつもやがましちゃ +いがの~言うごど聞がねどごげっぞ +したって今日のテストのプリントどごさやたがわがらねもの~ +わがらねどちゃんとさがして勉強せ +勉強の前さままかせでくれ +ほれいっぺけ~ +せばく~ \ No newline at end of file diff --git a/sisaku.rb b/sisaku.rb new file mode 100755 index 0000000..c78c55b --- /dev/null +++ b/sisaku.rb @@ -0,0 +1,13 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +setpos(4,6) +addstr("\n sugou") +refresh diff --git a/sutetasu.csv b/sutetasu.csv new file mode 100755 index 0000000..8ff2c46 --- /dev/null +++ b/sutetasu.csv @@ -0,0 +1,4 @@ +デビル,インキュバス,スライム,ウルク,アルゴス,アルコン,イフリート,ゥリスク +2,3,1,4,5,6,7,8 +10,20,5,30,40,50,60,70 +50,100,20,150,200,250,300,350 diff --git a/sutetasu.rb b/sutetasu.rb new file mode 100755 index 0000000..06551da --- /dev/null +++ b/sutetasu.rb @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'csv' +CSV.open("sutetasu.csv","w")do|sutetasu| + + sutetasu<<["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] + sutetasu<<["2","3","1","4","5","6","7","8"]#攻撃力 + sutetasu<<["10","20","5","30","40","50","60","70"]#体力 + sutetasu<<["50","100","20","150","200","250","300","350"]#経験値 +end + diff --git a/tango.csv b/tango.csv new file mode 100644 index 0000000..678d061 --- /dev/null +++ b/tango.csv @@ -0,0 +1,20 @@ +プログラミング,音楽 +chomp,agitato +case,animato +def,con brio +elsif,cantabile +else,capriccioso +end,dolce +gets,elegante +if,energico +ls,espressiuo +print,con fuoco +puts,grandioso +printf,llegiero +ruby,maestoso +rand,misterioso +sleep,con moto +to_i,ppssinato +to_f,pastorale +while,pesante +when,schezando diff --git a/tunami.jpg b/tunami.jpg new file mode 100644 index 0000000..6f246c0 --- /dev/null +++ b/tunami.jpg Binary files differ diff --git a/tyuuuka.rb b/tyuuuka.rb new file mode 100755 index 0000000..674cc05 --- /dev/null +++ b/tyuuuka.rb @@ -0,0 +1,67 @@ +#!/usr/bin/env ruby +# -*- coding-8 -*- +hhp=0 +hp=10 +kou=0 +tata=5 +puts"<ゲーム説明>" +puts"会話を進むときは、Enterを押してね。" +gets +puts"これは電卓ソードを使って、モンスターを倒すゲームだよ。" +gets +puts"答えを入力するときは、電卓を閉じてから入力してね" +gets +puts"それでは頑張って" +gets +puts"★ここにゲームの名前★" +gets +puts"モンスターを倒して、メンドー将軍を倒そう" +gets +puts"電卓はモンスターが出たときに出てくるからそれを使ってがんばってね" +puts"-電卓ソードをゲットした-" +gets + +mamono = ["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] + +hhp=30 +while true + teki = rand(mamono.size) + mon = mamono[teki] + printf("「%s」が出てきた!\n", mon) + gets + m=["+","-","÷","×"] + a=rand(1..5) + b=rand(1..5) + c=rand(m.size) + ma=m[c] + + printf("問題はこれだ。(%i%s%i)さぁ解けるかな。\n",a,ma,b) + stop=Time.now + start=Time.now + puts"答えを入力してね" + stop=Time.now + time=stop-start + kotae=gets.to_i + + + if time>15 + puts"お先に" + break + else + + + end + + puts"魔王城に行く?" + puts"1.行く" + puts"2.まだ行かない" + tan=gets.to_i + if tan==1 + redo + + elsif tan==2 + break + else + puts"1か2をえらんでね" + end +end