print "__________________________" """ The section below creates the first goal for the snake. Fisrst, the list of babies is searched for the baby that is closest to the snake. next, a path is found to that baby """ for item in babyStarts: Snake_Class.snake.goal_list.append(item) goal_grid = Snake_Class.snake.getDistance(babyStarts) Snake_Class.snake.getGoalGrid(goal_grid) snake_agent = pathfinder.newAgent([ Snake_Class.snake.A[0] / tile_size, (Snake_Class.snake.A[1] + 50) / tile_size ], goal_grid) snake_path = snake_agent.getPath(board) Csnake_agent = pathfinder.newAgent([ Snake_Class.snake.C[0] / tile_size, (Snake_Class.snake.C[1] + 50) / tile_size ], goal_grid) Csnake_path = snake_agent.getPath(board) Cindex = 1 """ Cmove = False Cindex = 1 C_snake_path = [] """
distance = math.sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2) return distance """ The section below creates the first goal for the snake. The list of babies is searched for the baby that is closest to the snake. Then, a path is found to that baby """ for item in babyStarts: Snake_Class.snake.goal_list.append(item) goal_grid = Snake_Class.snake.getDistance(babyStarts) Snake_Class.snake.getGoalGrid(goal_grid) snake_agent = pathfinder.newAgent([Snake_Class.snake.A[0] / tile_size, (Snake_Class.snake.A[1] + 50) / tile_size], goal_grid) snake_path = snake_agent.getPath(board) index = 1 # Used to access item in the snake_path list # PLAY THE GAME while True: # GET EVENTS FROM THE USER for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # IF THE EVENT TYPE IS A KEYDOWN AND THE PLAYER RENDERING HAS COMPLETED... if event.type == pygame.KEYDOWN and player.updated: # LOOK FOR A VALID EVENT FROM THE USER
agent3goal = [20, 17] goals = [agent1goal, agent2goal, agent3goal] # CREATE THE BOARD board = pathfinder.Board( 64, 33 ) #you can input width and height, but it will default to 32 columns by 24 rows if omitted board.generateObstacles(goals) # CREATE OBSTACLES rocks = board.getRocks() cacti = board.getCacti() obstacles = board.getObstacles() # CREATE AGENT OBJECTS AND GET A PATH TO EACH OF THEIR GOALS agent1 = pathfinder.newAgent(agent1start, agent1goal) agent1path = agent1.getPath(board) agent2 = pathfinder.newAgent(agent2start, agent2goal) agent2path = agent2.getPath(board) agent3 = pathfinder.newAgent(agent3start, agent3goal) agent3path = agent3.getPath(board) # DISPLAY VARIABLES board_width = board.getWidth() board_height = board.getHeight() tile_size = 25 margin = 0.5 default_color = colors['light_blue'] agent1_color = colors['green'] agent2_color = colors['yellow'] agent3_color = colors['purple']
F = [450, 450] # Control Point G = [470, 470] # CREATE THE BOARD board = pathfinder.Board(64,33) #you can input width and height, but it will default to 32 columns by 24 rows if omitted board.generateObstacles(goals) # CREATE OBSTACLES rocks = board.getRocks() cacti = board.getCacti() obstacles = board.getObstacles() # CREATE AGENT OBJECTS AND GET A PATH TO EACH OF THEIR GOALS agent1 = pathfinder.newAgent(agent1start,agent1goal) agent1path = agent1.getPath(board) agent2 = pathfinder.newAgent(agent2start,agent2goal) agent2path = agent2.getPath(board) agent3 = pathfinder.newAgent(agent3start,agent3goal) agent3path = agent3.getPath(board) # DISPLAY VARIABLES board_width = board.getWidth() board_height = board.getHeight() tile_size = 25 margin = 0.5 default_color = colors['light_blue'] agent1_color = colors['green'] agent2_color = colors['yellow'] agent3_color = colors['purple']