Agent Moves
Introduction
Get your agent to move. In this tutorial you give your Agent some turns and moves to really dance!
Step 1
Bring your Agent near you so you can watch it dance. Teleport the Agent to your position but move it forward by 3
.
Run the program and look to see that your Agent comes close to your position.
agent.teleport_to_player()
agent.move(FORWARD, 3)
Step 2
To make the first dance move, add in an if else. When the condition in the if is true, have the Agent move forward by 1
. Otherwise, for else, have the Agent move back by 1
.
agent.teleport_to_player()
agent.move(FORWARD, 3)
if True:
agent.move(FORWARD, 1)
else:
agent.move(BACK, 1)
Step 3
Add another if else below the previous one. For the case when condition in the if is true, have the Agent turn right. For the else, have the Agent turn to the left.
agent.teleport_to_player()
agent.move(FORWARD, 3)
if True:
agent.move(FORWARD, 1)
else:
agent.move(BACK, 1)
if True:
agent.turn_right()
else:
agent.turn_left()
Step 4
Well, these moves are fairly predicable. Add some randomness to the Agent’s moves. Replace the true in both of the if conditions with a random logic value. Set the condition as a comparison of a random number between 0
and 1
. Make the comparison a check to see that the random number is greater than 0
.
agent.teleport_to_player()
agent.move(FORWARD, 3)
if randint(0, 1) > 0:
agent.move(FORWARD, 1)
else:
agent.move(BACK, 1)
if randint(0, 1) > 0:
agent.turn_right()
else:
agent.turn_left()
Step 5
The Agent can now make one random dance move. Make the Agent really get the moves going by repeating them in a loop. Put the two if else portions of the program in a for loop. Have the loop repeat 25
times.
agent.teleport_to_player()
agent.move(FORWARD, 3)
for index in range(25):
if randint(0, 1) > 0:
agent.move(FORWARD, 1)
else:
agent.move(BACK, 1)
if randint(0, 1) > 0:
agent.turn_right()
else:
agent.turn_left()
Step 6
Wow, that was a fast dance! The Agent can really bust a move. Add a pause to slow the Agent down. Set the pause time to 250
milliseconds.
agent.teleport_to_player()
agent.move(FORWARD, 3)
for index in range(25):
if randint(0, 1) > 0:
agent.move(FORWARD, 1)
else:
agent.move(BACK, 1)
if randint(0, 1) > 0:
agent.turn_right()
else:
agent.turn_left()
loops.pause(250)