|
|
AMazeBot 2016 Workshop #1 Code
// AMazeBot 2016 Sample bot - WorkShop#1 - Distance calculations
//
package bots.WorkShopBot_1;
import amazebot2016.*;
import amazebot2016.utils.Compass;
import java.awt.Point;
public class Brain extends BotBrain {
@Override
public String getName() {
return "WorkShopBot_1";
}
@Override
public void run() {
Point goal = this.getGoalCorner();
while (true) {
// Calculate the distance from a Point to the goal for
// 4 different options
Point pos = getPosition();
Point eastPoint = new Point(pos.x + 1, pos.y);
Point northPoint = new Point(pos.x, pos.y - 1);
Point westPoint = new Point(pos.x - 1, pos.y);
Point southPoint = new Point(pos.x, pos.y + 1);
double distanceEast = goal.distance(eastPoint);
double distanceNorth = goal.distance(northPoint);
double distanceWest = goal.distance(westPoint);
double distanceSouth = goal.distance(southPoint);
boolean moved = false;
if (distanceEast < distanceNorth
&& distanceEast < distanceWest
&& distanceEast < distanceSouth) {
// East is best
moved = move(Compass.EAST);
}
if (!moved
&& distanceNorth < distanceWest
&& distanceNorth < distanceSouth) {
moved = move(Compass.NORTH);
}
if (!moved
&& distanceWest < distanceSouth) {
moved = move(Compass.WEST);
} else if (!moved) {
moved = move(Compass.SOUTH);
}
}
}
}
Although we have planned topics for each workshop, we generally try to ensure some time is available for answering any student questions. |
|
|
AMazeBot is © 2003-2016
Mohawk
College.
|