More splitting and minor changes
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
"""
|
||||||
|
Cloud entity class
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
import pygame
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
class Cloud(pygame.sprite.Sprite):
|
||||||
|
def __init__(self, mainGameClass):
|
||||||
|
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 = (mainGameClass.getScreenWidth() + self.rect.width,
|
||||||
|
mainGameClass.getScreenHeight()/2 -
|
||||||
|
random.randint(100,
|
||||||
|
mainGameClass.getScreenHeight()/2-100))
|
||||||
|
self.speed = random.randint(2, 4)*mainGameClass.getGameSpeed()
|
||||||
|
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
if (self.rect.x < -self.rect.width):
|
||||||
|
self.kill()
|
||||||
|
|
||||||
|
self.rect.x -= self.speed
|
||||||
+24
-40
@@ -1,7 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
First test Pygame project
|
Main game class
|
||||||
|
|
||||||
Written in Python 3.X using Pygame library
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
@@ -10,45 +8,31 @@ import random
|
|||||||
|
|
||||||
from Player import Player
|
from Player import Player
|
||||||
from Enemy import Enemy
|
from Enemy import Enemy
|
||||||
|
from Cloud import Cloud
|
||||||
|
from Floor import Floor
|
||||||
|
|
||||||
|
|
||||||
class Floor(pygame.sprite.Sprite):
|
|
||||||
def __init__(self, screenSize, floorHeight):
|
|
||||||
pygame.sprite.Sprite.__init__(self)
|
|
||||||
self.image = pygame.Surface((screenSize[0], floorHeight))
|
|
||||||
self.image.fill((255, 204, 102))
|
|
||||||
self.rect = self.image.get_rect()
|
|
||||||
self.rect.center = (screenSize[0]/2, screenSize[1]-floorHeight/2)
|
|
||||||
|
|
||||||
|
|
||||||
class Cloud(pygame.sprite.Sprite):
|
|
||||||
def __init__(self, screenSize, gameSpeed):
|
|
||||||
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-100))
|
|
||||||
self.speed = random.randint(150, 300)/100*gameSpeed
|
|
||||||
|
|
||||||
|
|
||||||
def update(self):
|
|
||||||
if (self.rect.x < -self.rect.width):
|
|
||||||
self.kill()
|
|
||||||
|
|
||||||
self.rect.x -= self.speed
|
|
||||||
|
|
||||||
class Drakora():
|
class Drakora():
|
||||||
def getGameSpeed(self):
|
def getGameSpeed(self):
|
||||||
return self.__gameSpeed
|
return self.__gameSpeed
|
||||||
|
|
||||||
|
|
||||||
def getScore(self):
|
def getScore(self):
|
||||||
return self.__score
|
return self.__score
|
||||||
|
|
||||||
|
|
||||||
|
def getScreenWidth(self):
|
||||||
|
return self.screenSize[0]
|
||||||
|
|
||||||
|
|
||||||
|
def getScreenHeight(self):
|
||||||
|
return self.screenSize[1]
|
||||||
|
|
||||||
|
|
||||||
|
def getFloorHeight(self):
|
||||||
|
return self.floorHeight
|
||||||
|
|
||||||
|
|
||||||
def addScore(self, score):
|
def addScore(self, score):
|
||||||
self.__score += score
|
self.__score += score
|
||||||
|
|
||||||
@@ -102,7 +86,7 @@ class Drakora():
|
|||||||
self.clock = pygame.time.Clock()
|
self.clock = pygame.time.Clock()
|
||||||
|
|
||||||
self.sprites = pygame.sprite.Group()
|
self.sprites = pygame.sprite.Group()
|
||||||
self.floors.add(Floor(self.screenSize, self.floorHeight))
|
self.floors.add(Floor(self))
|
||||||
self.sprites.add(self.floors)
|
self.sprites.add(self.floors)
|
||||||
|
|
||||||
font = pygame.font.match_font('liberation mono')
|
font = pygame.font.match_font('liberation mono')
|
||||||
@@ -129,7 +113,7 @@ class Drakora():
|
|||||||
|
|
||||||
self.renderText('%d'%(self.__score),
|
self.renderText('%d'%(self.__score),
|
||||||
self.fontScore, (255, 255, 255),
|
self.fontScore, (255, 255, 255),
|
||||||
(self.screenSize[0]/2,20))
|
(self.getScreenWidth()/2,20))
|
||||||
|
|
||||||
if self.isGameOver:
|
if self.isGameOver:
|
||||||
self.renderText('GAME OVER',
|
self.renderText('GAME OVER',
|
||||||
@@ -210,18 +194,18 @@ class Drakora():
|
|||||||
|
|
||||||
self.enemyCD -= self.__gameSpeed
|
self.enemyCD -= self.__gameSpeed
|
||||||
|
|
||||||
if random.randint(1, 150) == 1:
|
if random.randint(1, 50) == 1:
|
||||||
cloud = Cloud(self.screenSize, self.__gameSpeed)
|
cloud = Cloud(self)
|
||||||
self.clouds.add(cloud)
|
self.clouds.add(cloud)
|
||||||
self.sprites.add(cloud)
|
self.sprites.add(cloud)
|
||||||
|
|
||||||
if self.enemyCD <= 0:
|
if self.enemyCD <= 0:
|
||||||
self.enemyChance += (1/self.targetFps) * self.enemyChance/8
|
self.enemyChance += (1/self.targetFps) * self.enemyChance/8
|
||||||
|
|
||||||
if random.randint(1, 100) < self.enemyChance:
|
if random.randint(1, 150) < self.enemyChance:
|
||||||
self.enemyCD = 200
|
self.enemyCD = 300
|
||||||
self.enemyChance = 1
|
self.enemyChance = 1
|
||||||
enemy = Enemy(self.screenSize, self.floorHeight, self)
|
enemy = Enemy(self)
|
||||||
self.enemies.add(enemy)
|
self.enemies.add(enemy)
|
||||||
self.sprites.add(enemy)
|
self.sprites.add(enemy)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
import pygame
|
"""
|
||||||
|
Enemy entity class
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
class Enemy(pygame.sprite.Sprite):
|
class Enemy(pygame.sprite.Sprite):
|
||||||
def setNextEnemyType(self, score):
|
def setNextEnemyType(self, score):
|
||||||
if score < 10:
|
if score < 10:
|
||||||
@@ -26,7 +31,7 @@ class Enemy(pygame.sprite.Sprite):
|
|||||||
self.subtype = random.randint(1, 7)
|
self.subtype = random.randint(1, 7)
|
||||||
|
|
||||||
|
|
||||||
def __init__(self, screenSize, floorHeight, mainGameClass):
|
def __init__(self, mainGameClass):
|
||||||
pygame.sprite.Sprite.__init__(self)
|
pygame.sprite.Sprite.__init__(self)
|
||||||
|
|
||||||
self.thisGame = mainGameClass
|
self.thisGame = mainGameClass
|
||||||
@@ -36,7 +41,7 @@ class Enemy(pygame.sprite.Sprite):
|
|||||||
self.setNextEnemyType(self.thisGame.getScore())
|
self.setNextEnemyType(self.thisGame.getScore())
|
||||||
self.setNextEnemySubtype()
|
self.setNextEnemySubtype()
|
||||||
|
|
||||||
self.height = screenSize[1] - floorHeight
|
self.height = mainGameClass.getScreenHeight() - mainGameClass.floorHeight
|
||||||
|
|
||||||
if self.type == 1:
|
if self.type == 1:
|
||||||
if self.subtype == 1: self.image = pygame.Surface((25, 75))
|
if self.subtype == 1: self.image = pygame.Surface((25, 75))
|
||||||
@@ -56,7 +61,8 @@ class Enemy(pygame.sprite.Sprite):
|
|||||||
self.rect = self.image.get_rect()
|
self.rect = self.image.get_rect()
|
||||||
self.height -= self.rect.height/2 + 10 + 10*self.subtype
|
self.height -= self.rect.height/2 + 10 + 10*self.subtype
|
||||||
|
|
||||||
self.rect.center = (screenSize[0] + self.rect.width, self.height)
|
self.rect.center = (mainGameClass.getScreenWidth() + self.rect.width,
|
||||||
|
self.height)
|
||||||
|
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
"""
|
||||||
|
Floor entity class
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
import pygame
|
||||||
|
|
||||||
|
|
||||||
|
class Floor(pygame.sprite.Sprite):
|
||||||
|
def __init__(self, mainGameClass):
|
||||||
|
pygame.sprite.Sprite.__init__(self)
|
||||||
|
self.image = pygame.Surface((mainGameClass.getScreenWidth(),
|
||||||
|
mainGameClass.getFloorHeight()))
|
||||||
|
self.image.fill((255, 204, 102))
|
||||||
|
self.rect = self.image.get_rect()
|
||||||
|
self.rect.center = (mainGameClass.getScreenWidth()/2,
|
||||||
|
mainGameClass.getScreenHeight() -
|
||||||
|
mainGameClass.getFloorHeight()/2)
|
||||||
@@ -1,5 +1,11 @@
|
|||||||
|
"""
|
||||||
|
Player entity class
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
|
|
||||||
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)
|
||||||
@@ -31,4 +37,3 @@ class Player(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
self.speed += 0.17
|
self.speed += 0.17
|
||||||
self.rect.y += self.speed
|
self.rect.y += self.speed
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user