#!/usr/bin/env ruby # -*- coding: utf-8 -*- puroguramu = %w(すごろく 買い物 計算 トランプ) puts puroguramu while true print("やりたいものを選ぼう!!\n選択:") sentaku = gets.chomp if sentaku == puroguramu[0] || sentaku == puroguramu[1] || sentaku == puroguramu[2] || sentaku == puroguramu[3] printf("%sのプログラムをするよ!!\n", sentaku) if sentaku == "すごろく" masume = [0, 0, 1, 0, 0, -1, 0, 1, 0, -1, 0, 0, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0, -2, 0, 0, -2, 1, 0, 2, 0] a = [0, 0, 0, 0, 0, 0, -5, -4, -5, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] b = [0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 2, 0, 0] c = [0, 0, 2, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 2, -3, 0, 2, 0, 0, 0, -3, 4, 0, -4, 0, 0, 0, -4, 6, 0, -2, 0, 0, -2, 0, 0, -4, 1, 0, -89] x = [0, 0] def sugoroku(me, kaisuu, masume) while me < masume.length sleep(2) kaisuu += 1 srand() printf("%d回目\n", kaisuu) sleep(2) print("エンターキーを押して、サイコロを振ってね。") gets print("サイコロ:") sleep(3) saikoro = rand(6) + 1 puts saikoro sleep(1) while saikoro > 0 me += 1 saikoro -= 1 printf("%d\n", me) sleep(0.6) end if me >= masume.length break end if masume[me] != 0 puts("ギミック") sleep(2) if masume[me] > 0 printf("%dマス進む\n", masume[me]) elsif masume[me] < 0 && masume[me] != -89 printf("%dマス戻る\n", -masume[me]) elsif masume[me] == -89 puts("スタートに戻る") end me += masume[me] end sleep(1) printf("マス目は%dだよ!\n", me) sleep(2) end return [me, kaisuu] end puts("すごろくスタート") x = sugoroku(x[0], x[1], masume) puts("ストップ!\nここから先は、2つの道があるよ!\nサイコロを振って1,3,5が出たら短いが危険な道、2,4,6が出たら長いが安全な道だよ!") sleep(10) print("エンターキーを押して、サイコロを振ってね。") gets print("サイコロ:") sleep(3) saikoro = rand(6) + 1 puts saikoro sleep(1) if saikoro % 2 == 1 puts("短いが危険な道を進むよ!") masume += a elsif saikoro % 2 == 0 puts("長いが安全な道を進むよ!") masume += b end x = sugoroku(x[0], x[1], masume) masume += c x = sugoroku(x[0], x[1], masume) puts("ゴール!!") sleep(1.5) printf("%d回でゴールしたよ!!\n", x[1]) elsif sentaku == "買い物" manpuku = %w(100, 100, 200) bangou = 0 syurui = %w(主食 主菜 副菜 汁物) tabemono = %w(お米 ハンバーグ 千切りキャベツ 味噌汁 納豆ご飯 唐揚げ ツナマヨサラダ コンソメスープ ふりかけご飯 照焼チキン きんぴらごぼう コーンスープ 卵かけご飯 玉子焼き ミックスキャベツ オニオンスープ わかめご飯 ステーキ なすごんげ 卵スープ たけのこご飯 焼き肉 枝豆 わかめスープ 醤油ラーメン 餃子 もやしナムル 麻婆豆腐 味噌ラーメン シュウマイ おひたし シチュー カレーライス 回鍋肉 ミニトマト 八宝菜 そば エビフライ 天ぷら なめこ汁 うどん とんかつ ブロッコリー 豚汁 パン お刺し身 海藻サラダ 納豆汁) kyounogohan = [] zairyou = %w(お米 ひき肉 キャベツ 味噌 納豆 鶏肉 ツナ コンソメスープのもと ふりかけ 鶏肉 ごぼう コーンスープのもと 卵 卵 キャベツ オニオンスープのもと わかめ 牛肉 なす 卵 たけのこ 豚肉 枝豆 わかめ 麺 餃子の皮 もやし 豆腐 麺 シュウマイ ほうれん草 シチューのもと カレールゥ ピーマン ミニトマト きくらげ そば エビ さつまいも なめこ うどん 豚肉 ブロッコリー 豚肉 パン お刺し身 海藻 納豆) kaumono = [] puts("今からご飯に何を食べるか選ぶよ!") sleep(3) bangou = 0 while bangou < 4 sentaku = rand(tabemono.length) if sentaku % 4 == bangou printf("%sは%sだよ!\n", syurui[bangou], tabemono[sentaku]) sleep(2) kyounogohan << tabemono[sentaku] kaumono << zairyou[sentaku] bangou += 1 else redo end end puts("これから家にない材料を買いに行くよ!") sleep(4) puts("買うものを予想して順番に選ぼう!") sleep(3) puts zairyou bangou = 0 while bangou < 4 printf("\n%sに必要なものを上から選ぼう!\n", kyounogohan[bangou]) sentaku = gets.chomp if sentaku == kaumono[bangou] puts("正解!") bangou += 1 else puts("不正解...もう1度選び直そう!") redo end sleep(2) end puts("これで必要なものはそろったよ!!") elsif sentaku == "計算" seikaisuu = 0 keisansentaku = %w(選択画面 1:かけ算 2:わり算 3:見取り算(加算)) kakezansentaku1 = %w(かけ算選択画面 0:1桁*1桁 1:2桁*1桁 2:2桁*2桁 3:3桁*1桁 4:3桁*2桁 5:3桁*3桁 6:4桁*1桁 7:4桁*2桁 8:4桁*3桁 9:4桁*4桁 10:5桁*1桁 11:5桁*2桁 12:5桁*3桁 13:5桁*4桁 14:5桁*5桁) kakezansentaku2 = [[9, 1, 9, 1, seikaisuu], [90, 10, 9, 1, seikaisuu], [90, 10, 90, 10, seikaisuu], [900, 100, 9, 1, seikaisuu], [900, 100, 90, 10, seikaisuu], [900, 100, 900, 100, seikaisuu], [9000, 1000, 9, 1, seikaisuu], [9000, 1000, 90, 10, seikaisuu], [9000, 1000, 900, 100, seikaisuu], [9000, 1000, 9000, 1000, seikaisuu], [90000, 10000, 9, 1, seikaisuu], [90000, 10000, 90, 10, seikaisuu], [90000, 10000, 900, 100, seikaisuu], [90000, 10000, 9000, 1000, seikaisuu], [90000, 10000, 90000, 10000, seikaisuu]] warizansentaku1 = %w(わり算選択画面 0:1,2桁/1桁 1:2,3桁/1桁 2:2,3桁/2桁 3:3,4桁/1桁 4:3,4桁/2桁 5:3,4桁/3桁 6:4,5桁/1桁 7:4,5桁/2桁 8:4,5桁/3桁 9:4,5桁/4桁 10:5,6桁/1桁 11:5,6桁/2桁 12:5,6桁/3桁 13:5,6桁/4桁 14:5,6桁/5桁 15:6,7桁/1桁 16:6,7桁/2桁 17:6,7桁/3桁 18:6,7桁/4桁 19:6,7桁/5桁 20:6,7桁/6桁 21:7,8桁/1桁 22:7,8桁/2桁 23:7,8桁/3桁 24:7,8桁/4桁 25:7,8桁/5桁 26:7,8桁/6桁 27:7,8桁/7桁 28:8,9桁/1桁 29:8,9桁/2桁 30:8,9桁/3桁 31:8,9桁/4桁 32:8,9桁/5桁 33:8,9桁/6桁 34:8,9桁/7桁 35:8,9桁/8桁 36:9,10桁/1桁 37:9,10桁/2桁 38:9,10桁/3桁 39:9,10桁/4桁 40:9,10桁/5桁 41:9,10桁/6桁 42:9,10桁/7桁 43:9,10桁/8桁 44:9,10桁/9桁 45:10,11桁/1桁 46:10,11桁/2桁 47:10,11桁/3桁 48:10,11桁/4桁 49:10,11桁/5桁 50:10,11桁/6桁 51:10,11桁/7桁 52:10,11桁/8桁 53:10,11桁/9桁 54:10,11桁/10桁) warizansentaku2 = [[9, 1, 9, 1, seikaisuu], [90, 10, 9, 1, seikaisuu], [9, 1, 90, 10, seikaisuu], [900, 100, 9, 1, seikaisuu], [90, 10, 90, 10, seikaisuu], [9, 1, 900, 100, seikaisuu], [9000, 1000, 9, 1, seikaisuu], [900, 100, 90, 10, seikaisuu], [90, 10, 900, 100, seikaisuu], [9, 1, 9000, 1000, seikaisuu], [90000, 10000, 9, 1, seikaisuu], [9000, 1000, 90, 10, seikaisuu], [900, 100, 900, 100, seikaisuu], [90, 10, 9000, 1000, seikaisuu], [9, 1, 90000, 10000, seikaisuu], [900000, 100000, 9, 1, seikaisuu], [90000, 10000, 90, 10, seikaisuu], [9000, 1000, 900, 100, seikaisuu], [900, 100, 9000, 1000, seikaisuu], [90, 10, 90000, 10000, seikaisuu], [9, 1, 900000, 100000, seikaisuu], [9000000, 1000000, 9, 1, seikaisuu], [900000, 100000, 90, 10, seikaisuu], [90000, 10000, 900, 100, seikaisuu], [9000, 1000, 9000, 1000, seikaisuu], [900, 100, 90000, 10000, seikaisuu], [90, 10, 900000, 100000, seikaisuu], [9, 1, 9000000, 1000000, seikaisuu], [90000000, 10000000, 9, 1, seikaisuu], [9000000, 1000000, 90, 10, seikaisuu], [900000, 100000, 900, 100, seikaisuu], [90000, 10000, 9000, 1000, seikaisuu], [9000, 1000, 90000, 10000, seikaisuu], [900, 100, 900000, 100000, seikaisuu], [90, 10, 9000000, 1000000, seikaisuu], [9, 1, 90000000, 10000000, seikaisuu], [900000000, 100000000, 9, 1, seikaisuu], [90000000, 10000000, 90, 10, seikaisuu], [9000000, 1000000, 900, 100, seikaisuu], [900000, 100000, 9000, 1000, seikaisuu], [90000, 10000, 90000, 10000, seikaisuu], [9000, 1000, 900000, 100000, seikaisuu], [900, 100, 9000000, 1000000, seikaisuu], [90, 10, 90000000, 10000000, seikaisuu], [9, 1, 900000000, 100000000, seikaisuu], [9000000000, 1000000000, 9, 1, seikaisuu], [900000000, 100000000, 90, 10, seikaisuu], [90000000, 10000000, 900, 100, seikaisuu], [9000000, 1000000, 9000, 1000, seikaisuu], [900000, 100000, 90000, 10000, seikaisuu], [90000, 10000, 900000, 100000, seikaisuu],[9000, 1000, 9000000, 1000000, seikaisuu], [900, 100, 90000000, 10000000, seikaisuu], [90, 10, 900000000, 100000000, seikaisuu], [9, 1, 9000000000, 1000000000, seikaisuu]] mitorizansentaku1 = %w(見取り算選択画面 0:1桁3口 1:1桁5口 2:1桁7口 3:1桁10口 4:2桁3口 5:2桁5口 6:2桁7口 7:2桁10口 8:3桁3口 9:3桁5口 10:3桁7口 11:3桁10口 12:4桁3口 13:4桁5口 14:4桁7口 15:4桁10口 16:5桁3口 17:5桁5口 18:5桁7口 19:5桁10口 20:6桁3口 21:6桁5口 22:6桁7口 23:6桁10口 24:7桁3口 25:7桁5口 26:7桁7口 27:7桁10口 28:8桁3口 29:8桁5口 30:8桁7口 31:8桁10口 32:9桁3口 33:9桁5口 34:9桁7口 35:9桁10口 36:10桁3口 37:10桁5口 38:10桁7口 39:10桁10口) mitorizansentaku2 = [[3, 9, 1, seikaisuu], [5, 9, 1, seikaisuu], [7, 9, 1, seikaisuu], [10, 9, 1, seikaisuu], [3, 90, 10, seikaisuu], [5, 90, 10, seikaisuu], [7, 90, 10, seikaisuu], [10, 90, 10, seikaisuu], [3, 900, 100, seikaisuu], [5, 900, 100, seikaisuu], [7, 900, 100, seikaisuu], [10, 900, 100, seikaisuu], [3, 9000, 1000, seikaisuu], [5, 9000, 1000, seikaisuu], [7, 9000, 1000, seikaisuu], [10, 9000, 1000, seikaisuu], [3, 90000, 10000, seikaisuu], [5, 90000, 10000, seikaisuu], [7, 90000, 10000, seikaisuu], [10, 90000, 10000, seikaisuu], [3, 900000, 100000, seikaisuu], [5, 900000, 100000, seikaisuu], [7, 900000, 100000, seikaisuu], [10, 900000, 100000, seikaisuu], [3, 9000000, 1000000, seikaisuu], [5, 9000000, 1000000, seikaisuu], [7, 9000000, 1000000, seikaisuu], [10, 9000000, 1000000, seikaisuu], [3, 90000000, 10000000, seikaisuu], [5, 90000000, 10000000, seikaisuu], [7, 90000000, 10000000, seikaisuu], [10, 90000000, 10000000, seikaisuu], [3, 900000000, 100000000, seikaisuu], [5, 900000000, 100000000, seikaisuu], [7, 900000000, 100000000, seikaisuu], [10, 900000000, 100000000, seikaisuu], [3, 9000000000, 1000000000, seikaisuu], [5, 9000000000, 1000000000, seikaisuu], [7, 9000000000, 1000000000, seikaisuu], [10, 9000000000, 1000000000, seikaisuu]] def kakezan(kakezansentaku2) while true srand() kazu1 = rand(kakezansentaku2[0]) + kakezansentaku2[1] kazu2 = rand(kakezansentaku2[2]) + kakezansentaku2[3] printf("%d*%d\n", kazu1, kazu2) print("答えを入力:") kaitou = kazu1*kazu2 return kaitou kotae = gets.chomp.to_i if kotae == kaitou puts("正解!") kakezansentaku2[4] += 1 redo else puts("不正解...") printf("答えは%dだよ!\n", kaitou) printf("%d問正解したよ!!\n", kakezansentaku2[4]) end break end end def warizan(warizansentaku2) while true srand() kazu1 = rand(warizansentaku2[0]) + warizansentaku2[1] kazu2 = rand(warizansentaku2[2]) + warizansentaku2[3] kazu3 = kazu1*kazu2 printf("%d/%d\n", kazu3, kazu2) print("答えを入力:") kaitou = kazu3/kazu2 kotae = gets.chomp.to_i if kotae == kazu3/kazu2 puts("正解!") warizansentaku2[4] += 1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazu3/kazu2) printf("%d問正解したよ!!\n", warizansentaku2[4]) end break end end def mitorizan(mitorizansentaku2) mitorizansentaku2[3] = 0 while true srand() kazu1 = 0 kutisuu = mitorizansentaku2[0] while mitorizansentaku2[0] > 0 kazu2 = rand(mitorizansentaku2[1]) + mitorizansentaku2[2] puts kazu2 kazu1 += kazu2 mitorizansentaku2[0] -= 1 end print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazu1 puts("正解!") mitorizansentaku2[3] += 1 mitorizansentaku2[0] = kutisuu redo else puts("不正解...") printf("答えは%dだよ!\n", kazu1) printf("%d問正解したよ!!\n", mitorizansentaku2[3]) end break end end while true puts keisansentaku print("選択:") sentaku = gets.chomp.to_i if sentaku == 1 puts kakezansentaku1 print("選択:") while true sentaku = gets.chomp.to_i if sentaku <= kakezansentaku2.length && sentaku >= 0 kakezan(kakezansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end elsif sentaku == 2 puts warizansentaku1 print("選択:") while true sentaku = gets.chomp.to_i if sentaku <= warizansentaku2.length && sentaku >= 0 warizan(warizansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end elsif sentaku == 3 puts mitorizansentaku1 print("選択:") while true sentaku = gets.chomp.to_i if sentaku <= mitorizansentaku2.length && sentaku >= 0 mitorizan(mitorizansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end else puts("その選択肢はないよ!") redo end break end seikaisuu = 0 keisansentaku = %w(選択画面 1:かけ算 2:わり算 3:見取り算(加算)) kakezansentaku1 = %w(かけ算選択画面 0:1桁*1桁 1:2桁*1桁 2:2桁*2桁 3:3桁*1桁 4:3桁*2桁 5:3桁*3桁 6:4桁*1桁 7:4桁*2桁 8:4桁*3桁 9:4桁*4桁 10:5桁*1桁 11:5桁*2桁 12:5桁*3桁 13:5桁*4桁 14:5桁*5桁) kakezansentaku2 = [[9, 1, 9, 1, seikaisuu], [90, 10, 9, 1, seikaisuu], [90, 10, 90, 10, seikaisuu], [900, 100, 9, 1, seikaisuu], [900, 100, 90, 10, seikaisuu], [900, 100, 900, 100, seikaisuu], [9000, 1000, 9, 1, seikaisuu], [9000, 1000, 90, 10, seikaisuu], [9000, 1000, 900, 100, seikaisuu], [9000, 1000, 9000, 1000, seikaisuu], [90000, 10000, 9, 1, seikaisuu], [90000, 10000, 90, 10, seikaisuu], [90000, 10000, 900, 100, seikaisuu], [90000, 10000, 9000, 1000, seikaisuu], [90000, 10000, 90000, 10000, seikaisuu]] warizansentaku1 = %w(わり算選択画面 0:1,2桁/1桁 1:2,3桁/1桁 2:2,3桁/2桁 3:3,4桁/1桁 4:3,4桁/2桁 5:3,4桁/3桁 6:4,5桁/1桁 7:4,5桁/2桁 8:4,5桁/3桁 9:4,5桁/4桁 10:5,6桁/1桁 11:5,6桁/2桁 12:5,6桁/3桁 13:5,6桁/4桁 14:5,6桁/5桁 15:6,7桁/1桁 16:6,7桁/2桁 17:6,7桁/3桁 18:6,7桁/4桁 19:6,7桁/5桁 20:6,7桁/6桁 21:7,8桁/1桁 22:7,8桁/2桁 23:7,8桁/3桁 24:7,8桁/4桁 25:7,8桁/5桁 26:7,8桁/6桁 27:7,8桁/7桁 28:8,9桁/1桁 29:8,9桁/2桁 30:8,9桁/3桁 31:8,9桁/4桁 32:8,9桁/5桁 33:8,9桁/6桁 34:8,9桁/7桁 35:8,9桁/8桁 36:9,10桁/1桁 37:9,10桁/2桁 38:9,10桁/3桁 39:9,10桁/4桁 40:9,10桁/5桁 41:9,10桁/6桁 42:9,10桁/7桁 43:9,10桁/8桁 44:9,10桁/9桁 45:10,11桁/1桁 46:10,11桁/2桁 47:10,11桁/3桁 48:10,11桁/4桁 49:10,11桁/5桁 50:10,11桁/6桁 51:10,11桁/7桁 52:10,11桁/8桁 53:10,11桁/9桁 54:10,11桁/10桁) warizansentaku2 = [[9, 1, 9, 1, seikaisuu], [90, 10, 9, 1, seikaisuu], [9, 1, 90, 10, seikaisuu], [900, 100, 9, 1, seikaisuu], [90, 10, 90, 10, seikaisuu], [9, 1, 900, 100, seikaisuu], [9000, 1000, 9, 1, seikaisuu], [900, 100, 90, 10, seikaisuu], [90, 10, 900, 100, seikaisuu], [9, 1, 9000, 1000, seikaisuu], [90000, 10000, 9, 1, seikaisuu], [9000, 1000, 90, 10, seikaisuu], [900, 100, 900, 100, seikaisuu], [90, 10, 9000, 1000, seikaisuu], [9, 1, 90000, 10000, seikaisuu], [900000, 100000, 9, 1, seikaisuu], [90000, 10000, 90, 10, seikaisuu], [9000, 1000, 900, 100, seikaisuu], [900, 100, 9000, 1000, seikaisuu], [90, 10, 90000, 10000, seikaisuu], [9, 1, 900000, 100000, seikaisuu], [9000000, 1000000, 9, 1, seikaisuu], [900000, 100000, 90, 10, seikaisuu], [90000, 10000, 900, 100, seikaisuu], [9000, 1000, 9000, 1000, seikaisuu], [900, 100, 90000, 10000, seikaisuu], [90, 10, 900000, 100000, seikaisuu], [9, 1, 9000000, 1000000, seikaisuu], [90000000, 10000000, 9, 1, seikaisuu], [9000000, 1000000, 90, 10, seikaisuu], [900000, 100000, 900, 100, seikaisuu], [90000, 10000, 9000, 1000, seikaisuu], [9000, 1000, 90000, 10000, seikaisuu], [900, 100, 900000, 100000, seikaisuu], [90, 10, 9000000, 1000000, seikaisuu], [9, 1, 90000000, 10000000, seikaisuu], [900000000, 100000000, 9, 1, seikaisuu], [90000000, 10000000, 90, 10, seikaisuu], [9000000, 1000000, 900, 100, seikaisuu], [900000, 100000, 9000, 1000, seikaisuu], [90000, 10000, 90000, 10000, seikaisuu], [9000, 1000, 900000, 100000, seikaisuu], [900, 100, 9000000, 1000000, seikaisuu], [90, 10, 90000000, 10000000, seikaisuu], [9, 1, 900000000, 100000000, seikaisuu], [9000000000, 1000000000, 9, 1, seikaisuu], [900000000, 100000000, 90, 10, seikaisuu], [90000000, 10000000, 900, 100, seikaisuu], [9000000, 1000000, 9000, 1000, seikaisuu], [900000, 100000, 90000, 10000, seikaisuu], [90000, 10000, 900000, 100000, seikaisuu],[9000, 1000, 9000000, 1000000, seikaisuu], [900, 100, 90000000, 10000000, seikaisuu], [90, 10, 900000000, 100000000, seikaisuu], [9, 1, 9000000000, 1000000000, seikaisuu]] mitorizansentaku1 = %w(見取り算選択画面 0:1桁3口 1:1桁5口 2:1桁7口 3:1桁10口 4:2桁3口 5:2桁5口 6:2桁7口 7:2桁10口 8:3桁3口 9:3桁5口 10:3桁7口 11:3桁10口 12:4桁3口 13:4桁5口 14:4桁7口 15:4桁10口 16:5桁3口 17:5桁5口 18:5桁7口 19:5桁10口 20:6桁3口 21:6桁5口 22:6桁7口 23:6桁10口 24:7桁3口 25:7桁5口 26:7桁7口 27:7桁10口 28:8桁3口 29:8桁5口 30:8桁7口 31:8桁10口 32:9桁3口 33:9桁5口 34:9桁7口 35:9桁10口 36:10桁3口 37:10桁5口 38:10桁7口 39:10桁10口) mitorizansentaku2 = [[3, 9, 1, seikaisuu], [5, 9, 1, seikaisuu], [7, 9, 1, seikaisuu], [10, 9, 1, seikaisuu], [3, 90, 10, seikaisuu], [5, 90, 10, seikaisuu], [7, 90, 10, seikaisuu], [10, 90, 10, seikaisuu], [3, 900, 100, seikaisuu], [5, 900, 100, seikaisuu], [7, 900, 100, seikaisuu], [10, 900, 100, seikaisuu], [3, 9000, 1000, seikaisuu], [5, 9000, 1000, seikaisuu], [7, 9000, 1000, seikaisuu], [10, 9000, 1000, seikaisuu], [3, 90000, 10000, seikaisuu], [5, 90000, 10000, seikaisuu], [7, 90000, 10000, seikaisuu], [10, 90000, 10000, seikaisuu], [3, 900000, 100000, seikaisuu], [5, 900000, 100000, seikaisuu], [7, 900000, 100000, seikaisuu], [10, 900000, 100000, seikaisuu], [3, 9000000, 1000000, seikaisuu], [5, 9000000, 1000000, seikaisuu], [7, 9000000, 1000000, seikaisuu], [10, 9000000, 1000000, seikaisuu], [3, 90000000, 10000000, seikaisuu], [5, 90000000, 10000000, seikaisuu], [7, 90000000, 10000000, seikaisuu], [10, 90000000, 10000000, seikaisuu], [3, 900000000, 100000000, seikaisuu], [5, 900000000, 100000000, seikaisuu], [7, 900000000, 100000000, seikaisuu], [10, 900000000, 100000000, seikaisuu], [3, 9000000000, 1000000000, seikaisuu], [5, 9000000000, 1000000000, seikaisuu], [7, 9000000000, 1000000000, seikaisuu], [10, 9000000000, 1000000000, seikaisuu]] def kakezan(kakezansentaku2) while true srand() kazu1 = rand(kakezansentaku2[0]) + kakezansentaku2[1] kazu2 = rand(kakezansentaku2[2]) + kakezansentaku2[3] printf("%d*%d\n", kazu1, kazu2) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazu1*kazu2 puts("正解!") kakezansentaku2[4] += 1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazu1*kazu2) printf("%d問正解したよ!!\n", kakezansentaku2[4]) end break end end def warizan(warizansentaku2) while true srand() kazu1 = rand(warizansentaku2[0]) + warizansentaku2[1] kazu2 = rand(warizansentaku2[2]) + warizansentaku2[3] kazu3 = kazu1*kazu2 printf("%d/%d\n", kazu3, kazu2) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazu3/kazu2 puts("正解!") warizansentaku2[4] += 1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazu3/kazu2) printf("%d問正解したよ!!\n", warizansentaku2[4]) end break end end def mitorizan(mitorizansentaku2) mitorizansentaku2[3] = 0 while true srand() kazu1 = 0 kutisuu = mitorizansentaku2[0] while mitorizansentaku2[0] > 0 kazu2 = rand(mitorizansentaku2[1]) + mitorizansentaku2[2] puts kazu2 kazu1 += kazu2 mitorizansentaku2[0] -= 1 end print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazu1 puts("正解!") mitorizansentaku2[3] += 1 mitorizansentaku2[0] = kutisuu redo else puts("不正解...") printf("答えは%dだよ!\n", kazu1) printf("%d問正解したよ!!\n", mitorizansentaku2[3]) end break end end while true puts keisansentaku print("選択:") sentaku = gets.chomp.to_i if sentaku == 1 while true print("かけられる数を入力してね!(0以下の数はだめだよ!):") kakerarerukazu = gets.chomp.to_i if kakerarerukazu <= 0 puts("0以下の数はだめだよ!") redo end break end while true print("かける数を入力してね!(0以下の数はだめだよ!)") kakerukazu = gets.chomp.to_i if kakerukazu <= 0 puts("0以下の数はだめだよ!") redo end break end kakezan(kakezansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end elsif sentaku == 2 puts warizansentaku1 print("選択:") while true sentaku = gets.chomp.to_i if sentaku <= warizansentaku2.length && sentaku >= 0 warizan(warizansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end elsif sentaku == 3 puts mitorizansentaku1 print("選択:") while true sentaku = gets.chomp.to_i if sentaku <= mitorizansentaku2.length && sentaku >= 0 mitorizan(mitorizansentaku2[sentaku]) break else puts("その選択肢はないよ!") redo end break end else puts("その選択肢はないよ!") redo end break end elsif sentaku == "トランプ" torannpu1 = ["3","1","4","5","2"] torannpu2 = ["1","3","4","2","5"] puts"神経衰弱ゲーム" puts"このゲームは2人で遊ぶよ" puts"先に5組揃えたほうが勝ちだよ" puts"カードを並べるから少し待ってね" sleep(3) spawn"display -geometry +10+20 torannpu.png" spawn"display -geometry +10+20 rei.png" puts"このカードの中から2つ選んでいってね" nokori = 3 while true puts"最初のカードを選んでね" a = gets.to_i puts torannpu1[a] puts"次のカードを選んでね" b = gets.to_i puts torannpu2[b] if nokori < 2 puts"おめでとう!君の勝ちだよ" break end if torannpu1[a] == torannpu2[b] puts"もう一回引いてね" nokori -= 1 torannpu1.delete_at(a) torannpu2.delete_at(b) elsif torannpu1[a] != torannpu2[b] puts"残念!次の人の番だよ" end end end else puts("その選択肢はないよ!") redo end break end