90ffbb6e09
Player.py - not final version, must be more function from Drakora added.
Player - may be must control funtion included.
71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
import pygame
|
|
import random
|
|
|
|
class Enemy(pygame.sprite.Sprite):
|
|
def setNextEnemyType(self, score):
|
|
if score < 10:
|
|
self.type = 1
|
|
|
|
elif score < 20:
|
|
if random.randint(1, 100) < 95: self.type = 1
|
|
else: self.type = 2
|
|
|
|
elif score < 40:
|
|
if random.randint(1, 100) < 85: self.type = 1
|
|
else: self.type = 2
|
|
|
|
else:
|
|
if random.randint(1, 100) < 75: self.type = 1
|
|
else: self.type = 2
|
|
|
|
|
|
def setNextEnemySubtype(self):
|
|
if self.type == 1:
|
|
self.subtype = random.randint(1, 5)
|
|
elif self.type == 2:
|
|
self.subtype = random.randint(1, 7)
|
|
|
|
|
|
def __init__(self, screenSize, floorHeight, mainGameClass):
|
|
pygame.sprite.Sprite.__init__(self)
|
|
|
|
self.thisGame = mainGameClass
|
|
|
|
self.speed = self.thisGame.getGameSpeed()
|
|
|
|
self.setNextEnemyType(self.thisGame.getScore())
|
|
self.setNextEnemySubtype()
|
|
|
|
self.height = screenSize[1] - floorHeight
|
|
|
|
if self.type == 1:
|
|
if self.subtype == 1: self.image = pygame.Surface((25, 75))
|
|
elif self.subtype == 2: self.image = pygame.Surface((25, 25))
|
|
elif self.subtype == 3: self.image = pygame.Surface((75, 25))
|
|
elif self.subtype == 4: self.image = pygame.Surface((50, 25))
|
|
elif self.subtype == 5: self.image = pygame.Surface((50, 50))
|
|
else: self.image = pygame.Surface((25, 50))
|
|
|
|
self.image.fill((0, 153, 0))
|
|
self.rect = self.image.get_rect()
|
|
self.height -= self.rect.height/2
|
|
|
|
elif self.type == 2:
|
|
self.image = pygame.Surface((50, 25))
|
|
self.image.fill((51, 51, 0))
|
|
self.rect = self.image.get_rect()
|
|
self.height -= self.rect.height/2 + 10 + 10*self.subtype
|
|
|
|
self.rect.center = (screenSize[0] + self.rect.width, self.height)
|
|
|
|
|
|
def update(self):
|
|
if (self.rect.x < -self.rect.width):
|
|
self.kill()
|
|
self.thisGame.addScore(1)
|
|
|
|
if self.type == 1:
|
|
self.rect.x -= self.speed
|
|
else:
|
|
self.rect.x -= self.speed*2
|