Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. /// <summary>
  2. /// Represents taking one step in a random direction. If the step would be outside of the board
  3. /// the ant reevaluates that decision by generating a new random number.
  4. /// <param name="&x">The address of the value for the x-axis.</param>
  5. /// <param name="&y">The address of the value for the y-axis.</param>
  6. /// <param name="&stepsTaken">The address of the value for number of total steps taken.</param>
  7. /// </summary>
  8. void takeStep(int &x, int &y, int &stepsTaken)
  9. {
  10.     int step;
  11.     int *axis;
  12.     do
  13.     {
  14.         step = getRandomNumber(1, 4);
  15.         if(step % 2 == 1) //I.e., step was 1 or 3
  16.         {
  17.             step -= 2; //step will now be -1 or 1
  18.             axis = &x;
  19.         }
  20.         else
  21.         {
  22.             step -= 3; //step will now be -1 or 1
  23.             axis = &y;
  24.         }
  25.     } while (*axis + step < 0 || *axis + step >= BOARD_SIZE);
  26.     *axis += step;
  27.     stepsTaken++;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement