Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.26 KB | None | 0 0
  1. function chessBoardMarking (R)
  2.     R.mark()
  3.     flag = calibrate(R);
  4.     direction = 'o';
  5.     flag = moveAndMark(R, direction, flag);
  6.     while ~R.is_bord('n')
  7.         R.step('n')
  8.         flag = ~flag;
  9.         direction = changeDirection(direction);
  10.         flag = moveAndMark(R, direction, flag);
  11.     end
  12. end
  13.  
  14. function Flag = calibrate (R)
  15.     x = calculateCells(R,'o');
  16.     yCoord = calculateCells(R,'s');
  17.     fieldLength = calculateCells(R,'w');
  18.     xCoord = fieldLength-x;
  19.     if mod(yCoord, 2) == 0
  20.         sum = fieldLength*yCoord+xCoord;
  21.     else
  22.         sum = fieldLength*yCoord+fieldLength-xCoord-1;
  23.     end
  24.     if mod(sum, 2) == 0
  25.         Flag = 1;
  26.     else
  27.         Flag = 0;
  28.     end
  29. end
  30.  
  31. function N = calculateCells (R, direction)
  32.     x = 0;
  33.     while ~R.is_bord(direction)
  34.         R.step(direction)
  35.         x++;
  36.     end
  37.     N = x;
  38. end
  39.  
  40. function Flag = moveAndMark (R, direction, flag)
  41.     if flag
  42.         R.mark()
  43.     end
  44.     while ~R.is_bord(direction)
  45.         R.step(direction)
  46.         flag = ~flag;
  47.         if flag
  48.             R.mark()
  49.         end
  50.     end
  51.     Flag = flag;
  52. end
  53.  
  54. function Direction = changeDirection (direction)
  55.     if direction == 'w'
  56.         Direction = 'o';
  57.     else
  58.         Direction = 'w';
  59.     end
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement