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 __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): 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, 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, 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, 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, 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
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
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
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))