# Move to the red X mark while avoiding the yaks. # use Vector.normalize(vector1) to create a vector in the same direction as vector1, but with a distance of 1 # use Vector.multiply(vector1, X) to create a vector in the same direction as vector1, but with its distance multiplied by X # The point you want to get to. goalPoint = Vector(78, 34) while True: # This creates a vector that will move you 10 meters toward the goalPoint # First, create a vector from your hero to the goal point. goal = Vector.subtract(goalPoint, hero.pos) # Then, normalize it into a 1m distance vector goal = Vector.normalize(goal) # Finally, multiply the 1m vector by 10, to get a 10m long vector. goal = Vector.multiply(goal, 10) # To avoid the yaks, if you get within 10 meters of a yak, you should vector away from it. yak = hero.findNearest(hero.findEnemies()) distance = hero.distanceTo(yak) if distance < 10: # First, make a Vector from the yak to you Vector.normalize(goal) # Now use Vector.normalize and Vector.multiply to make it 10m long Vector.multiply(goal, 10) # Once you have the 10m vector away from the yak, use Vector.add to add it to your goal vector! goal = Vector.add(goal, yakvector) pass # Finally, determine where to move by adding your goal vector to your current position. moveToPos = Vector.add(hero.pos, goal) hero.move(moveToPos)
As I mentioned before, please be sure to explain what goes wrong. But this time, I’ll help you.
You haven’t done that step. Do vector.subtract and make it a variable.
Vector??? It doesn’t do anything. Use the variable that you made from getting the vector from the yak to your hero and normalize that.
Same thing, Vector won’t do anything, use the variable to to multiply it.
What is yakvector? You haven’t defined it anywhere meaning it doesn’t have any property or existence in this code. Instead use the variable in where it says to make a vector from the yak to your hero.