質問編集履歴

3

タイトル

2017/07/30 10:38

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- processingのームについて
1
+ processingのエラ、システ改造について
test CHANGED
File without changes

2

追記

2017/07/30 10:38

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  processingでシューティングゲームを作ったのですが以下のコードだと何故か弾が消え、自機が撃墜されたときにゲームオーバー画面に行きません、誰か助けてください
4
4
 
5
+ 追記;敵撃墜時にスコアが上がるようにもしたいです、よろしくお願いします
6
+
5
7
  ###発生している問題・エラーメッセージ
6
8
 
7
9
 

1

コードの修正

2017/07/30 10:05

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,654 +6,656 @@
6
6
 
7
7
 
8
8
 
9
- ```ゲームオーバーにならない 弾が消えている
9
+ ゲームオーバーにならない 弾が消えている
10
+
11
+
12
+
13
+
14
+
15
+ ###該当のソースコード
16
+
17
+ ```ここに言語を入力
18
+
19
+ PFont myFont;
20
+
21
+ SpaceShip myShip;
22
+
23
+ int numOfEnemies = 3;
24
+
25
+ SpaceShip[] en1 = new SpaceShip[numOfEnemies];
26
+
27
+ int score = 0;
28
+
29
+ int numOfMaxShots = 50;
30
+
31
+ int nextShot = 0;
32
+
33
+ Shot[] shots = new Shot[numOfMaxShots];
34
+
35
+ int numOfMaxBombs = 50;
36
+
37
+ Bomb[] bombs = new Bomb[numOfMaxBombs];
38
+
39
+ int nextBomb = 0;
40
+
41
+ int code=0;
42
+
43
+ boolean keyLeft = false;
44
+
45
+ boolean keyRight = false;
46
+
47
+ boolean keyUp = false;
48
+
49
+ boolean keyDown = false;
50
+
51
+
52
+
53
+ void setup() {
54
+
55
+ size(600, 600);
56
+
57
+ background(255, 255, 255);
58
+
59
+ fill(0, 0, 0);
60
+
61
+ noStroke();
62
+
63
+ noCursor();
64
+
65
+ frameRate(60);
66
+
67
+ myFont = createFont("YuGothic", 24, true);
68
+
69
+ textFont(myFont);
70
+
71
+ myShip = new SpaceShip(loadImage("fighter.png"), 100, 500, 3, 1);
72
+
73
+ myShip.visible = true;
74
+
75
+ for(int i = 0; i < numOfEnemies; i++) {
76
+
77
+ en1[i] = new SpaceShip(loadImage("DurrrSpaceShip.png"), i * 100 +
78
+
79
+ 50, i * 50 + 100, 3, 2);
80
+
81
+ en1[i].visible = true;
82
+
83
+ }
84
+
85
+ for(int i = 0; i < numOfMaxShots; i++) {
86
+
87
+ shots[i] = new Shot(0, height + 100, color(255, 255, 0));
88
+
89
+ }
90
+
91
+ for(int i = 0; i < numOfMaxBombs; i++) {
92
+
93
+ bombs[i] = new Bomb(0, -100, color(255, 0, 0));
94
+
95
+ }
96
+
97
+ }
98
+
99
+
100
+
101
+ void draw() {
102
+
103
+ background(0);
104
+
105
+ myShip.draw();
106
+
107
+ myShipController();
108
+
109
+ drawEnemies();
110
+
111
+ drawBombs();
112
+
113
+ enemyController();
114
+
115
+ shotsController();
116
+
117
+ collisionDetection();
118
+
119
+
120
+
121
+ if (code==0) {
122
+
123
+ background(0);
124
+
125
+ textSize(32);
126
+
127
+ fill(255);
128
+
129
+ text("'a Click' is clicked to start", 400, 350) ;
130
+
131
+ }
132
+
133
+
134
+
135
+
136
+
137
+ if (code==1) {
138
+
139
+ for(int i = 0; i < numOfMaxShots; i++) {
140
+
141
+ shots[i] = new Shot(0, height + 100, color(255, 255, 0));
142
+
143
+ }
144
+
145
+ text("SCORE:"+str(score), width/7, height -50) ;
146
+
147
+ }
148
+
149
+
150
+
151
+ if (code==2) {
152
+
153
+ fill(0);
154
+
155
+ rect(0, 0, width, height);
156
+
157
+ textSize(32);
158
+
159
+ fill(255);
160
+
161
+ text("GAME OVER", 600, 350) ;
162
+
163
+ text("RESTART is 'd Click'", 600, 500);
164
+
165
+ }
166
+
167
+ }
168
+
169
+
170
+
171
+
172
+
173
+ void drawEnemies() {
174
+
175
+ for(int i = 0; i < numOfEnemies; i++) {
176
+
177
+ en1[i].draw();
178
+
179
+ }
180
+
181
+ }
182
+
183
+
184
+
185
+ void enemyController() {
186
+
187
+ for(int i = 0; i < numOfEnemies; i++) {
188
+
189
+ if(en1[i].xpos < 0 || en1[i].xpos + en1[i].getWidth() > width) {
190
+
191
+ en1[i].speed = - en1[i].speed;
192
+
193
+ }
194
+
195
+ en1[i].moveXaxis();
196
+
197
+ if(en1[i].visible) {
198
+
199
+ if(floor(random(50)) == 5) {
200
+
201
+ bombs[nextBomb].xpos = en1[i].xpos + en1[i].getWidth() / 2;
202
+
203
+ bombs[nextBomb].ypos = en1[i].ypos + en1[i].getHeight();
204
+
205
+ bombs[nextBomb].visible = true;
206
+
207
+ nextBomb = (nextBomb + 1) % numOfMaxBombs;
208
+
209
+ }
210
+
211
+ }
212
+
213
+ }
214
+
215
+ }
216
+
217
+
218
+
219
+ void drawBombs() {
220
+
221
+ for(int i = 0; i < numOfMaxBombs; i++) {
222
+
223
+ bombs[i].draw();
224
+
225
+ bombs[i].move();
226
+
227
+ }
228
+
229
+ }
230
+
231
+
232
+
233
+ void collisionDetection() {
234
+
235
+ for(int i = 0; i < numOfEnemies; i++) {
236
+
237
+ for(int j = 0; j < numOfMaxShots; j++) {
238
+
239
+ if(en1[i].visible && en1[i].isIn(shots[j].xpos, shots[j].ypos)) {
240
+
241
+ en1[i].visible = false;
242
+
243
+ shots[j].visible = false;
244
+
245
+ }
246
+
247
+ }
248
+
249
+ }
250
+
251
+ for(int i = 0; i < numOfMaxBombs; i++) {
252
+
253
+ if(bombs[i].visible && myShip.isIn(bombs[i].xpos, bombs[i].ypos)) {
254
+
255
+ myShip.visible = false;
256
+
257
+ bombs[i].visible = false;
258
+
259
+ }
260
+
261
+ }
262
+
263
+ }
264
+
265
+
266
+
267
+ void keyPressed() {
268
+
269
+ if(key == 'd') {
270
+
271
+ keyRight = true;
272
+
273
+ }
274
+
275
+ if(key == 'a') {
276
+
277
+ keyLeft = true;
278
+
279
+ }
280
+
281
+ if(key == 'w') {
282
+
283
+ keyUp = true;
284
+
285
+ }
286
+
287
+ if(key == 's') {
288
+
289
+ keyDown = true;
290
+
291
+ }
292
+
293
+ }
294
+
295
+
296
+
297
+ void keyReleased() {
298
+
299
+ if(key == 'a') {
300
+
301
+ keyLeft = false;
302
+
303
+ }
304
+
305
+ else if(key == 'd') {
306
+
307
+ keyRight = false;
308
+
309
+ }
310
+
311
+ else if(key == 'w') {
312
+
313
+ keyUp = false;
314
+
315
+ }
316
+
317
+ else if(key == 's') {
318
+
319
+ keyDown = false;
320
+
321
+ }
322
+
323
+ else if(keyCode == ' ') {
324
+
325
+ fire();
326
+
327
+ }
328
+
329
+ if (code==0) {
330
+
331
+
332
+
333
+ if (key=='a') {
334
+
335
+ code=1;
336
+
337
+ }
338
+
339
+ }
340
+
341
+ if (code==2) {
342
+
343
+ if (key=='d') {
344
+
345
+ code=0;
346
+
347
+ }
348
+
349
+ }
350
+
351
+ }
352
+
353
+ void myShipController() {
354
+
355
+ if(keyLeft) {
356
+
357
+ myShip.speed = - abs(myShip.speed);
358
+
359
+ if(myShip.xpos + myShip.speed >= 0) {
360
+
361
+ myShip.moveXaxis();
362
+
363
+ }
364
+
365
+ }
366
+
367
+ else if(keyRight) {
368
+
369
+ myShip.speed = abs(myShip.speed);
370
+
371
+ if(myShip.xpos + myShip.getWidth() + myShip.speed <= width) {
372
+
373
+ myShip.moveXaxis();
374
+
375
+ }
376
+
377
+ }
378
+
379
+ else if(keyUp) {
380
+
381
+ myShip.speed = - abs(myShip.speed);
382
+
383
+ if(myShip.ypos + myShip.speed >= 0) {
384
+
385
+ myShip.moveYaxis();
386
+
387
+ }
388
+
389
+ }
390
+
391
+ else if(keyDown) {
392
+
393
+ myShip.speed = abs(myShip.speed);
394
+
395
+ if(myShip.ypos + myShip.getHeight() + myShip.speed <= height) {
396
+
397
+ myShip.moveYaxis();
398
+
399
+ }
400
+
401
+ }
402
+
403
+ }
404
+
405
+
406
+
407
+ void shotsController() {
408
+
409
+ for(int i = 0; i < numOfMaxShots; i++) {
410
+
411
+ shots[i].draw();
412
+
413
+ shots[i].move();
414
+
415
+ }
416
+
417
+ }
418
+
419
+
420
+
421
+ void fire() {
422
+
423
+ if(myShip.visible) {
424
+
425
+ shots[nextShot].xpos = myShip.xpos + myShip.getWidth() / 2;
426
+
427
+ shots[nextShot].ypos = myShip.ypos;
428
+
429
+ shots[nextShot].visible = true;
430
+
431
+ nextShot = (nextShot + 1) % numOfMaxShots;
432
+
433
+ }
434
+
435
+ }
436
+
437
+
438
+
439
+ class SpaceShip {
440
+
441
+ PImage img;
442
+
443
+ int xpos;
444
+
445
+ int ypos;
446
+
447
+ int speed;
448
+
449
+ int scale;
450
+
451
+ boolean visible = false;
452
+
453
+
454
+
455
+ SpaceShip(PImage _img, int _xpos, int _ypos, int _speed, int _scale) {
456
+
457
+ img = _img;
458
+
459
+ xpos = _xpos;
460
+
461
+ ypos = _ypos;
462
+
463
+ speed = _speed;
464
+
465
+ scale = _scale;
466
+
467
+ }
468
+
469
+
470
+
471
+ void draw() {
472
+
473
+ if(visible) {
474
+
475
+ image(img, xpos, ypos, getWidth(), getHeight());
476
+
477
+ }
478
+
479
+ }
480
+
481
+
482
+
483
+ void moveXaxis() {
484
+
485
+ xpos += speed;
486
+
487
+ }
488
+
489
+
490
+
491
+ void moveYaxis() {
492
+
493
+ ypos += speed;
494
+
495
+ }
496
+
497
+
498
+
499
+ int getWidth() {
500
+
501
+ return img.width / scale;
502
+
503
+ }
504
+
505
+
506
+
507
+ int getHeight() {
508
+
509
+ return img.height / scale;
510
+
511
+ }
512
+
513
+
514
+
515
+ boolean isIn(int x, int y) {
516
+
517
+ if(x >= xpos && x <= xpos + getWidth() &&
518
+
519
+ y >= ypos && y <= ypos + getHeight()) {
520
+
521
+ return true;
522
+
523
+ }
524
+
525
+ else {
526
+
527
+ return false;
528
+
529
+ }
530
+
531
+ }
532
+
533
+ }
534
+
535
+
536
+
537
+ class Bomb {
538
+
539
+ int xpos;
540
+
541
+ int ypos;
542
+
543
+ color c;
544
+
545
+ int speed = 3;
546
+
547
+ boolean visible = false;
548
+
549
+
550
+
551
+ Bomb(int _xpos, int _ypos, color _c) {
552
+
553
+ xpos = _xpos;
554
+
555
+ ypos = _ypos;
556
+
557
+ c = _c;
558
+
559
+ }
560
+
561
+
562
+
563
+ void draw() {
564
+
565
+ fill(c);
566
+
567
+ if(visible) {
568
+
569
+ fill(c);
570
+
571
+ ellipse(xpos, ypos, 10, 10);
572
+
573
+ }
574
+
575
+ }
576
+
577
+
578
+
579
+ void move() {
580
+
581
+ if(visible && ypos < height + 50) {
582
+
583
+ ypos += speed;
584
+
585
+ }
586
+
587
+ else {
588
+
589
+ visible = false;
590
+
591
+ }
592
+
593
+ }
594
+
595
+ }
596
+
597
+ class Shot {
598
+
599
+ int xpos;
600
+
601
+ int ypos;
602
+
603
+ color c;
604
+
605
+ int speed = 4;
606
+
607
+ boolean visible = false;
608
+
609
+
610
+
611
+ Shot(int _xpos, int _ypos, color _c) {
612
+
613
+ xpos = _xpos;
614
+
615
+ ypos = _ypos;
616
+
617
+ c = _c;
618
+
619
+ }
620
+
621
+
622
+
623
+ void draw() {
624
+
625
+ fill(c);
626
+
627
+ if(visible) {
628
+
629
+ rect(xpos, ypos, 5, 10);
630
+
631
+ }
632
+
633
+ }
634
+
635
+ void move() {
636
+
637
+ if(ypos > -50) {
638
+
639
+ ypos -= speed;
640
+
641
+ }
642
+
643
+ else {
644
+
645
+ visible = false;
646
+
647
+ }
648
+
649
+ }
650
+
651
+ }
652
+
653
+
654
+
655
+
10
656
 
11
657
  ```
12
658
 
13
-
14
-
15
- ###該当のソースコード
16
-
17
- ```ここに言語を入力
18
-
19
- PFont myFont;
20
-
21
- SpaceShip myShip;
22
-
23
- int numOfEnemies = 3;
24
-
25
- SpaceShip[] en1 = new SpaceShip[numOfEnemies];
26
-
27
- int score = 0;
28
-
29
- int numOfMaxShots = 50;
30
-
31
- int nextShot = 0;
32
-
33
- Shot[] shots = new Shot[numOfMaxShots];
34
-
35
- int numOfMaxBombs = 50;
36
-
37
- Bomb[] bombs = new Bomb[numOfMaxBombs];
38
-
39
- int nextBomb = 0;
40
-
41
- int code=0;
42
-
43
- boolean keyLeft = false;
44
-
45
- boolean keyRight = false;
46
-
47
- boolean keyUp = false;
48
-
49
- boolean keyDown = false;
50
-
51
-
52
-
53
- void setup() {
54
-
55
- size(600, 600);
56
-
57
- background(255, 255, 255);
58
-
59
- fill(0, 0, 0);
60
-
61
- noStroke();
62
-
63
- noCursor();
64
-
65
- frameRate(60);
66
-
67
- myFont = createFont("YuGothic", 24, true);
68
-
69
- textFont(myFont);
70
-
71
- myShip = new SpaceShip(loadImage("fighter.png"), 100, 500, 3, 1);
72
-
73
- myShip.visible = true;
74
-
75
- for(int i = 0; i < numOfEnemies; i++) {
76
-
77
- en1[i] = new SpaceShip(loadImage("DurrrSpaceShip.png"), i * 100 +
78
-
79
- 50, i * 50 + 100, 3, 2);
80
-
81
- en1[i].visible = true;
82
-
83
- }
84
-
85
- for(int i = 0; i < numOfMaxShots; i++) {
86
-
87
- shots[i] = new Shot(0, height + 100, color(255, 255, 0));
88
-
89
- }
90
-
91
- for(int i = 0; i < numOfMaxBombs; i++) {
92
-
93
- bombs[i] = new Bomb(0, -100, color(255, 0, 0));
94
-
95
- }
96
-
97
- }
98
-
99
-
100
-
101
- void draw() {
102
-
103
- background(0);
104
-
105
- myShip.draw();
106
-
107
- myShipController();
108
-
109
- drawEnemies();
110
-
111
- drawBombs();
112
-
113
- enemyController();
114
-
115
- shotsController();
116
-
117
- collisionDetection();
118
-
119
-
120
-
121
- if (code==0) {
122
-
123
- background(0);
124
-
125
- textSize(32);
126
-
127
- fill(255);
128
-
129
- text("'a Click' is clicked to start", 400, 350) ;
130
-
131
- }
132
-
133
-
134
-
135
-
136
-
137
- if (code==1) {
138
-
139
- for(int i = 0; i < numOfMaxShots; i++) {
140
-
141
- shots[i] = new Shot(0, height + 100, color(255, 255, 0));
142
-
143
- }
144
-
145
- text("SCORE:"+str(score), width/7, height -50) ;
146
-
147
- }
148
-
149
-
150
-
151
- if (code==2) {
152
-
153
- fill(0);
154
-
155
- rect(0, 0, width, height);
156
-
157
- textSize(32);
158
-
159
- fill(255);
160
-
161
- text("GAME OVER", 600, 350) ;
162
-
163
- text("RESTART is 'd Click'", 600, 500);
164
-
165
- }
166
-
167
- }
168
-
169
-
170
-
171
-
172
-
173
- void drawEnemies() {
174
-
175
- for(int i = 0; i < numOfEnemies; i++) {
176
-
177
- en1[i].draw();
178
-
179
- }
180
-
181
- }
182
-
183
-
184
-
185
- void enemyController() {
186
-
187
- for(int i = 0; i < numOfEnemies; i++) {
188
-
189
- if(en1[i].xpos < 0 || en1[i].xpos + en1[i].getWidth() > width) {
190
-
191
- en1[i].speed = - en1[i].speed;
192
-
193
- }
194
-
195
- en1[i].moveXaxis();
196
-
197
- if(en1[i].visible) {
198
-
199
- if(floor(random(50)) == 5) {
200
-
201
- bombs[nextBomb].xpos = en1[i].xpos + en1[i].getWidth() / 2;
202
-
203
- bombs[nextBomb].ypos = en1[i].ypos + en1[i].getHeight();
204
-
205
- bombs[nextBomb].visible = true;
206
-
207
- nextBomb = (nextBomb + 1) % numOfMaxBombs;
208
-
209
- }
210
-
211
- }
212
-
213
- }
214
-
215
- }
216
-
217
-
218
-
219
- void drawBombs() {
220
-
221
- for(int i = 0; i < numOfMaxBombs; i++) {
222
-
223
- bombs[i].draw();
224
-
225
- bombs[i].move();
226
-
227
- }
228
-
229
- }
230
-
231
-
232
-
233
- void collisionDetection() {
234
-
235
- for(int i = 0; i < numOfEnemies; i++) {
236
-
237
- for(int j = 0; j < numOfMaxShots; j++) {
238
-
239
- if(en1[i].visible && en1[i].isIn(shots[j].xpos, shots[j].ypos)) {
240
-
241
- en1[i].visible = false;
242
-
243
- shots[j].visible = false;
244
-
245
- }
246
-
247
- }
248
-
249
- }
250
-
251
- for(int i = 0; i < numOfMaxBombs; i++) {
252
-
253
- if(bombs[i].visible && myShip.isIn(bombs[i].xpos, bombs[i].ypos)) {
254
-
255
- myShip.visible = false;
256
-
257
- bombs[i].visible = false;
258
-
259
- }
260
-
261
- }
262
-
263
- }
264
-
265
-
266
-
267
- void keyPressed() {
268
-
269
- if(key == 'd') {
270
-
271
- keyRight = true;
272
-
273
- }
274
-
275
- if(key == 'a') {
276
-
277
- keyLeft = true;
278
-
279
- }
280
-
281
- if(key == 'w') {
282
-
283
- keyUp = true;
284
-
285
- }
286
-
287
- if(key == 's') {
288
-
289
- keyDown = true;
290
-
291
- }
292
-
293
- }
294
-
295
-
296
-
297
- void keyReleased() {
298
-
299
- if(key == 'a') {
300
-
301
- keyLeft = false;
302
-
303
- }
304
-
305
- else if(key == 'd') {
306
-
307
- keyRight = false;
308
-
309
- }
310
-
311
- else if(key == 'w') {
312
-
313
- keyUp = false;
314
-
315
- }
316
-
317
- else if(key == 's') {
318
-
319
- keyDown = false;
320
-
321
- }
322
-
323
- else if(keyCode == ' ') {
324
-
325
- fire();
326
-
327
- }
328
-
329
- if (code==0) {
330
-
331
-
332
-
333
- if (key=='a') {
334
-
335
- code=1;
336
-
337
- }
338
-
339
- }
340
-
341
- if (code==2) {
342
-
343
- if (key=='d') {
344
-
345
- code=0;
346
-
347
- }
348
-
349
- }
350
-
351
- }
352
-
353
- void myShipController() {
354
-
355
- if(keyLeft) {
356
-
357
- myShip.speed = - abs(myShip.speed);
358
-
359
- if(myShip.xpos + myShip.speed >= 0) {
360
-
361
- myShip.moveXaxis();
362
-
363
- }
364
-
365
- }
366
-
367
- else if(keyRight) {
368
-
369
- myShip.speed = abs(myShip.speed);
370
-
371
- if(myShip.xpos + myShip.getWidth() + myShip.speed <= width) {
372
-
373
- myShip.moveXaxis();
374
-
375
- }
376
-
377
- }
378
-
379
- else if(keyUp) {
380
-
381
- myShip.speed = - abs(myShip.speed);
382
-
383
- if(myShip.ypos + myShip.speed >= 0) {
384
-
385
- myShip.moveYaxis();
386
-
387
- }
388
-
389
- }
390
-
391
- else if(keyDown) {
392
-
393
- myShip.speed = abs(myShip.speed);
394
-
395
- if(myShip.ypos + myShip.getHeight() + myShip.speed <= height) {
396
-
397
- myShip.moveYaxis();
398
-
399
- }
400
-
401
- }
402
-
403
- }
404
-
405
-
406
-
407
- void shotsController() {
408
-
409
- for(int i = 0; i < numOfMaxShots; i++) {
410
-
411
- shots[i].draw();
412
-
413
- shots[i].move();
414
-
415
- }
416
-
417
- }
418
-
419
-
420
-
421
- void fire() {
422
-
423
- if(myShip.visible) {
424
-
425
- shots[nextShot].xpos = myShip.xpos + myShip.getWidth() / 2;
426
-
427
- shots[nextShot].ypos = myShip.ypos;
428
-
429
- shots[nextShot].visible = true;
430
-
431
- nextShot = (nextShot + 1) % numOfMaxShots;
432
-
433
- }
434
-
435
- }
436
-
437
-
438
-
439
- class SpaceShip {
440
-
441
- PImage img;
442
-
443
- int xpos;
444
-
445
- int ypos;
446
-
447
- int speed;
448
-
449
- int scale;
450
-
451
- boolean visible = false;
452
-
453
-
454
-
455
- SpaceShip(PImage _img, int _xpos, int _ypos, int _speed, int _scale) {
456
-
457
- img = _img;
458
-
459
- xpos = _xpos;
460
-
461
- ypos = _ypos;
462
-
463
- speed = _speed;
464
-
465
- scale = _scale;
466
-
467
- }
468
-
469
-
470
-
471
- void draw() {
472
-
473
- if(visible) {
474
-
475
- image(img, xpos, ypos, getWidth(), getHeight());
476
-
477
- }
478
-
479
- }
480
-
481
-
482
-
483
- void moveXaxis() {
484
-
485
- xpos += speed;
486
-
487
- }
488
-
489
-
490
-
491
- void moveYaxis() {
492
-
493
- ypos += speed;
494
-
495
- }
496
-
497
-
498
-
499
- int getWidth() {
500
-
501
- return img.width / scale;
502
-
503
- }
504
-
505
-
506
-
507
- int getHeight() {
508
-
509
- return img.height / scale;
510
-
511
- }
512
-
513
-
514
-
515
- boolean isIn(int x, int y) {
516
-
517
- if(x >= xpos && x <= xpos + getWidth() &&
518
-
519
- y >= ypos && y <= ypos + getHeight()) {
520
-
521
- return true;
522
-
523
- }
524
-
525
- else {
526
-
527
- return false;
528
-
529
- }
530
-
531
- }
532
-
533
- }
534
-
535
-
536
-
537
- class Bomb {
538
-
539
- int xpos;
540
-
541
- int ypos;
542
-
543
- color c;
544
-
545
- int speed = 3;
546
-
547
- boolean visible = false;
548
-
549
-
550
-
551
- Bomb(int _xpos, int _ypos, color _c) {
552
-
553
- xpos = _xpos;
554
-
555
- ypos = _ypos;
556
-
557
- c = _c;
558
-
559
- }
560
-
561
-
562
-
563
- void draw() {
564
-
565
- fill(c);
566
-
567
- if(visible) {
568
-
569
- fill(c);
570
-
571
- ellipse(xpos, ypos, 10, 10);
572
-
573
- }
574
-
575
- }
576
-
577
-
578
-
579
- void move() {
580
-
581
- if(visible && ypos < height + 50) {
582
-
583
- ypos += speed;
584
-
585
- }
586
-
587
- else {
588
-
589
- visible = false;
590
-
591
- }
592
-
593
- }
594
-
595
- }
596
-
597
- class Shot {
598
-
599
- int xpos;
600
-
601
- int ypos;
602
-
603
- color c;
604
-
605
- int speed = 4;
606
-
607
- boolean visible = false;
608
-
609
-
610
-
611
- Shot(int _xpos, int _ypos, color _c) {
612
-
613
- xpos = _xpos;
614
-
615
- ypos = _ypos;
616
-
617
- c = _c;
618
-
619
- }
620
-
621
-
622
-
623
- void draw() {
624
-
625
- fill(c);
626
-
627
- if(visible) {
628
-
629
- rect(xpos, ypos, 5, 10);
630
-
631
- }
632
-
633
- }
634
-
635
- void move() {
636
-
637
- if(ypos > -50) {
638
-
639
- ypos -= speed;
640
-
641
- }
642
-
643
- else {
644
-
645
- visible = false;
646
-
647
- }
648
-
649
- }
650
-
651
- }
652
-
653
- ```
654
-
655
-
656
-
657
659
  ###試したこと
658
660
 
659
661
  コードの見直し