Slightly better balance

master
David Raison 2014-08-31 02:36:21 +02:00
commit feea1079e9
4 changed files with 12 additions and 16 deletions

View File

@ -5,16 +5,7 @@ from support import operations
class Avocado:
def __init__(self, screen, color, size, target, filename='img/AvoCado_0.png'):
# HELP please!!
# We randomly decide whether we should instanciate or not
# I'd rather just not return an instance,
# but I don't know how to do that :(
if random.randint(0,40) != 1:
self.is_still_falling = False
self.has_been_pinned = False
return None
def __init__(self, screen, color, size, target, level, filename='img/AvoCado_0.png'):
# Set up our instance variables
self.screen = screen
@ -32,7 +23,7 @@ class Avocado:
# Set the avocado's initial position and velocity
self.init_pos()
self.vx = 2
self.vy = 4
self.vy = 4 * (level * 0.5)
# Avocado state
self.is_still_falling = True

View File

@ -16,7 +16,7 @@ class Crystal:
self.imageCenterY = self.screen.get_rect().centery
def blitme(self):
pygame.draw.ellipse(self.screen, self.color, (self.imageCenterX-158,self.imageCenterY-5,277,217), 0)
pygame.draw.ellipse(self.screen, self.color, (self.imageCenterX-100,self.imageCenterY-5,200,183), 0)
def setColor(self, color):
self.color = color

13
game.py
View File

@ -35,7 +35,7 @@ class TheGame:
# fonts
self.bigFont = pygame.font.Font(None, 90)
# Set splashscreen
# Set splashscreen
splashScreen = pygame.image.load("img/splashScreen.png")
self.screen.blit(pygame.transform.scale(splashScreen, self.size), (0, 0))
pygame.display.flip()
@ -108,7 +108,11 @@ class TheGame:
def main(self):
clock = pygame.time.Clock()
desired_fps = 60
multiplier = 3
# Never set below 4, else we have a high
# probability of losing the game due to a missing color
# Alternatively, you could edit chooseRandomColor()
# to only work on the first multiplier colors
multiplier = 4
time = timeleft = 30
level = 1
levelChange = 0
@ -169,10 +173,11 @@ class TheGame:
avocadosInGame = len(movingAvocados)
avocadosWanted = level * multiplier
if avocadosInGame < avocadosWanted:
for i in range(avocadosInGame, avocadosWanted):
probability = int(1.0/(avocadosWanted - avocadosInGame) * 100)
if random.randint(0, probability) < 3:
avocolor = self.chooseRandomColor()
avosize = (50, 50) # should we randomize this?
a = avocado.Avocado(self.screen, avocolor, avosize, color)
a = avocado.Avocado(self.screen, avocolor, avosize, color, level)
movingAvocados.append(a)
pinnedAvocados += [avo for avo in movingAvocados if avo.isPinned() ]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB