Newer
Older
Ruby / keisan.rb
@MIZUNO Manaka MIZUNO Manaka on 20 Jul 2022 3 KB 2022-07-20 23:27:34
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

seikaisuu = 0
srand()
puts("選択画面")
puts("1:かけ算")
puts("2:わり算")
puts("3:見取り算(加算,加減算)")

while true
  print("選択:")
  sentaku = gets.chomp.to_i
  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
  break
end