import pygame
import os
import random

oldgreen = (92, 128, 85)
oldorange = (173, 121, 36)
orange = (237, 161, 9)
oldpurple = (80, 46, 99)
green = (74, 227, 14)
red = (227, 14, 14)
blue = (16, 16, 227)
black = (0, 0, 0)
white = (255, 255, 255)

width = 480
height = 480
fps = 30

class Player(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((30, 30))
        self.image.fill(green)
        self.rect = self.image.get_rect()
        self.rect.centerx = width/2
        self.rect.bottom = height - 10
        self.speedx = 0
        self.speedy = 0
    def update(self):
        self.speedx = 0
        keystate = pygame.key.get_pressed()
        if keystate[pygame.K_LEFT]:
            self.speedx -= 8
        if keystate[pygame.K_RIGHT]:
            self.speedx += 8
        self.rect.x += self.speedx
        if self.rect.right > width:
            self.rect.right = width
        if self.rect.left < 0:
            self.rect.left = 0
class Mobs(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((20, 20))
        self.image.fill((random.randrange(0, 255), random.randrange(0, 255), random.randrange(0, 255)))
        self.rect = self.image.get_rect()

        self.rect.x = random.randrange(width)
        self.rect.y = random.randrange(-100, -40)
        self.speedy = random.randrange(4, 8)
        self.speedx = random.randrange(-4, 4)

    def update(self):
        self.rect.y += self.speedy
        self.rect.x += self.speedx
        if self.rect.top > height + 10:
            self.rect.x = random.randrange(width)
            self.rect.y = random.randrange(-100, -40)
            self.speedy = random.randrange(4, 8)
            self.speedx = random.randrange(0, 4)
        if self.rect.right > width + 20 or self.rect.left > width + 50:
            self.rect.x = random.randrange(width)
            self.rect.y = random.randrange(-100, -40)
            self.speedy = random.randrange(4, 8)
            self.speedx = random.randrange(-4, 4)
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("my game")
clock = pygame.time.Clock()
allsprites = pygame.sprite.Group()
player = Player()
allsprites.add(player)

for i in range(100):
    m = Mobs()
    allsprites.add(m)

running = True
while running:
    clock.tick(fps)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    allsprites.update()
    screen.fill(black)
    allsprites.draw(screen)
    pygame.display.flip()
    clock.tick(fps)

pygame.quit()
