Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function mark_x(r, points_arr)
- global pos marked
- global points
- points = points_arr;
- pos = [0, 0];
- marked = [];
- go_around(r)
- end
- function go_around(r)
- global pos marked
- if !ismember(pos, marked, 'rows')
- marked = [marked; pos];
- for s = 'nosw'
- if r.is_bord(s) == 0
- step(r, s)
- go_around(r)
- s = reverse(s);
- step(r, s)
- end
- end
- end
- end
- function step(r, s)
- global pos points
- r.step(s)
- switch s
- case 'n'
- pos(2)++;
- case 's'
- pos(2)--;
- case 'o'
- pos(1)++;
- case 'w'
- pos(1)--;
- end
- if ismember(pos, points, 'rows')
- r.mark()
- end
- end
- function s = reverse(s)
- switch s
- case 'n'
- s = 's';
- case 's'
- s = 'n';
- case 'o'
- s = 'w';
- case 'w'
- s = 'o';
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement