jeudi 9 août 2018

ValueError: empty range for randrange() (4,1, -3)

The sprite is meant to be moving across the screen from left to right. I don't know how to fix the error. I have played around with the values and nothing has happened. When I put in one number, there is no error but it doesn't load.

        class Mob(pygame.sprite.Sprite):
            def __init__(self, x, y):
                pygame.sprite.Sprite.__init__(self)
                self.image = pygame.Surface((90, 90)).convert_alpha()
                self.image = pygame.image.load(badguy_file).convert_alpha()
                self.image = pygame.transform.scale(self.image, (100, 100))
                self.rect = pygame.Rect(x, y, 100, 100)
                self.x = x
                self.y = y
                self.rect.x = random.randrange(800 - 100)
                self.rect.y = random.randrange(-100, -40)
                self.speedx = random.randrange(4)
                self.mask = pygame.mask.from_surface(self.image)

            def update(self):
                self.rect.y += self.speedy
                if self.rect.top > height + 10 or self.rect.left < -25 or self.rect.right > width + 20:
                    self.rect.x = random.randrange(width - self.rect.width)
                    self.rect.y = random.randrange(-100, -40)
                    self.speedx = random.randrange(1,0)

            def render(self, screen):
                screen.blit(self.image, (self.x, self.y))

        mobs = pygame.sprite.Group()       
        for i in range(8):
            mob = Mob(200,300)
            mobs.add(mob)




Aucun commentaire:

Enregistrer un commentaire