You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.8 KiB

__author__ = 'marble_xu'
from .. import setup, tools
from .. import constants as c
from ..components import info
class LoadScreen(tools.State):
def __init__(self):
tools.State.__init__(self)
self.time_list = [2400, 2600, 2635]
def startup(self, current_time, persist):
self.start_time = current_time
self.persist = persist
self.game_info = self.persist
self.next = self.set_next_state()
info_state = self.set_info_state()
self.overhead_info = info.Info(self.game_info, info_state)
def set_next_state(self):
return c.LEVEL
def set_info_state(self):
return c.LOAD_SCREEN
def update(self, surface, keys, current_time):
if (current_time - self.start_time) < self.time_list[0]:
surface.fill(c.BLACK)
self.overhead_info.update(self.game_info)
self.overhead_info.draw(surface)
elif (current_time - self.start_time) < self.time_list[1]:
surface.fill(c.BLACK)
elif (current_time - self.start_time) < self.time_list[2]:
surface.fill((106, 150, 252))
else:
self.done = True
class GameOver(LoadScreen):
def __init__(self):
LoadScreen.__init__(self)
self.time_list = [3000, 3200, 3235]
def set_next_state(self):
return c.MAIN_MENU
def set_info_state(self):
return c.GAME_OVER
class TimeOut(LoadScreen):
def __init__(self):
LoadScreen.__init__(self)
self.time_list = [2400, 2600, 2635]
def set_next_state(self):
if self.persist[c.LIVES] == 0:
return c.GAME_OVER
else:
return c.LOAD_SCREEN
def set_info_state(self):
return c.TIME_OUT