def getMBoard(self): self.mboard_text = [] self.mboard_rect = pygame.Rect(440, 60, 120, 60) self.mboard_bgcolor = pygame.Color(50, 20, 0) return MessageBoard(self.screen, rect=self.mboard_rect, bgcolor=self.mboard_bgcolor, border_width=4, border_color=pygame.Color('black'), text=self.mboard_text, font=('verdana', 16), font_color=pygame.Color('white'))
def getTboard(self, text): self.tboard_text = [text] self.tboard_rect = pygame.Rect(20, 20, self.field_outer_width, 30) self.tboard_bgcolor = pygame.Color(50, 20, 0) return MessageBoard(self.screen, rect=self.tboard_rect, bgcolor=self.tboard_bgcolor, border_width=4, border_color=black, text=self.tboard_text, font=('tahoma', 18), font_color=yellow)
def getTboard(self): self.tboard_text = ['The amazing Creeps!'] self.tboard_rect = pygame.Rect(20, 20, self.field_outer_width, 30) self.tboard_bgcolor = pygame.Color(50, 20, 0) return MessageBoard(self.screen, rect=self.tboard_rect, bgcolor=self.tboard_bgcolor, border_width=4, border_color=pygame.Color('black'), text=self.tboard_text, font=('tahoma', 18), font_color=pygame.Color('yellow'))
def __init__(self): pygame.init() self.screen = pygame.display.set_mode( (self.SCREEN_WIDTH, self.SCREEN_HEIGHT), 0, 32) self.tile_img = pygame.image.load(self.BG_TILE_IMG).convert_alpha() self.tile_img_rect = self.tile_img.get_rect() self.field_border_width = 4 field_outer_width = self.FIELD_SIZE[0] + 2 * self.field_border_width field_outer_height = self.FIELD_SIZE[1] + 2 * self.field_border_width self.field_rect_outer = Rect(20, 60, field_outer_width, field_outer_height) self.field_bgcolor = Color(109, 41, 1, 100) self.field_border_color = Color(0, 0, 0) self.field_box = Box(self.screen, rect=self.field_rect_outer, bgcolor=self.field_bgcolor, border_width=self.field_border_width, border_color=self.field_border_color) self.tboard_text = ['The amazing Creeps!'] self.tboard_rect = Rect(20, 20, field_outer_width, 30) self.tboard_bgcolor = Color(50, 20, 0) self.tboard = MessageBoard(self.screen, rect=self.tboard_rect, bgcolor=self.tboard_bgcolor, border_width=4, border_color=Color('black'), text=self.tboard_text, font=('tahoma', 18), font_color=Color('yellow')) self.mboard_text = [] self.mboard_rect = Rect(440, 60, 120, 60) self.mboard_bgcolor = Color(50, 20, 0) self.mboard = MessageBoard(self.screen, rect=self.mboard_rect, bgcolor=self.mboard_bgcolor, border_width=4, border_color=Color('black'), text=self.mboard_text, font=('verdana', 16), font_color=Color('white')) self.clock = pygame.time.Clock() self.paused = False self.creep_images= [ ( pygame.image.load(f1).convert_alpha(), pygame.image.load(f2).convert_alpha()) for (f1, f2) in self.CREEP_FILENAMES] explosion_img = pygame.image.load('images/explosion1.png').convert_alpha() self.explosion_images = [ explosion_img, pygame.transform.rotate(explosion_img, 90)] self.field_rect = self.get_field_rect() self.entrance_rect = Rect( self.field_rect.left, self.field_rect.top, self.GRID_SIZE * 2, self.GRID_SIZE * 2) self.exit_rect = Rect( self.field_rect.right - self.GRID_SIZE * 2, self.field_rect.bottom - self.GRID_SIZE * 2, self.GRID_SIZE * 2, self.GRID_SIZE * 2) # Create the creeps group and the first creep self.creeps = pygame.sprite.Group() self.spawn_new_creep() self.creep_spawn_timer = Timer(500, self.spawn_new_creep) self.create_walls() # Create the grid-path representation of the field # self.grid_nrows = self.FIELD_SIZE[1] / self.GRID_SIZE self.grid_ncols = self.FIELD_SIZE[0] / self.GRID_SIZE self.goal_coord = (self.grid_nrows - 1, self.grid_ncols - 1) self.gridpath = GridPath( nrows=self.grid_nrows, ncols=self.grid_ncols, goal=self.goal_coord) for wall in self.walls: self.gridpath.set_blocked(wall) self.options = dict( draw_grid=False)
def __init__(self): pygame.init() print "Pygame started." #set up screen and background self.screen = pygame.display.set_mode( (self.SCREEN_WIDTH, self.SCREEN_HEIGHT), 0, 32) self.tile_img = pygame.image.load(self.BG_TILE_IMG).convert_alpha() self.tile_img_rect = self.tile_img.get_rect() #Drawing a handy MessageBoard widget #Can use these for any text. print "Configuring tboard MessageBoard params." self.tboard_text = ['This is a test.'] self.tboard_x = 120 self.tboard_y = 120 self.tboard_width = 125 self.tboard_height = 30 self.tboard_rect = Rect(self.tboard_x, self.tboard_y, self.tboard_width, self.tboard_height) self.tboard_bgcolor = Color(50, 20, 0) self.tboard = MessageBoard(self.screen, rect=self.tboard_rect, bgcolor=self.tboard_bgcolor, border_width=4, border_color=Color('black'), text=self.tboard_text, padding=5, font=('comic sans', 18), font_color=Color('yellow')) print "Moving on to buttons..." self.button_bgimgs = ['images/x.png'] #self.button_width = self.button_bgimgs[0].get_width() #self.button_height = self.button_bgimgs[0].get_height() #hopefully this will draw the button -15 pixels from the right end, +15 from the top #(hopefully giving us a nice X) # should be replaced in the future with a method that returns the coords for an x button # in whatever corner we want. #self.button_rect = Rect(self.tboard_width, self.tboard_y-15, self.button_width, self.button_height) self.button = Button(self.screen, pos=vec2d(self.tboard_width, self.tboard_y-15), btntype='Close', imgnames=self.button_bgimgs, attached=self.tboard) print "Created close button." #setting up our toggle button self.togglebtn_bgimgs = ['images/toggle1.png', 'images/toggle2.png'] self.togglebtn = Button(self.screen, pos=vec2d(250, 250), btntype='Toggle', imgnames=self.togglebtn_bgimgs, attached="") print "Created toggle button." self.buttons = [self.button, self.togglebtn] self.clock = pygame.time.Clock() self.paused = False #spawning entities #Setting up gamefield #need a method for dynamically figuring out how many rows/columns we need based on #the spacing we want and field size. Using some constants for now. self.grid_nrows = 30 self.grid_ncols = 30 self.field_rect = Rect(0, 0, self.SCREEN_WIDTH, self.SCREEN_HEIGHT) self.options = dict(debug=True, draw_grid=False) print "Done setting game options, exiting Game init."