-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmob.py
46 lines (37 loc) · 1.32 KB
/
mob.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import pygame
import random
#window setting
WIDTH = 1200
HEIGHT = 700
FPS = 60
POWEREUP_TIME = 5000
#color
WHITE = (255,255,255)
BLACK = (0,0,0)
RED = (255,0,0)
GREEN = (0,255,0)
BLUE = (0,0,255)
YELLOW = (255,255,0)
class Mob(pygame.sprite.Sprite):
def __init__ (self, meteor_images, level):
pygame.sprite.Sprite.__init__(self)
meteor_img = random.choice(meteor_images)
sizex = random.randrange(100, 160)
sizey = sizex
if(meteor_img.get_rect().width < 300):
sizex = meteor_img.get_rect().width
sizey = meteor_img.get_rect().height
self.image = pygame.transform.scale(meteor_img, (sizex, sizey))
self.rect = self.image.get_rect()
self.radius = int(self.rect.width * 0.85 / 2)
self.rect.x = random.randrange(WIDTH-self.rect.width)
self.rect.y = random.randrange(-100, -40)
self.speedy = random.randrange(1,8) * level
self.speedx = random.randrange(-3, 3) * level
def update(self):
self.rect.y += self.speedy
self.rect.x += self.speedx
if self.rect.top > HEIGHT + 10 or self.rect.left < -25 or self.rect.right > WIDTH + 25:
self.rect.x = random.randrange(WIDTH-self.rect.width)
self.rect.y = random.randrange(-100, 40)
self.speedy = random.randrange(1, 8)