回答編集履歴
2
test
CHANGED
@@ -17,12 +17,15 @@
|
|
17
17
|
basket_x += basket_speed
|
18
18
|
|
19
19
|
# かごと接触したリンゴを消去
|
20
|
+
overlap = []
|
21
|
+
basket_rect = pygame.Rect(basket_x, basket_y, 50, 20)
|
20
22
|
for i, (apple_x, apple_y) in enumerate(apples):
|
21
|
-
apple_rect = pygame.Rect(apple_x, apple_y,
|
23
|
+
apple_rect = pygame.Rect(apple_x-20, apple_y-20, 40, 40)
|
22
|
-
basket_rect = pygame.Rect(basket_x, basket_y, 50, 20)
|
23
24
|
if apple_rect.colliderect(basket_rect):
|
25
|
+
overlap.append(i)
|
26
|
+
|
27
|
+
for i in overlap:
|
24
|
-
|
28
|
+
del apples[i]
|
25
|
-
break
|
26
29
|
|
27
30
|
# 画面をクリア
|
28
31
|
screen.fill((255, 255, 255))
|
1
test
CHANGED
@@ -1,21 +1,20 @@
|
|
1
|
-
かごと接触したリンゴを
|
1
|
+
かごと接触したリンゴを apples から削除します。(削除されたリンゴは描画されません) また、画面外へ移動したリンゴは除去しておきます。
|
2
|
-
|
2
|
+
|
3
3
|
```python
|
4
|
+
# リンゴを下に移動
|
5
|
+
new_apples = []
|
6
|
+
for apple_x, apple_y in apples:
|
7
|
+
apple_y += apple_speed
|
8
|
+
# 画面外へ移動したリンゴは追加しない
|
9
|
+
if apple_y < HEIGHT:
|
10
|
+
new_apples.append((apple_x, apple_y))
|
11
|
+
apples = new_apples
|
4
12
|
# かごを左右に移動
|
5
13
|
keys = pygame.key.get_pressed()
|
6
14
|
if keys[pygame.K_LEFT]:
|
7
15
|
basket_x -= basket_speed
|
8
16
|
if keys[pygame.K_RIGHT]:
|
9
17
|
basket_x += basket_speed
|
10
|
-
|
11
|
-
# # リンゴの座標(仮の値)
|
12
|
-
# apple_x, apple_y = WIDTH//2, 100
|
13
|
-
#
|
14
|
-
# apple_rect = pygame.Rect(apple_x, apple_y, 20, 20)
|
15
|
-
# basket_rect = pygame.Rect(basket_x, basket_y, 50, 20)
|
16
|
-
#
|
17
|
-
# if apple_rect.colliderect(basket_rect):
|
18
|
-
# apple_x, apple_y = -100, -100
|
19
18
|
|
20
19
|
# かごと接触したリンゴを消去
|
21
20
|
for i, (apple_x, apple_y) in enumerate(apples):
|