質問編集履歴

1

エラー文をコピペしました。 文を全文表示しました。

2016/07/25 00:09

投稿

yusuke.
yusuke.

スコア66

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,15 @@
1
1
  ![エラー文](2dca822314c1422837c1ad2d78490438.png)
2
2
 
3
+ エラー文
4
+
5
+ E:/zairyo.rb:163: syntax error, unexpected $end, expecting']'(SyntaxError)
6
+
7
+ というエラー文が出ています。
8
+
9
+ zairyo.rbというのは、このファイルのことです。
10
+
11
+
12
+
3
13
  いつもお世話になっております。
4
14
 
5
15
  今回このようなエラーが出たのですが、どこがいけないのかがよくわかりません。
@@ -8,149 +18,305 @@
8
18
 
9
19
  ```ruby
10
20
 
21
+ #!ruby -Ks
22
+
23
+ require "./window2"
24
+
25
+ require "./syujinko"
26
+
27
+ require "./item"
28
+
29
+
30
+
31
+ def hit?(syujinko,baikin)
32
+
33
+ diffx = syujinko.centerX - baikin.centerX
34
+
35
+ diffy = syujinko.centerY - baikin.centerY
36
+
37
+ if (diffx > -30) and (diffx < 50) and (diffy > -20) and (diffy < 50)
38
+
39
+ return true
40
+
41
+ else
42
+
43
+ return false
44
+
45
+ end
46
+
47
+ end
48
+
49
+ def clicked?(x,y,baikin)
50
+
51
+ diffx = x - baikin.centerX
52
+
53
+ diffy = y - baikin.centerY
54
+
55
+ if (diffx > -20) and (diffx < 20) and (diffy > -20) and (diffy < 20)
56
+
57
+ return true
58
+
59
+ else
60
+
61
+ return false
62
+
63
+ end
64
+
65
+ end
66
+
67
+
68
+
69
+ def gameOver(window,syujinko)
70
+
71
+ window.drawEndBack
72
+
73
+ syujinko.draw
74
+
75
+ window.refresh
76
+
77
+ sleep 5
78
+
79
+ exit
80
+
81
+ end
82
+
83
+
84
+
85
+ def checkScore(window,score)
86
+
87
+ if score >= 200
88
+
89
+ window.drawEndClear
90
+
91
+ window.refresh
92
+
93
+ sleep 3
94
+
95
+ exit
96
+
97
+ end
98
+
99
+ end
100
+
101
+
102
+
103
+
104
+
105
+ window = Window.new
106
+
107
+ syujinko = Syujinko.new(window,Window::WINDOW_WIDTH/2,Window::SKYLINE)
108
+
109
+ baikin1 = Baikin.new(window)
110
+
111
+ baikin2 = Baikin.new(window)
112
+
113
+ baikin3 = Baikin.new(window)
114
+
115
+ wakame = Wakame.new(window)
116
+
117
+ tenpura = Tenpura.new(window)
118
+
119
+ tamago = Tamago.new(window)
120
+
121
+ sitimi = Sitimi.new(window)
122
+
123
+ negi = Negi.new(window)
124
+
125
+ remon = Remon.new(window)
126
+
127
+ kamaboko = Kamaboko.new(window)
128
+
129
+ tenkasu = Tenkasu.new(window)
130
+
131
+ syouga = Syouga.new(window)
132
+
133
+
134
+
135
+ score = 0
136
+
137
+ clickCount = 0
138
+
139
+
140
+
141
+ topping = [wakame,tenpura,tamago,sitimi,negi,remon,kamaboko,tenkasu,syouga]
142
+
143
+ tpg1 = topping[#{rand(8)}]
144
+
145
+ tpg2 = topping[#{rand(8)}]
146
+
147
+ tpg3 = topping[#{rand(8)}]
148
+
149
+ tpg4 = topping[#{rand(8)}]
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ while true do
158
+
159
+ time = window.getTime
160
+
161
+ while event = SDL::Event2.poll do
162
+
163
+ case event
164
+
165
+ when SDL::Event2::Quit
166
+
167
+ exit
168
+
169
+ when SDL::Event2::MouseButtonDown
170
+
171
+ x = event.x
172
+
173
+ y = event.y
174
+
175
+ isClickedBaikin1 = clicked?(x,y,baikin1)
176
+
177
+ isClickedBaikin2 = clicked?(x,y,baikin2)
178
+
179
+ isClickedBaikin3 = clicked?(x,y,baikin3)
180
+
181
+ if isClickedBaikin1 or isClickedBaikin2 or isClickedBaikin3
182
+
183
+ gameOver(window,syujinko)
184
+
185
+ end
186
+
187
+ isClickedTpg1 = clicked?(x,y,tpg1)
188
+
189
+ isClickedTpg2 = clicked?(x,y,tpg2)
190
+
191
+ isClickedTpg3 = clicked?(x,y,tpg3)
192
+
193
+ isClickedTpg4 = clicked?(x,y,tpg4)
194
+
195
+ if isClickedTpg1
196
+
197
+ score = score + tpg1.getScore
198
+
199
+ clickCount = clickCount + 1
200
+
201
+ tpg1.reset
202
+
203
+ checkScore(window,score)
204
+
205
+ end
206
+
207
+ if isClickedTpg2
208
+
209
+ score = score + tpg2.getScore
210
+
211
+ clickCount = clickCount + 1
212
+
213
+ tpg2.reset
214
+
215
+ checkScore(window,score)
216
+
217
+ end
218
+
219
+ if isClickedTpg3
220
+
221
+ score = score + tpg3.getScore
222
+
223
+ clickCount = clickCount + 1
224
+
225
+ tpg3.reset
226
+
227
+ checkScore(window,score)
228
+
229
+ end
230
+
231
+ if isClickedTpg4
232
+
233
+ score = score + tpg4.getScore
234
+
235
+ clickCount = clickCount + 1
236
+
237
+ tpg4.reset
238
+
239
+ checkScore(window,score)
240
+
241
+ end
242
+
243
+ end
244
+
245
+ end
246
+
247
+
248
+
249
+ SDL::Key.scan
250
+
251
+ if SDL::Key.press?(SDL::Key::A)
252
+
253
+ syujinko.moveLeft
254
+
255
+ end
256
+
257
+ if SDL::Key.press?(SDL::Key::F)
258
+
259
+ syujinko.moveRight
260
+
261
+ end
262
+
263
+
264
+
265
+ window.drawBack
266
+
267
+ syujinko.draw
268
+
269
+ baikin1.drop
270
+
271
+ baikin2.drop
272
+
273
+ baikin3.drop
274
+
275
+ tpg1.drop
276
+
277
+ tpg2.drop
278
+
279
+ tpg3.drop
280
+
281
+ tpg4.drop
282
+
283
+ if hit?(syujinko,tpg1)
284
+
285
+ score = score + tpg1.getScore
286
+
287
+ tpg1.reset
288
+
289
+ checkScore(window,score)
290
+
291
+ end
292
+
293
+ if hit?(syujinko,tpg2)
294
+
295
+ score = score + tpg2.getScore
296
+
297
+ tpg2.reset
298
+
299
+ checkScore(window,score)
300
+
301
+ end
302
+
11
303
 
12
304
 
13
- while true do
14
-
15
- time = window.getTime
16
-
17
- while event = SDL::Event2.poll do
18
-
19
- case event
20
-
21
- when SDL::Event2::Quit
22
-
23
- exit
24
-
25
- when SDL::Event2::MouseButtonDown
26
-
27
- x = event.x
28
-
29
- y = event.y
30
-
31
- isClickedBaikin1 = clicked?(x,y,baikin1)
32
-
33
- isClickedBaikin2 = clicked?(x,y,baikin2)
34
-
35
- isClickedBaikin3 = clicked?(x,y,baikin3)
36
-
37
- if isClickedBaikin1 or isClickedBaikin2 or isClickedBaikin3
38
-
39
- gameOver(window,syujinko)
40
-
41
- end
42
-
43
- isClickedTpg1 = clicked?(x,y,tpg1)
44
-
45
- isClickedTpg2 = clicked?(x,y,tpg2)
46
-
47
- isClickedTpg3 = clicked?(x,y,tpg3)
48
-
49
- isClickedTpg4 = clicked?(x,y,tpg4)
50
-
51
- if isClickedTpg1
52
-
53
- score = score + tpg1.getScore
54
-
55
- clickCount = clickCount + 1
56
-
57
- tpg1.reset
58
-
59
- checkScore(window,score)
60
-
61
- end
62
-
63
- if isClickedTpg2
64
-
65
- score = score + tpg2.getScore
66
-
67
- clickCount = clickCount + 1
68
-
69
- tpg2.reset
70
-
71
- checkScore(window,score)
72
-
73
- end
74
-
75
- if isClickedTpg3
305
+ if hit?(syujinko,tpg3)
76
-
306
+
77
- score = score + tpg3.getScore
307
+ score = score + tpg3.getScore
78
-
79
- clickCount = clickCount + 1
308
+
80
-
81
- tpg3.reset
309
+ tamago.reset
82
-
83
- checkScore(window,score)
84
-
85
- end
86
-
87
- if isClickedTpg4
88
-
89
- score = score + tpg4.getScore
90
-
91
- clickCount = clickCount + 1
92
-
93
- tpg4.reset
94
-
95
- checkScore(window,score)
96
-
97
- end
98
-
99
- end
100
-
101
- end
102
-
103
-
104
-
105
- SDL::Key.scan
106
-
107
- if SDL::Key.press?(SDL::Key::A)
108
-
109
- syujinko.moveLeft
110
-
111
- end
112
-
113
- if SDL::Key.press?(SDL::Key::F)
114
-
115
- syujinko.moveRight
116
-
117
- end
118
-
119
-
120
-
121
- window.drawBack
122
-
123
- syujinko.draw
124
-
125
- baikin1.drop
126
-
127
- baikin2.drop
128
-
129
- baikin3.drop
130
-
131
- tpg1.drop
132
-
133
- tpg2.drop
134
-
135
- tpg3.drop
136
-
137
- tpg4.drop
138
-
139
- if hit?(syujinko,tpg1)
140
-
141
- score = score + tpg1.getScore
142
-
143
- tpg1.reset
144
310
 
145
311
  checkScore(window,score)
146
312
 
147
- end
313
+ end
148
-
314
+
149
- if hit?(syujinko,tpg2)
315
+ if hit?(syujinko,tpg4)
150
-
316
+
151
- score = score + tpg2.getScore
317
+ score = score + tpg4.getScore
152
-
318
+
153
- tpg2.reset
319
+ sitimi.reset
154
320
 
155
321
  checkScore(window,score)
156
322
 
@@ -158,36 +324,12 @@
158
324
 
159
325
 
160
326
 
161
- if hit?(syujinko,tpg3)
162
-
163
- score = score + tpg3.getScore
164
-
165
- tamago.reset
166
-
167
- checkScore(window,score)
168
-
169
- end
170
-
171
- if hit?(syujinko,tpg4)
172
-
173
- score = score + tpg4.getScore
174
-
175
- sitimi.reset
176
-
177
- checkScore(window,score)
178
-
179
- end
180
-
181
-
182
-
183
327
  if hit?(syujinko,baikin1) or hit?(syujinko,baikin2) or hit?(syujinko,baikin3) or time < 0
184
328
 
185
329
  gameOver(window,syujinko)
186
330
 
187
331
  end
188
332
 
189
-
190
-
191
333
  time2 = time.to_s.tr(' 0-9a-zA-Z',' 0-9a-zA-Z')
192
334
 
193
335
  score2 = score.to_s.tr(' 0-9a-zA-Z',' 0-9a-zA-Z')
@@ -202,10 +344,8 @@
202
344
 
203
345
  end
204
346
 
205
-
206
-
207
- ```
347
+ ````
208
-
348
+
209
- 多分この最後の部分だと思い
349
+ 全文にしした
210
350
 
211
351
  お願いします。