猫史档案馆


各位大佬帮我看一下我的代码有什么问题

用户:动画师小火神动画师小火神查看:1 回复:2 评论:1 创建时间:2023-04-16T15:15:31


import pygame
import random

pygame.init()
screen = pygame.display.set_mode((800, 600))

class Pacman(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load('pacman.png')
        self.rect = self.image.get_rect()
        self.rect.x = 400
        self.rect.y = 300
        self.speed = 5

class Ghost(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load('ghost.png')
        self.rect = self.image.get_rect()
        self.rect.x = random.randint(0, 800)
        self.rect.y = random.randint(0, 600)
        self.speed = 5

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        pacman.rect.x -= pacman.speed
    if keys[pygame.K_RIGHT]:
        pacman.rect.x += pacman.speed
    if keys[pygame.K_UP]:
        pacman.rect.y -= pacman.speed
    if keys[pygame.K_DOWN]:
        pacman.rect.y += pacman.speed

    # Update screen
    screen.fill((0, 0, 0))
    screen.blit(pacman.image, pacman.rect)
    screen.blit(ghost.image, ghost.rect)
    pygame.display.update()

if pacman.rect.colliderect(ghost.rect):
    running = False

class Pellet(pygame.sprite.Sprite):
    def __init__(self, x, y):
        super().__init__()
        self.image = pygame.image.load('pellet.png')
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

pellets = pygame.sprite.Group()
for i in range(0, 800, 50):
    for j in range(0, 600, 50):
        pellet = Pellet(i, j)
        pellets.add(pellet)

score = 0

collisions=pygame.sprite.spritecollide(pacman, pellets, True)
score += len(collisions)

if len(pellets) == 0:
    running = False
    print('You win!')


回复

上一页1 页 / 共 1下一页
动画师小火神动画师小火神

听说是第46行有问题......

点赞0


评论


1111111111111111211111111111111112

我尝试运行,错误发生于第43行--NameError: name 'pacman' is not defined,我对于pygame不算太熟,但从报错信息中可以看出,变量pacman没有定义就使用了,所以报错

点赞0


评论