/* * Precondition: None * Postcondition: keeps moving robot up */ public virtual void Move() { while (upSensor.isValid(rCoord, cCoord, grid)) { nAct.MoveForward(ref rCoord, ref cCoord); } }
/* * Precondition:int from 0 to 4 * Postcondition: moves the robot in direction depending on dir until a wall is in front */ public void Move(int Dir) { int sensed; switch (Dir) { case 0: sensed = grid[rCoord - 1, cCoord]; while (sObj.isValid(sensed)) { nAct.MoveForward(ref rCoord, ref cCoord); sensed = grid[rCoord - 1, cCoord]; } break; case 1: sensed = grid[rCoord + 1, cCoord]; while (sObj.isValid(sensed)) { sAct.MoveForward(ref rCoord, ref cCoord); sensed = grid[rCoord + 1, cCoord]; } break; case 2: sensed = grid[rCoord, cCoord + 1]; while (sObj.isValid(sensed)) { eAct.MoveForward(ref rCoord, ref cCoord); sensed = grid[rCoord, cCoord + 1]; } break; case 3: sensed = grid[rCoord, cCoord - 1]; while (sObj.isValid(sensed)) { wAct.MoveForward(ref rCoord, ref cCoord); sensed = grid[rCoord, cCoord - 1]; } break; default: return; } }