Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. function two_robots( r1,r2 )
  2. go_to_corner(r1,'w','s');
  3. go_to_corner(r2,'w','s');
  4. a=0;
  5. b=0;
  6. c=0;
  7. while r2.is_bord('o')==0
  8. r2.step('o');
  9. a=a+1; %это длина второго поля
  10. end
  11. while r2.is_bord('w')==0
  12. r2.step('w');
  13. end
  14. while r2.is_bord('n')==0
  15. r2.step('n');
  16. b=b+1;
  17. while r2.is_bord('o')==0
  18. r2.step('o');
  19. c=c+1;
  20. end
  21. while r2.is_bord('w')==0
  22. r2.step('w');
  23. end
  24. if a~=c
  25. b1=b;
  26. c1=c;
  27. while b1~=0
  28. r1.step('n')
  29. b1=b1-1;
  30. end
  31. while c1~=0
  32. r1.step('o')
  33. c1=c1-1;
  34. end
  35. r1.step('o');
  36. r1.mark();
  37. go_to_corner(r1,'w','s');%вернуться в угол
  38. end
  39. c=0;
  40. end
  41. go_to_corner(r2,'w','s');
  42. a=0;
  43. b=0;
  44. c=0;
  45. while r2.is_bord('n')==0
  46. r2.step('n');
  47. a=a+1; %это высота второго поля
  48. end
  49. while r2.is_bord('s')==0
  50. r2.step('s');
  51. end
  52. while r2.is_bord('o')==0
  53. r2.step('o');
  54. b=b+1;
  55. while r2.is_bord('n')==0
  56. r2.step('n');
  57. c=c+1;
  58. end
  59. while r2.is_bord('s')==0
  60. r2.step('s');
  61. end
  62. if a~=c
  63. b1=b;
  64. c1=c;
  65. while b1~=0
  66. r1.step('o')
  67. b1=b1-1;
  68. end
  69. while c1~=0
  70. r1.step('n')
  71. c1=c1-1;
  72. end
  73. r1.step('n');
  74. r1.mark();
  75. go_to_corner(r1,'w','s');%вернуться в угол
  76. end
  77. c=0;
  78. end
  79. % ниже идет функция проверка. Если слева и снизу есть марка, то робот
  80. % закрашивает клетку, в которой стоит.
  81. while r1.is_bord('o')==0
  82. while r1.is_bord('n')==0
  83. if (is_mark_side(r1,'w')&&is_mark_side(r1,'s'))==1
  84. r1.mark();
  85. r1.step('n');
  86. else
  87. r1.step('n');
  88. end
  89. end
  90. while r1.is_bord('s')==0
  91. r1.step('s');
  92. end
  93. r1.step('o');
  94. end
  95. while r1.is_bord('n')==0
  96. if (is_mark_side(r1,'w')&&is_mark_side(r1,'s'))==1
  97. r1.mark();
  98. r1.step('n');
  99. else
  100. r1.step('n');
  101. end
  102. end
  103. while r1.is_bord('s')==0
  104. r1.step('s');
  105. end
  106. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement