いつもお世話になっております。
クイズを作っているのですが、答えあわせをするときに使っている人がどのキーを押したのか知りたいので以下のようなソースを作りましたが、うまく実行されません。
ruby
1def kotaeawase 2 @font.put(@screen2,"数字を入力してください",50,220,0,0,0) 3 refresh 4 when SDL::Event2::KeyDown 5 case event.sym 6 when SDL::Key::1 #1キーが押された時 7 return a = 1 8 when SDL::Key::2 #2keyが押された時 9 return a = 2 10 when SDL::Key::3 #3キーが押された時 11 return a = 3 12 when SDL::Key::4 #4キーが押された時 13 return a = 4 14 when SDL::Key::5 #5キーが押された時 15 return a = 5 16 end 17 @font.put(@screen2,"入力した数字",50,250,0,0,0) 18 @font2.draw_solid_utf8(@screen2," #{a}",190,242,0,0,0) 19 refresh 20 if a == $kotae 21 sleep 2 22 $tisiki = $tisiki.to_i + $score.to_i 23 @font.put(@screen2,"正解です",50,310,0,0,0) 24 sleep 0.5 25 @font.put(@screen2,"正解は です",50,280,0,0,0) 26 @font2.draw_solid_utf8(@screen2," #{$kotae}",130,274,0,0,0) 27 refresh 28 else 29 sleep 2 30 @font.put(@screen2,"間違いです",50,280,0,0,0) 31 refresh 32 sleep 0.5 33 @font.put(@screen2,"正解は です",50,310,0,0,0) 34 @font2.draw_solid_utf8(@screen2," #{$kotae}",130,300,0,0,0) 35 refresh 36 end 37end 38
このような文で、なのですが、簡単に説明すると、
1どのキーが押されているか調べる。
2 その押されていた数字をaにあてはめる。
3 aと、その答えの値が等しいか比べる
4 結果を表示する
みたいな感じです。
ruby
1syntaxerror, unexpected keyword_when, expevting keyword_end (SyntaxError) 2 when SDL::Event2::KeyDown 3syntax error, unexpected tINTEGER 4 when SDL::Key::1 5.....
こんな感じです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/09 05:22
2016/08/09 05:51