summaryrefslogtreecommitdiff
path: root/src/Q9/MovingRobot.java
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2019-08-05 13:46:34 -0600
committermo khan <mo@mokhan.ca>2019-08-05 13:46:34 -0600
commit775ea70300ff438c0cf4179691253f413dfa0871 (patch)
treeef7a335efb15e769a748113b977d1cfec22d6ccd /src/Q9/MovingRobot.java
parent1f5a1647eb36793e06b9136c877941e626d4221b (diff)
move printGrid to Robot
Diffstat (limited to 'src/Q9/MovingRobot.java')
-rw-r--r--src/Q9/MovingRobot.java29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/Q9/MovingRobot.java b/src/Q9/MovingRobot.java
index 334041d..03d67c9 100644
--- a/src/Q9/MovingRobot.java
+++ b/src/Q9/MovingRobot.java
@@ -5,9 +5,11 @@ import java.util.*;
public class MovingRobot extends Robot {
private ArrayList<Integer> moves = new ArrayList<Integer>();
private int nextMove;
+ private Random rng;
public MovingRobot(int x, int y) {
super(x, y);
+ this.rng = new Random();
}
public boolean validateNextMove() {
@@ -31,34 +33,20 @@ public class MovingRobot extends Robot {
case Robot.WEST:
return canMoveWest();
case Robot.NORTH_WEST:
- return canMoveWest() && canMoveNorth();
+ return canMoveNorth() && canMoveWest();
default:
return false;
}
}
public int generateNextMove() {
- return new Random().nextInt(7) + 1;
+ return this.rng.nextInt(7) + 1;
}
public static boolean sameSlot(Robot r1, Robot r2) {
return r1.getX() == r2.getX() && r1.getY() == r2.getY();
}
- public static String printGrid(Robot r1, Robot r2) {
- String grid = "";
- for (int row = 0; row < 10; row++) {
- for (int column = 0; column < 10; column++) {
- if (r1.getX() == row && r1.getY() == column) grid += "|1";
- else if (r2.getX() == row && r2.getY() == column) grid += "|2";
- else grid += "| ";
- }
- grid += String.format("|%s", System.lineSeparator());
- }
-
- return grid;
- }
-
public String printMoves() {
ArrayList<String> printableMoves = new ArrayList<String>();
for (Integer move : this.moves) printableMoves.add(String.valueOf(move));
@@ -66,10 +54,11 @@ public class MovingRobot extends Robot {
}
public void move() {
- this.nextMove = generateNextMove();
- if (!validateNextMove(this.nextMove)) this.move();
+ int direction = generateNextMove();
+ // if (!validateNextMove(direction)) this.move();
- this.move(this.nextMove);
+ // this.nextMove = direction;
+ this.move(direction);
}
public void move(int direction) {
@@ -153,7 +142,7 @@ public class MovingRobot extends Robot {
clear();
System.out.println(
String.format("R1 (%d, %d), R2: (%d, %d)", r1.getX(), r1.getY(), r2.getX(), r2.getY()));
- System.out.println(MovingRobot.printGrid(r1, r2));
+ System.out.println(Robot.printGrid(r1, r2));
sleep(1000);
}