#!/usr/bin/env ruby # -*- coding: utf-8 -*- seikaisuu = 0 srand() puts("選択画面") puts("1:かけ算") puts("2:わり算") puts("3:見取り算(加算,加減算)") print("選択:") sentaku = gets.chomp.to_i while true if sentaku == 1 puts("かけ算 選択画面") puts("1:1桁*1桁") puts("2:2桁*1桁") puts("3:2桁*2桁") puts("4:3桁*1桁") puts("5:3桁*2桁") puts("6:3桁*3桁") while true print("選択:") sentaku = gets.chomp.to_i if sentaku == 1 while true kazuiti = rand(9) + 1 kazuni = rand(9) + 1 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 2 while true kazuiti = rand(90) + 10 kazuni = rand(9) + 1 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 3 while true kazuiti = rand(90) + 10 kazuni = rand(90) + 10 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 4 while true kazuiti = rand(900) + 100 kazuni = rand(9) + 1 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 5 while true kazuiti = rand(900) + 100 kazuni = rand(90) + 10 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 6 while true kazuiti = rand(900) + 100 kazuni = rand(900) + 100 printf("%d*%d\n", kazuiti, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazuiti*kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazuiti*kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end break end break end if sentaku == 2 puts("わり算 選択画面") puts("1:1,2桁/1桁") puts("2:2,3桁/1桁") puts("3:2,3桁/2桁") puts("4:3,4桁/1桁") puts("5:3,4桁/2桁") puts("6:3,4桁/3桁") puts("7:4,5桁/1桁") puts("8:4,5桁/2桁") puts("9:4,5桁/3桁") puts("10:4,5桁/4桁") puts("11:5,6桁/1桁") puts("12:5,6桁/2桁") puts("13:5,6桁/3桁") puts("14:5,6桁/4桁") puts("15:5,6桁/5桁") while true print("選択:") sentaku = gets.chomp.to_i if sentaku == 1 while true kazuiti = rand(9) + 1 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 2 while true kazuiti = rand(90) + 10 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 3 while true kazuiti = rand(90) + 10 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuiti) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuiti puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuiti) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 4 while true kazuiti = rand(900) + 100 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 5 while true kazuiti = rand(90) + 10 kazuni = rand(90) + 10 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d正解したよ!!\n",seikaisuu) break end break end break end if sentaku == 6 while true kazuiti = rand(9) + 1 kazuni = rand(900) + 100 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 7 while true kazuiti = rand(9000) + 1000 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 8 while true kazuiti = rand(900) + 100 kazuni = rand(90) + 10 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 9 while true kazuiti = rand(90) + 10 kazuni = rand(900) + 100 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 10 while true kazuiti = rand(9) + 1 kazuni = rand(9000) + 1000 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 11 while true kazuiti = rand(90000) + 10000 kazuni = rand(9) + 1 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 12 while true kazuiti = rand(9000) + 1000 kazuni = rand(90) + 10 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 13 while true kazuiti = rand(900) + 100 kazuni = rand(900) + 100 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 14 while true kazuiti = rand(90) + 10 kazuni = rand(9000) + 1000 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end if sentaku == 15 while true kazuiti = rand(9) + 1 kazuni = rand(90000) + 10000 kazusan = kazuiti*kazuni printf("%d/%d\n", kazusan, kazuni) print("答えを入力:") kotae = gets.chomp.to_i if kotae == kazusan/kazuni puts("正解!") seikaisuu+=1 redo else puts("不正解...") printf("答えは%dだよ!\n", kazusan/kazuni) printf("%d問正解したよ!!\n", seikaisuu) break end break end break end break end break end if sentaku == 3 puts("見取り算 選択画面") break end break end