def __init__(self, centroids): self.centroids = centroids Centroid.centroids = centroids Bounds(centroids) Border.reset() # starting over each frame Centroid.reset() # starting over each frame l = len(Centroid.centroids) for n1 in range(1, len(Centroid.centroids)): print '%i/%i' % (n1, l) c1 = Centroid.centroids[n1] # dist-sort, & break when c1 in enclosed others = DistSort(c1, [Centroid.centroids[n2] for n2 in range(n1)]) B = [] for c2 in others: b = Border(c1, c2) for bb in B: if bb.nIntersects < 2: i = b.validate_BorderBorderIntersectPoint(bb) if i and b.nIntersects == 2: break B.append(b) if {bb.nIntersects for bb in B} == {2}: break for c in Centroid.centroids: if not c.isClosed: c.addCornerVert()
def __init__(self, centroids): self.centroids= centroids Centroid.centroids= centroids Bounds(centroids) Border.reset() # starting over each frame Centroid.reset() # starting over each frame for n1 in range(1,len(Centroid.centroids)): c1= Centroid.centroids[n1] # dist-sort, & break when c1 in enclosed others= DistSort(c1, [Centroid.centroids[n2] for n2 in range(n1)] ) B=[] for c2 in others: b= Border(c1,c2) for bb in B: if bb.nIntersects<2: i= b.validate_BorderBorderIntersectPoint(bb) if i and b.nIntersects==2: break B.append(b) if {bb.nIntersects for bb in B}=={2}: break for c in Centroid.centroids: if not c.isClosed: c.addCornerVert()
def __bounded_search(self, prob, strategy, max_depth): """ Method required to do the bounded search. It uses a border, a queue of Nodes that have to be checked. :param prob: Problem Object, used to know if a Node is solution, and get successors. :param strategy: String, Strategy to follow, to get a solution :param max_depth: Integer, Maximum depth that the search tree must reach. :return: The solution, a list of successors to get the objective Node. If the algorithm doesn't find a solution, it returns None. """ border = Border() closed_list = {} # List needed to prune the tree initial_node = Node(prob.initial_state(), 0, None, 0, None, 0) border.InsertNode(initial_node) #closed_list[initial_node.get_state().__str__()] = initial_node.get_value() sol = False while not sol and not border.IsEmpty(): actual_node = border.Delete() if strategy == 'BFS' or strategy == 'DFS': closed_list[actual_node.get_state().__str__()] = actual_node.get_cost() else: closed_list[actual_node.get_state().get_unique_representation()] = actual_node.get_value() if prob.goal_state(actual_node.get_state()): actual_node.get_state().print_terrain() sol = True else: if actual_node.get_depth() < max_depth: successors_list = prob.successors(actual_node.get_state()) for successor in successors_list: new_node = actual_node.create_node(successor, actual_node, strategy, max_depth,prob) # Prune the tree if strategy == 'BFS' or strategy == 'DFS': if new_node.get_state().get_unique_representation() not in closed_list: border.InsertNode(new_node) closed_list[new_node.get_state().get_unique_representation()] = new_node.get_cost() else: if closed_list[new_node.get_state().get_unique_representation()] > new_node.get_cost(): closed_list[new_node.get_state().get_unique_representation()] = new_node.get_cost() border.InsertNode(new_node) else: if new_node.get_state().get_unique_representation() not in closed_list: border.InsertNode(new_node) closed_list[new_node.get_state().get_unique_representation] = new_node.get_value() else: if closed_list[new_node.get_state().get_unique_representation()] > new_node.get_value(): closed_list[new_node.get_state().get_unique_representation()] = new_node.get_value() border.InsertNode(new_node) if sol: print('El costo de la solución es: '+ str(actual_node.get_cost())) print('La profundidad es: ' + str(actual_node.get_depth())) return self.__create_solution(actual_node) else: return None
def __init__(self, type='frame', left=0, top=0, width=0, height=0, bg_color=None, fg_color=None, selected_bg_color=None, selected_fg_color=None, border=None, bd_color=None, bd_width=None, vertical_expansion=0): GUIObject.__init__(self, left, top, width, height, bg_color, fg_color) self.layout_manager = None self.border = border self.bd_color = bd_color self.bd_width = bd_width self.vertical_expansion = vertical_expansion self.internal_h_align = Align.LEFT self.internal_v_align = Align.TOP self.h_spacing = self.h_margin self.v_spacing = self.v_margin if type == 'widget': ci = self.content_layout.types['selected'].rectangle self.selected_bg_color = selected_bg_color or Color(ci.bgcolor) self.selected_fg_color = selected_fg_color or Color(ci.color) if not self.bd_color: self.bd_color = Color(self.skin_info_widget.rectangle.color) if not self.bd_width: self.bd_width = self.skin_info_widget.rectangle.size if not self.border: self.border = Border(self, Border.BORDER_FLAT, self.bd_color, self.bd_width) elif border == -1: self.border = None
def init(self): pygame.mixer.music.load('music/snakeMusic.mp3') pygame.mixer.music.play(-1) self.bgColor = (255, 255, 255) self.gameOver = True # Snake Snake.init() self.snakeGroup = pygame.sprite.Group() self.snakeList = [] # Snake movement self.counter = 0 self.isMoveRight = True self.snakeLength = 4 self.snakeSize = 14 self.timer = 0 # Border Border.init() self.blockGroup = pygame.sprite.Group() # Barrier Barrier.init() self.barrierGroup = pygame.sprite.Group() self.collideBarrier = (0, 0) self.points = 0 # Food Food.init() # Block Block.init() # Initialize the snakeGroup for i in range(self.snakeLength): snake = Snake(self.width // 2, self.height // 2 + self.snakeSize * i) self.snakeGroup.add(snake) self.snakeList.append(snake) # Initialize the foodGroup self.foodGroup = pygame.sprite.Group() # Initialize the borderGroup self.borderGroup = pygame.sprite.Group( Border(self.width // 2, self.height + 300, self.width, self.height)) # GameOver Image self.GGImage = pygame.image.load('images/gameover.png').convert_alpha() self.GGImage = pygame.transform.scale(self.GGImage, (1920, 1080)) self.GGrect = self.GGImage.get_rect()
def __init__(self): self.screen = pygame.display.set_mode((1050, 450)) self.screen.fill((255, 255, 255)) self.space = pymunk.Space() self.clock = pygame.time.Clock() # self.moment = pymunk.moment_for_box(1000000, (800,400)) # self.body = pymunk.Body(1000000, self.moment) # self.shape = pymunk.Poly(self.body, ((0,0), (800,0),(800,400), (0,400))) # # self.shape.friction = 0 # self.body.position = (0,0) # self.space.add(self.body, self.shape) self.space.damping = 0.8 self.textStatus = "Angle" self.angle = 0 self.power = 0 self.angleEntered = False self.powerEntered = False self.label = pygame.font.Font(None, 32) self.textinput = TextInput() p1 = Pocket(self.space, (24, -12), math.pi / 4) p2 = Pocket(self.space, (24, -12 + 402), math.pi / 4) p3 = Pocket(self.space, (24 + 802, -12), math.pi / 4) p4 = Pocket(self.space, (24 + 802, -12 + 402), math.pi / 4) p5 = Pocket(self.space, (400, -25), 0) p6 = Pocket(self.space, (400, 425), 0) b1 = Border(self.space, (0, 415), 0) b2 = Border(self.space, (0, -35), 1) b3 = Border(self.space, (0, -35 - 380 - 20), 1) b4 = Border(self.space, (-850, -35), 2) b5 = Border(self.space, (-450 - 1, 415), 3) b6 = Border(self.space, (-450 - 1, 415 + 380 + 20), 3)
def __init__(self, gui, players, game_mode): """ Constructor. :param gui: The game's Graphical User Interface :param players: A list of the players currently playing in the round :param game_mode: The current game mode (either 'singleplayer' or 'multiplayer') """ self.__gui = gui self.__clock = pygame.time.Clock() self.__players = players self.__game_mode = game_mode self.__foods = [] self.__border = Border(SCREEN_SIZE, GRID_SIZE) self.__score_bar = ScoreBar((15, 10)) self.__high_score_bar = HighScoreBar((125, 10)) pygame.joystick.init() # NOTE: --- Change the amount of food that is on the screen here (max is 2000) --- food_amt = 4 for i in range(food_amt): self.__foods.append(Food(self.get_rand_pos()))
def __init__(self, node): ''' Load a room object from the XML A room contains lists of items and borders ''' self.name = node.find("name").text if node.find("action") != None: self.action = node.find("action").text else: self.action = None self.description = node.find("description").text self.items = [] # Get items list for i in node.findall("./item"): self.items.append(i.text + "\n") # get borders self.borders = [] for i in node.findall("./border"): b = Border(i) self.borders.append(b)
def __init__(self, root): # 地图投影 self.projection = Projection(root[0]) # 边界集合 bordersleaf = root[0].find('Borders').getchildren() self.borders = [] for borderleaf in bordersleaf: self.borders.append(Border(borderleaf)) # clip区域集合 clipsleaf = root[0].find('ClipBorders').getchildren() self.clipborders = [] for clipleaf in clipsleaf: self.clipborders.append(ClipBorder(clipleaf)) # 站点文件 from Stations import Stations self.stations = Stations(root[0]) pass
class GameLoop: """ The main loop of the game. Calculates all of the non-visual logic during game play. """ # Member variables __gui = None # The game's Graphical User Interface __clock = None # The game clock used to set the fps of the game __joysticks = None # A list of all the joysticks currently connected to the computer __players = None # A list of the players currently playing in the round __game_mode = None # The current game mode (either 'singleplayer' or 'multiplayer') __foods = None # A list of food objects __border = None # The border object __score_bar = None # The score bar object def __init__(self, gui, players, game_mode): """ Constructor. :param gui: The game's Graphical User Interface :param players: A list of the players currently playing in the round :param game_mode: The current game mode (either 'singleplayer' or 'multiplayer') """ self.__gui = gui self.__clock = pygame.time.Clock() self.__players = players self.__game_mode = game_mode self.__foods = [] self.__border = Border(SCREEN_SIZE, GRID_SIZE) self.__score_bar = ScoreBar((15, 10)) self.__high_score_bar = HighScoreBar((125, 10)) pygame.joystick.init() # NOTE: --- Change the amount of food that is on the screen here (max is 2000) --- food_amt = 4 for i in range(food_amt): self.__foods.append(Food(self.get_rand_pos())) def run(self): """ Run the logic of the loop. """ do_count_down = True running = True while running: # Clear the screen self.__gui.clear() # Event handler for event in pygame.event.get(): # Key events if event.type == pygame.KEYDOWN: for player in self.__players: if player.is_alive(): if player.can_turn(): key = event.key if key == player.up_button: if player.get_direction() != DOWN: player.set_direction(UP) player.set_turning(False) elif key == player.left_button: if player.get_direction() != RIGHT: player.set_direction(LEFT) player.set_turning(False) elif key == player.down_button: if player.get_direction() != UP: player.set_direction(DOWN) player.set_turning(False) elif key == player.right_button: if player.get_direction() != LEFT: player.set_direction(RIGHT) player.set_turning(False) # Joystick events if event.type == pygame.JOYHATMOTION: for player in self.__players: if player.is_alive(): if player.can_turn(): if player.get_joystick() is not None: if event.joy == player.get_joystick( ).get_id(): x_axis, y_axis = event.value if y_axis == 1: if player.get_direction() != DOWN: player.set_direction(UP) player.set_turning(False) elif x_axis == -1: if player.get_direction() != RIGHT: player.set_direction(LEFT) player.set_turning(False) elif y_axis == -1: if player.get_direction() != UP: player.set_direction(DOWN) player.set_turning(False) elif x_axis == 1: if player.get_direction() != LEFT: player.set_direction(RIGHT) player.set_turning(False) # Quit event if event.type == pygame.QUIT: pygame.quit() exit() # Player mechanics for player in self.__players: if player.is_alive(): # Move the snake player.move() # Make it so the player can turn again player.set_turning(True) # Check for collisions with self and border if player.is_colliding(self.__border.get_positions() + player.get_body_positions()[1:]): player.kill() self.__players.remove(player) # Check for collisions with other players for other_player in self.__players: if other_player == player: continue else: if player.is_colliding( other_player.get_body_positions()): player.kill() self.__players.remove(player) # Check for collisions with the food pieces for food in self.__foods: if player.is_colliding([food.get_pos()]): # Move the food food.set_pos(self.get_rand_pos()) # Add a new body segment to the snake player.add_segment() # Update the score self.__score_bar.increment() self.__high_score_bar.update( self.__score_bar.get_score()) # Draw each player self.__gui.draw(player) # Draw all of the game objects self.__gui.draw(self.__foods) self.__gui.draw(self.__border) if self.__game_mode == 'singleplayer': self.__gui.draw(self.__score_bar) self.__gui.draw(self.__high_score_bar) # Update the screen self.__gui.update() # NOTE: --- Change the speed of the snakes here (frames per second) --- # Set the speed of each frame self.__clock.tick(10) # Check for a singleplayer game over if self.__game_mode == 'singleplayer': if len(self.__players) == 0: self.__high_score_bar.save() self.__gui.game_over(None, (255, 255, 255), self.__game_mode) running = False # Check for a winner if self.__game_mode == 'multiplayer': if len(self.__players) == 1: self.__gui.game_over(self.__players[0].get_name(), self.__players[0].get_color(), self.__game_mode) running = False # Do the countdown at the beginning of the round if do_count_down: self.__gui.count_down() do_count_down = False @staticmethod def get_rand_pos(): """ Returns a random position on the screen that isi within the bounds of the play area. :return: A tuple containing an xy position on the screen """ return random.randint( 1, SCREEN_SIZE // GRID_SIZE - 2) * GRID_SIZE, random.randint( 1, SCREEN_SIZE // GRID_SIZE - 2) * GRID_SIZE
display.fill(Colors.WHITE) #GeneratePlayers ComputerPlayer = Player(Colors.BLUE, Constants.RACKET_OFFSET, Constants.RACKET_START_HEIGHT, Constants.RACKET_WIDTH, Constants.RACKET_HEIGHT, display, False) HumanPlayer = Player( Colors.BLUE, Constants.DISPLAY_WIDTH - Constants.RACKET_OFFSET - Constants.RACKET_WIDTH, Constants.RACKET_START_HEIGHT, Constants.RACKET_WIDTH, Constants.RACKET_HEIGHT, display, True) Ball = PongBall(Colors.RED, Constants.PONG_START_X, Constants.PONG_START_Y, Constants.PONG_RADIUS, display) Border = Border(Constants.BORDER_X, Constants.BORDER_Y) Grid = EventManager(ComputerPlayer, HumanPlayer, Ball, display) # Run until the user asks to quit FPS = 25 clock = pygame.time.Clock() running = True pressed_up = False pressed_down = False while running: #Did the user click the window close button? for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: # check for key presses
def initMap(map): # map.states.append("North Carolina") # map.states.append("South Carolina") # map.states.append("Virginia") # map.states.append("Tennessee") # map.states.append("Kentucky") # map.states.append("West Virginia") # map.states.append("Georgia") # map.states.append("Alabama") # map.states.append("Mississippi") # map.states.append("Florida") # # map.borders.append(Border(0, 1)) # map.borders.append(Border(0, 2)) # map.borders.append(Border(0, 3)) # map.borders.append(Border(0, 6)) # map.borders.append(Border(1, 6)) # map.borders.append(Border(2, 3)) # map.borders.append(Border(2, 4)) # map.borders.append(Border(2, 5)) # map.borders.append(Border(3, 4)) # map.borders.append(Border(3, 6)) # map.borders.append(Border(3, 7)) # map.borders.append(Border(3, 8)) # map.borders.append(Border(4, 5)) # map.borders.append(Border(6, 7)) # map.borders.append(Border(6, 9)) # map.borders.append(Border(7, 8)) # map.borders.append(Border(7, 9)) ##################################################51 states######################################### map.states.append("AK") # 0 map.borders.append(Border(0, 1)) map.states.append("WA") # 1 map.borders.append(Border(1, 2)) map.borders.append(Border(1, 3)) map.states.append("ID") # 2 map.borders.append(Border(2, 4)) map.borders.append(Border(2, 5)) map.borders.append(Border(2, 6)) map.borders.append(Border(2, 7)) map.borders.append(Border(2, 3)) map.states.append("OR") # 3 map.borders.append(Border(3, 7)) map.borders.append(Border(3, 8)) map.states.append("MT") # 4 map.borders.append(Border(4, 9)) map.borders.append(Border(4, 10)) map.borders.append(Border(4, 5)) map.states.append("WY") # 5 map.borders.append(Border(5, 10)) map.borders.append(Border(5, 11)) map.borders.append(Border(5, 12)) map.borders.append(Border(5, 6)) map.states.append("UT") # 6 map.borders.append(Border(6, 12)) map.borders.append(Border(6, 13)) map.borders.append(Border(6, 14)) map.borders.append(Border(6, 7)) map.states.append("NV") # 7 map.borders.append(Border(7, 14)) map.borders.append(Border(7, 8)) map.states.append("CA") # 8 map.borders.append(Border(8, 14)) map.borders.append(Border(8, 15)) map.states.append("ND") # 9 map.borders.append(Border(9, 16)) map.borders.append(Border(9, 10)) map.states.append("SD") # 10 map.borders.append(Border(10, 16)) map.borders.append(Border(10, 17)) map.borders.append(Border(10, 11)) map.states.append("NE") # 11 map.borders.append(Border(11, 17)) map.borders.append(Border(11, 19)) map.borders.append(Border(11, 18)) map.borders.append(Border(11, 12)) map.states.append("CO") # 12 map.borders.append(Border(12, 19)) map.borders.append(Border(12, 20)) map.borders.append(Border(12, 13)) map.borders.append(Border(12, 14)) map.states.append("NM") # 13 map.borders.append(Border(13, 20)) map.borders.append(Border(13, 21)) map.borders.append(Border(13, 14)) map.states.append("AZ") # 14 map.states.append("HI") # 15 map.states.append("MN") # 16 map.borders.append(Border(16, 22)) map.borders.append(Border(16, 17)) map.states.append("IA") # 17 map.borders.append(Border(17, 22)) map.borders.append(Border(17, 23)) map.borders.append(Border(17, 18)) map.states.append("MO") # 18 map.borders.append(Border(18, 23)) map.borders.append(Border(18, 24)) map.borders.append(Border(18, 25)) map.borders.append(Border(18, 20)) map.borders.append(Border(18, 19)) map.states.append("KS") # 19 map.borders.append(Border(19, 20)) map.states.append("OK") # 20 map.borders.append(Border(20, 26)) map.borders.append(Border(20, 21)) map.states.append("TX") # 21 map.borders.append(Border(21, 26)) map.borders.append(Border(21, 27)) map.states.append("WI") # 22 map.borders.append(Border(22, 28)) map.borders.append(Border(22, 23)) map.states.append("IL") # 23 map.borders.append(Border(23, 29)) map.borders.append(Border(23, 24)) map.states.append("KY") # 24 map.borders.append(Border(24, 30)) map.borders.append(Border(24, 31)) map.borders.append(Border(24, 32)) map.borders.append(Border(24, 25)) map.borders.append(Border(24, 29)) map.states.append("TN") # 25 map.borders.append(Border(25, 32)) map.borders.append(Border(25, 33)) map.borders.append(Border(25, 33)) map.borders.append(Border(25, 34)) map.borders.append(Border(25, 35)) map.borders.append(Border(25, 36)) map.borders.append(Border(25, 26)) map.states.append("AR") # 26 map.borders.append(Border(26, 36)) map.borders.append(Border(26, 27)) map.states.append("LA") # 27 map.borders.append(Border(27, 36)) map.states.append("MI") # 28 map.borders.append(Border(28, 30)) map.borders.append(Border(28, 29)) map.states.append("IN") # 29 map.borders.append(Border(29, 30)) map.states.append("OH") # 30 map.borders.append(Border(30, 37)) map.borders.append(Border(30, 31)) map.states.append("WV") # 31 map.borders.append(Border(31, 37)) map.borders.append(Border(31, 38)) map.borders.append(Border(31, 32)) map.states.append("VA") # 32 map.borders.append(Border(32, 38)) map.borders.append(Border(32, 39)) map.borders.append(Border(32, 33)) map.states.append("NC") # 33 map.borders.append(Border(33, 40)) map.borders.append(Border(33, 34)) map.states.append("GA") # 34 map.borders.append(Border(34, 40)) map.borders.append(Border(34, 41)) map.borders.append(Border(34, 35)) map.states.append("AL") # 35 map.borders.append(Border(35, 41)) map.borders.append(Border(35, 36)) map.states.append("MS") # 36 map.states.append("PA") # 37 map.borders.append(Border(37, 42)) map.borders.append(Border(37, 44)) map.borders.append(Border(37, 43)) map.borders.append(Border(37, 38)) map.states.append("MD") # 38 map.borders.append(Border(38, 44)) map.borders.append(Border(38, 39)) map.states.append("DC") # 39 map.states.append("SC") # 40 map.states.append("FL") # 41 map.states.append("NY") # 42 map.borders.append(Border(42, 45)) map.borders.append(Border(42, 46)) map.borders.append(Border(42, 47)) map.borders.append(Border(42, 43)) map.states.append("NJ") # 43 map.borders.append(Border(43, 47)) map.borders.append(Border(43, 44)) map.states.append("DE") # 44 map.states.append("VT") # 45 map.borders.append(Border(45, 48)) map.borders.append(Border(45, 46)) map.states.append("MA") # 46 map.borders.append(Border(46, 48)) map.borders.append(Border(46, 47)) map.borders.append(Border(46, 49)) map.states.append("CT") # 47 map.borders.append(Border(47, 49)) map.states.append("NH") # 48 map.borders.append(Border(48, 50)) map.states.append("RI") # 49 map.states.append("ME") # 50
class Container(GUIObject): """ """ def __init__(self, type='frame', left=0, top=0, width=0, height=0, bg_color=None, fg_color=None, selected_bg_color=None, selected_fg_color=None, border=None, bd_color=None, bd_width=None, vertical_expansion=0): GUIObject.__init__(self, left, top, width, height, bg_color, fg_color) self.layout_manager = None self.border = border self.bd_color = bd_color self.bd_width = bd_width self.vertical_expansion = vertical_expansion self.internal_h_align = Align.LEFT self.internal_v_align = Align.TOP self.h_spacing = self.h_margin self.v_spacing = self.v_margin if type == 'widget': ci = self.content_layout.types['selected'].rectangle self.selected_bg_color = selected_bg_color or Color(ci.bgcolor) self.selected_fg_color = selected_fg_color or Color(ci.color) if not self.bd_color: self.bd_color = Color(self.skin_info_widget.rectangle.color) if not self.bd_width: self.bd_width = self.skin_info_widget.rectangle.size if not self.border: self.border = Border(self, Border.BORDER_FLAT, self.bd_color, self.bd_width) elif border == -1: self.border = None def set_layout(self, layout=None): if not layout: layout = FlowLayout(self) self.layout_manager = layout def get_layout(self): return self.layout_manager def layout(self): if not self.layout_manager: self.layout_manager = FlowLayout(self) self.layout_manager.layout() def _draw(self): _debug_('Container::draw %s' % self, 2) for child in self.children: if not child == self.border: child.draw() if self.border and self.border != -1: self.border.draw()
from Tail import Tail from sketch import Sketch delay = 0.001 start_tail = 1 score = 0 # Set up the screen screen = turtle.Screen() screen.setup(width=1000, height=600) # SNAKE PART # Snake head snake = Snake() snakehead = snake.snakehead() # long border bor = Border() border = bor.setUpBorder() # Snake tail segments = [] # Paddle # You can move the paddle with 'z' and 's' pad = Paddle() paddle = pad.paddle() # Ball of circle shape Ball = Ball() # Global part #Sets key bindings to the right thing. bindings = Bindings(screen, snakehead, paddle) bindings.Keyboard_bindings() #movement of the snakehead
class Container(GUIObject): """ """ def __init__(self, type='frame', left=0, top=0, width=0, height=0, bg_color=None, fg_color=None, selected_bg_color=None, selected_fg_color=None, border=None, bd_color=None, bd_width=None, vertical_expansion=0): GUIObject.__init__(self, left, top, width, height, bg_color, fg_color) self.layout_manager = None self.border = border self.bd_color = bd_color self.bd_width = bd_width self.vertical_expansion = vertical_expansion self.internal_h_align = Align.LEFT self.internal_v_align = Align.TOP self.h_spacing = self.h_margin self.v_spacing = self.v_margin if type == 'widget': ci = self.content_layout.types['selected'].rectangle self.selected_bg_color = selected_bg_color or Color(ci.bgcolor) self.selected_fg_color = selected_fg_color or Color(ci.color) if not self.bd_color: self.bd_color = Color(self.skin_info_widget.rectangle.color) if not self.bd_width: self.bd_width = self.skin_info_widget.rectangle.size if not self.border: self.border = Border(self, Border.BORDER_FLAT, self.bd_color, self.bd_width) elif border == -1: self.border = None def set_layout(self, layout=None): if not layout: layout = FlowLayout(self) self.layout_manager = layout def get_layout(self): return self.layout_manager def layout(self): if not self.layout_manager: self.layout_manager = FlowLayout(self) self.layout_manager.layout() def _draw(self): logger.log( 9, 'Container::draw %s', self) for child in self.children: if not child == self.border: child.draw() if self.border and self.border != -1: self.border.draw()
# =================== # INITIALIZATION # =================== pygame.init() pygame.mixer.init() # GLOBAl VARIABLES screen = pygame.display.set_mode((800, 800)) font = pygame.font.Font('slkscrb.ttf', 40) player_image = pygame.image.load("icon00.png") qix_image = pygame.image.load("icon10.png") sparc_image = pygame.image.load("icon20.png") player = Player(player_image) border = Border() qix = Qix(qix_image) sparc = Sparx(sparc_image) level = 1 game_start = False running_end = False game_over = False running = True # ============================= # MAIN FUNCTION STARTS HERE # ============================= while running: # START SCREEN
def initMap(map): map.states.append("North Carolina") map.states.append("South Carolina") map.states.append("Virginia") map.states.append("Tennessee") map.states.append("Kentucky") map.states.append("West Virginia") map.states.append("Georgia") map.states.append("Alabama") map.states.append("Mississippi") map.states.append("Florida") map.borders.append(Border(0, 1)) map.borders.append(Border(0, 2)) map.borders.append(Border(0, 3)) map.borders.append(Border(0, 6)) map.borders.append(Border(1, 6)) map.borders.append(Border(2, 3)) map.borders.append(Border(2, 4)) map.borders.append(Border(2, 5)) map.borders.append(Border(3, 4)) map.borders.append(Border(3, 6)) map.borders.append(Border(3, 7)) map.borders.append(Border(3, 8)) map.borders.append(Border(4, 5)) map.borders.append(Border(6, 7)) map.borders.append(Border(6, 9)) map.borders.append(Border(7, 8)) map.borders.append(Border(7, 9))