質問編集履歴

2

追記

2016/09/03 00:43

投稿

yusuke.
yusuke.

スコア66

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,193 @@
135
135
  このようなソースを作ったのですが、何度実行してもaの値が0となり、キーを押しても動きません。この問題が分かる方がおりましたら教えていただければ幸いです。
136
136
 
137
137
  解決のヒントとなるような簡単なものでも大丈夫なのでお願いいたします。
138
+
139
+ ---追記
140
+
141
+ もしかしたらこの部分よりほかのところでループさせているのですが、そこがおかしいかもしれません。
142
+
143
+ ```ruby
144
+
145
+ def start
146
+
147
+ @font.put(@screen2,"今から問題が出てきます。問題によって、スコアが異なります。",50,30,0,0,0)
148
+
149
+ @font.put(@screen2,"正解だと思う選択肢の番号のキーボードを押してください。",50,70,0,0,0)
150
+
151
+ @font.put(@screen2,"始めるにはスペースキーを押してください。",50,120,0,0,0)
152
+
153
+ refresh
154
+
155
+ while true do
156
+
157
+ while event = SDL::Event2.poll do
158
+
159
+ case event
160
+
161
+ when SDL::Event2::Quit
162
+
163
+ exit
164
+
165
+ when SDL::Event2::KeyDown
166
+
167
+ if event.sym == SDL::Key::SPACE then
168
+
169
+ kuizustart
170
+
171
+ break
172
+
173
+ end
174
+
175
+ end
176
+
177
+ end
178
+
179
+ end
180
+
181
+ end
182
+
183
+ end
184
+
185
+
186
+
187
+
188
+
189
+ def kuizustart
190
+
191
+ keycount = 0
192
+
193
+ while true do
194
+
195
+ drawBack
196
+
197
+ mondai
198
+
199
+ kotaeawase
200
+
201
+ sleep 2
202
+
203
+ keycount = keycount + 1
204
+
205
+ if keycount == 10
206
+
207
+ gameOver
208
+
209
+ sleep 5
210
+
211
+ end
212
+
213
+ end
214
+
215
+ end
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+ def kotaeawase
224
+
225
+ @font.put(@screen2,"数字を入力してください",50,220,0,0,0)
226
+
227
+ refresh
228
+
229
+ while event = SDL::Event2.poll do
230
+
231
+ SDL::Event2.wait
232
+
233
+ case event
234
+
235
+ when SDL::Event2::Quit
236
+
237
+ exit
238
+
239
+ when SDL::Event2::KeyDown
240
+
241
+ if event.sym == SDL::Key::K1 or event.sym == SDL::Key::KP1
242
+
243
+ a = 1
244
+
245
+ end
246
+
247
+ if event.sym == SDL::Key::K2 or event.sym ==SDL::Key::KP2
248
+
249
+ a = 2
250
+
251
+ end
252
+
253
+ if event.sym == SDL::Key::K3 or event.sym == SDL::Key::KP3
254
+
255
+ a = 3
256
+
257
+ end
258
+
259
+ if event.sym == SDL::Key::K4 or event.sym ==SDL::Key::KP4
260
+
261
+ a = 4
262
+
263
+ end
264
+
265
+ if event.sym == SDL::Key::K5 or event.sym == SDL::Key::KP5
266
+
267
+ a = 5
268
+
269
+ else
270
+
271
+ next
272
+
273
+ puts "0,1,2,3,4,5のどれかを入力してください。"
274
+
275
+ end
276
+
277
+ end
278
+
279
+ end
280
+
281
+ @font.put(@screen2,"入力した数字",50,250,0,0,0)
282
+
283
+ @font2.draw_solid_utf8(@screen2," #{a.to_i}",190,242,0,0,0)
284
+
285
+ refresh
286
+
287
+ if a.to_i == $kotae.to_i
288
+
289
+ sleep 2
290
+
291
+ $tisiki = $tisiki.to_i + $score.to_i
292
+
293
+ @font.put(@screen2,"正解です",50,310,0,0,0)
294
+
295
+ sleep 0.5
296
+
297
+ @font.put(@screen2,"正解は です",50,280,0,0,0)
298
+
299
+ @font2.draw_solid_utf8(@screen2," #{$kotae}",130,274,0,0,0)
300
+
301
+ refresh
302
+
303
+ else
304
+
305
+ sleep 2
306
+
307
+ @font.put(@screen2,"間違いです",50,280,0,0,0)
308
+
309
+ refresh
310
+
311
+ sleep 0.5
312
+
313
+ @font.put(@screen2,"正解は です",50,310,0,0,0)
314
+
315
+ @font2.draw_solid_utf8(@screen2," #{$kotae}",130,300,0,0,0)
316
+
317
+ sleep 2
318
+
319
+ refresh
320
+
321
+ end
322
+
323
+ end
324
+
325
+ ```
326
+
327
+ こんな感じで、whileを使いまくっているので、どこかバグを起こしているのかもしれません。

1

タイトルの変更

2016/09/03 00:43

投稿

yusuke.
yusuke.

スコア66

test CHANGED
@@ -1 +1 @@
1
- event.symの意味
1
+ 急いでいます。お願いします。 event.symの意味
test CHANGED
@@ -1,4 +1,4 @@
1
- お世話になっております。
1
+ お世話になっております。ご覧悦ありがとうございます。
2
2
 
3
3
  ```ruby
4
4