Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function mark_chess(n, u, v);
- r = Rob_abs;
- go_to_corner(r, u, v);
- u = invert(u);
- v = invert(v);
- not_finished = true;
- i = 0;
- while not_finished
- flag = true;
- mark_col(r, u, v, n, flag);
- i = i +1;
- if i == n
- i = 0;
- flag = ~flag;
- end
- not_finished = ~r.is_bord(v);
- if not_finished
- r.step(v);
- end
- end
- end
- function v = invert(u)
- %функция возвращает направление v , противоположное направлению u
- side = [ 'w' , 'n' , 's' , 'o'];
- for i = 1:length(side)
- if u == side(i)
- v = side(5-i);
- break;
- end
- end
- end
- function go_to_corner(r , u , v)
- while ~( r.is_bord(u) && r.is_bord(v) )
- if ~r.is_bord(u)
- r.step(u);
- end
- if ~r.is_bord(v)
- r.step(v);
- end
- end
- end
- function mark_col(r, u, v, n, flag)
- i = 0;
- while ~r.is_bord(u)
- if flag
- r.mark;
- end
- i = i+1;
- r.step(u);
- if i == n
- i = 0;
- flag = ~flag;
- end
- end
- u = invert(u);
- while ~r.is_bord(u)
- r.step(u);
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement