diff options
| author | mo khan <mo@mokhan.ca> | 2019-08-05 13:46:34 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2019-08-05 13:46:34 -0600 |
| commit | 775ea70300ff438c0cf4179691253f413dfa0871 (patch) | |
| tree | ef7a335efb15e769a748113b977d1cfec22d6ccd /src/Q9/MovingRobot.java | |
| parent | 1f5a1647eb36793e06b9136c877941e626d4221b (diff) | |
move printGrid to Robot
Diffstat (limited to 'src/Q9/MovingRobot.java')
| -rw-r--r-- | src/Q9/MovingRobot.java | 29 |
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); } |
