Newer
Older
Ruby / keisan.rb
@MIZUNO Manaka MIZUNO Manaka on 26 Jul 2022 13 KB 2022-07-26 22:22:17
#!/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