Added clouds

This commit is contained in:
2021-03-26 21:25:41 +03:00
parent 225a9d7922
commit 9852fd04df
2 changed files with 36 additions and 6 deletions
+2
View File
@@ -1,2 +1,4 @@
# pygame_test # pygame_test
First Pygame test project First Pygame test project
Written in Python 3.X using Pygame library
+33 -5
View File
@@ -25,6 +25,7 @@ enemyChance = 0.0
floors = pygame.sprite.Group() floors = pygame.sprite.Group()
enemies = pygame.sprite.Group() enemies = pygame.sprite.Group()
clouds = pygame.sprite.Group()
player = None player = None
class Floor(pygame.sprite.Sprite): class Floor(pygame.sprite.Sprite):
@@ -35,6 +36,25 @@ class Floor(pygame.sprite.Sprite):
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.rect.center = (screenSize[0]/2, screenSize[1]-floorHeight/2) self.rect.center = (screenSize[0]/2, screenSize[1]-floorHeight/2)
class Cloud(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((random.randint(150, 350),
random.randint(50, 150)))
self.image.fill((random.randint(235, 255),
random.randint(235, 255),
random.randint(235, 255)))
self.rect = self.image.get_rect()
self.rect.center = (screenSize[0] + self.rect.width,
screenSize[1]/2 -
random.randint(100, screenSize[1]/2))
self.speed = random.randint(10, 30)/10
def update(self):
self.rect.x -= gameSpeed*self.speed
if (self.rect.x < -self.rect.width):
self.kill()
class Player(pygame.sprite.Sprite): class Player(pygame.sprite.Sprite):
def __init__(self): def __init__(self):
pygame.sprite.Sprite.__init__(self) pygame.sprite.Sprite.__init__(self)
@@ -149,7 +169,7 @@ class Enemy(pygame.sprite.Sprite):
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.height -= self.rect.height/2 + 10 + 25*self.subtype self.height -= self.rect.height/2 + 10 + 25*self.subtype
self.rect.center = (screenSize[0], self.height) self.rect.center = (screenSize[0] + self.rect.width, self.height)
def update(self): def update(self):
global score, gameSpeed global score, gameSpeed
@@ -211,12 +231,15 @@ def render(screen, sprites):
rect.midtop = (rect.width/2+10,10) rect.midtop = (rect.width/2+10,10)
screen.blit(text, rect) screen.blit(text, rect)
text = font.render('game speed: %.1f %s'%(gameSpeed, '(space is pressed)' if isDownJump else ''), True, (255, 255, 255)) text = font.render('game speed: %.1f %s'%\
(gameSpeed, '(space is pressed)' if isDownJump else ''),
True, (255, 255, 255))
rect = text.get_rect() rect = text.get_rect()
rect.midtop = (rect.width/2+10,25) rect.midtop = (rect.width/2+10,25)
screen.blit(text, rect) screen.blit(text, rect)
text = font.render('player speed: %.1f'%(player.speed), True, (255, 255, 255)) text = font.render('player speed: %.1f'%(player.speed),
True, (255, 255, 255))
rect = text.get_rect() rect = text.get_rect()
rect.midtop = (rect.width/2+10,40) rect.midtop = (rect.width/2+10,40)
screen.blit(text, rect) screen.blit(text, rect)
@@ -226,7 +249,8 @@ def render(screen, sprites):
rect.midtop = (rect.width/2+10,55) rect.midtop = (rect.width/2+10,55)
screen.blit(text, rect) screen.blit(text, rect)
text = font.render('enemy chance: %.1f'%(enemyChance), True, (255, 255, 255)) text = font.render('enemy chance: %.1f'%(enemyChance),
True, (255, 255, 255))
rect = text.get_rect() rect = text.get_rect()
rect.midtop = (rect.width/2+10,70) rect.midtop = (rect.width/2+10,70)
screen.blit(text, rect) screen.blit(text, rect)
@@ -278,6 +302,11 @@ def logic(clock, sprites):
enemyCD -= gameSpeed enemyCD -= gameSpeed
if random.randint(1, 100) == 1:
cloud = Cloud()
clouds.add(cloud)
sprites.add(cloud)
if enemyCD <= 0: if enemyCD <= 0:
enemyChance += (1/targetFps) * enemyChance/8 enemyChance += (1/targetFps) * enemyChance/8
@@ -306,4 +335,3 @@ if __name__ == '__main__':
screen, clock, sprites = init() screen, clock, sprites = init()
main_loop(screen, clock, sprites) main_loop(screen, clock, sprites)
deinit() deinit()