ifを使って正解かどうかを判断したいのですが、答えと入力した結果があっているのに間違いになってしまします。プログラム文は正しいと思うのですが、なぜ合わないのでしょうか。下の写真のような感じでなっています。
入力した数字は1で
答えは1です。
しかし、間違いですになってしまいます。
ruby
1def kotaeawase 2 @font.put(@screen2,"数字を入力してください。",50,220,0,0,0) 3 refresh 4 a = STDIN.getch 5 @font.put(@screen2,"入力した数字",50,250,0,0,0) 6 @font2.draw_solid_utf8(@screen2," #{a}",190,242,0,0,0) 7 refresh 8 if a == $kotae.to_i 9 $tisiki = $tisiki.to_i + $score.to_i 10 @font.put(@screen2,"正解です",50,310,0,0,0) 11 refresh 12 sleep 2 13 # @font.put(@screen2,"正解は#{$kotae}です。",50,280,0,0,0) 14 @font2.draw_solid_utf8(@screen2," #{$kotae}",50,20,0,0,0) 15 refresh 16 else 17 @font.put(@screen2,"間違いです。",50,280,0,0,0) 18 refresh 19 sleep 2 20 #@font.put(@screen2,"正解は#{$kotae}です。",50,310,0,0,0) 21 @font2.draw_solid_utf8(@screen2," #{$kotae}",50,300,0,0,0) 22 refresh 23 end 24 end 25 26def start 27 @font.put(@screen2,"今から問題が出てきます。問題によって、スコアが異なります。",50,30,0,0,0) 28 @font.put(@screen2,"正解だと思う選択肢の番号のキーボードを押してください。",50,70,0,0,0) 29 @font.put(@screen2,"始めるにはスペースキーを押してください。",50,120,0,0,0) 30 refresh 31 while true do 32 while event = SDL::Event2.poll 33 case event 34 when SDL::Event2::Quit 35 exit 36 when SDL::Event2::KeyDown 37 if event.sym == SDL::Key::SPACE then 38 yomikomi 39 drawBack 40 mondaihyouji 41 refresh 42 kotaeawase 43 end 44 end 45 end 46 end 47 end 48 49 def mondaihyouji 50 @font.put(@screen2,"#{$mondai}", 50,20,0,0,0) 51 @font.put(@screen2,"#{$sentakusi1}", 50,50,0,0,0) 52 @font.put(@screen2,"#{$sentakusi2}", 50,80,0,0,0) 53 @font.put(@screen2,"#{$sentakusi3}", 50,110,0,0,0) 54 @font.put(@screen2,"#{$sentakusi4}", 50,140,0,0,0) 55 @font.put(@screen2,"#{$sentakusi5}", 50,170,0,0,0) 56 @font2.draw_solid_utf8(@screen2," #{$tisiki}",100,500,0,0,0) 57 end 58end 59
こんな感じの文です。
他の所ですべて実行させています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/23 13:55