示例#1
0
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 = []
"""
示例#2
0
	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']