大家好,我又双叒叕来提问了[doge]
最近在学pygame,学到制作打地鼠游戏时,我发现当我想通过点击来消除地鼠时,地鼠并不会消失
-------------------------------------------------------------下面是代码------------------------------------------------------------
import pygame
import random
pygame.init()
pygame.display.set_caption('打地鼠')
screen = pygame.display.set_mode((800, 600))
grass = pygame.image.load('D:\xxx\image\grass.png')
grass = pygame.transform.scale(grass, (800, 600))
hole = pygame.image.load('D:\xxx\image\hole.png')
mouse = pygame.image.load('D:\xxx\image\mouse.png')
hammer = pygame.image.load('D:\xxx\image\hammer.png')
mouse_list = []
mouse_list2 = []
rect_mouse = []
y = 3
x = 4
def new_mouse():
while True:
q = random.randint(0, x*y-1)
abc = mouse_list[q]
if mouse_list[q] not in mouse_list2:
mouse_list2.append(abc)
rect_mouse.append(pygame.Rect(abc[0], abc[1], 100, 112))
break
if len(mouse_list2) == x*y:
break
#用户事件
EVENT = pygame.USEREVENT + 1
#计时器
pygame.time.set_timer(EVENT, 1000)
while True:
pos = pygame.mouse.get_pos()
hole_y = 200
hole_x = 150
screen.blit(grass, (0, 0))
for i in range(y):
hole_x = 150
for o in range(x):
mouse_list.append([hole_x, hole_y])
screen.blit(hole, (hole_x, hole_y))
hole_x += 150
hole_y += 120
for a in mouse_list2:
screen.blit(mouse, [a[0], a[1]-40])
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
if event.type == EVENT:
new_mouse()
if event.type == pygame.MOUSEBUTTONDOWN:
for a in rect_mouse:
if a.collidepoint(pos):
mouse_list2.remove([a[0], a[1]])
screen.blit(hammer, [pos[0], pos[1]])
pygame.display.update()
pygame.time.Clock().tick(120)
-----------------------------------------下面是报错--------------------------------------
Traceback (most recent call last):
File "D:\xxx\mouse.py", line 59, in <module>
mouse_list2.remove([a[0], a[1]])
ValueError: list.remove(x): x not in list
希望大家给个解答,谢谢!