eleeet

компы и хранилища

Oct 15th, 2020 (edited)
766
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local r = require("robot")
  2. local comp = require("component")
  3. local computer = require("computer")
  4. -------
  5. --нужно в робота вложить в нужном порядке все компоненты которые он будет использовать по 1 штуке
  6. -------
  7. --------------------------------------------------
  8. --функция набора материала------------------------
  9. function take()
  10.  
  11. --r.select(32)
  12. --r.place()
  13. --r.select(1)
  14. --for i=1, 31 do
  15. --r.suck()
  16. --end
  17. --r.select(32)
  18. --r.drop()
  19. --r.use(1, true)
  20. --r.select(1)
  21.  
  22. r.select(20)
  23. r.transferTo(1)
  24. r.select(21)
  25. r.transferTo(1)
  26.  
  27. r.select(22)
  28. r.transferTo(3)
  29. r.select(23)
  30. r.transferTo(3)
  31. r.select(24)
  32. r.transferTo(3)
  33.  
  34. r.select(25)
  35. r.transferTo(4)
  36.  
  37. r.select(26)
  38. r.transferTo(5)
  39. r.select(27)
  40. r.transferTo(5)
  41. r.select(28)
  42. r.transferTo(5)
  43.  
  44. r.select(30)
  45. r.transferTo(10)
  46. r.select(31)
  47. r.transferTo(10)
  48.  
  49. r.select(29)
  50. r.transferTo(11)
  51.  
  52. r.select(1)
  53. end
  54.  
  55. ---------------------------------------------------
  56. --функци постановки компов------------------------------------
  57.  
  58. function compline1()--формируем первую линию компов
  59. r.select(10)
  60. for a=1,7 do
  61. r.placeUp()
  62. r.back()
  63. end
  64. r.select(11)
  65. for b=1,4 do
  66. r.placeUp()
  67. r.back()
  68. end
  69. for c=1,11 do
  70. r.forward()
  71. end
  72. r.down()
  73. end
  74.  
  75. function compline2()--формируем последнюю линию компов в моником
  76. r.select(10)
  77. for a=1,6 do
  78. r.placeUp()
  79. r.back()
  80. end
  81.  
  82. r.select(9)--постановка монитора
  83. r.placeUp()
  84. r.back()
  85.  
  86. r.select(11)
  87. for b=1,4 do
  88. r.placeUp()
  89. r.back()
  90. end
  91. for c=1,11 do
  92. r.forward()
  93. end
  94. r.down()
  95. end
  96.  
  97. function movenext()
  98. r.turnRight()
  99. r.forward()
  100. r.forward()
  101. r.turnLeft()
  102. for i=1,4 do
  103. r.up()
  104. end
  105. end
  106.  
  107. function comp()
  108. for i=1,7 do
  109. compline1()
  110. compline1()
  111. compline1()
  112. compline2()
  113. take()
  114. movenext()
  115. end
  116. end
  117.  
  118. function gopos1()--идем на позицию первого компа из центра
  119. for i=1,11 do
  120. r.up()
  121. end
  122. for ii=1,6 do
  123. r.forward()
  124. end
  125. r.turnLeft()
  126. for iii=1,6 do
  127. r.forward()
  128. end
  129. r.turnRight()
  130. end
  131.  
  132. function gopos2()
  133. for i=1,3 do--закончили с компами идем соединять между собой
  134. r.down()
  135. end
  136. r.turnLeft()
  137. for i=1,3 do
  138. r.forward()
  139. end
  140. r.turnLeft()
  141. for i=1,11 do--идем до конца компов
  142. r.forward()
  143. end
  144. r.turnRight()
  145. r.back()
  146. r.down()
  147. r.turnRight()
  148. r.forward()
  149. r.forward()
  150. r.turnLeft()
  151. end
  152.  
  153. --ставим кабеля
  154. function kab1()--соединяем кабелями компы
  155. r.select(6)
  156. for i=1,13 do
  157. r.placeUp()
  158. r.forward()
  159. end
  160. r.turnAround()--возврат к центру компа
  161. for i=1,7 do
  162. r.forward()
  163. end
  164. r.turnLeft()
  165. end
  166.  
  167. function kab2()--соединяем кабелями с контролером
  168. r.back()
  169. for i=1,7 do --ставим кабеля вниз
  170. r.place()
  171. r.down()
  172. end
  173. end
  174.  
  175. function gopos3()--выходим на позицию для мониторов
  176. r.up()
  177. r.up()
  178. r.up()
  179. r.turnLeft()
  180. r.forward()
  181. r.forward()
  182. r.turnRight()
  183. r.forward()
  184. r.forward()
  185. r.turnAround()
  186. end
  187.  
  188. function mon()--ставим мониторы
  189. r.select(3)--ставим эсенцию
  190. r.place()
  191. r.select(19)
  192. r.place()
  193. r.turnLeft()
  194. r.forward()
  195. r.turnRight()
  196.  
  197. r.select(3)--ставим жидкостный терминал
  198. r.place()
  199. r.select(17)
  200. r.place()
  201. r.turnLeft()
  202. r.forward()
  203. r.forward()
  204. r.turnRight()
  205.  
  206. r.select(3)--ставим интерфейсный терминал
  207. r.place()
  208. r.select(18)
  209. r.place()
  210. r.turnLeft()
  211. r.forward()
  212. r.turnRight()
  213.  
  214. r.select(3)--ставим сборщик терминал
  215. r.place()
  216. r.select(16)
  217. r.place()
  218. end
  219.  
  220. function gopos4()--выходим на точку постановки накопителей
  221. r.turnAround()
  222. r.turnRight()
  223. r.forward()
  224. r.turnLeft()
  225. for i=1,4 do
  226. r.forward()
  227. end
  228. end
  229.  
  230. function nak1()--1 вертикаль накопителей
  231.  
  232. for ii=1,4 do --ставим 1 панель накопителей
  233. r.select(12)--ставим вертикаль
  234. r.place()
  235. r.up()
  236. r.place()
  237. r.up()
  238. r.up()
  239. r.place()
  240. r.up()
  241. r.place()
  242.  
  243. for i=1,4 do--идем на позицию далее
  244. r.down()
  245. end
  246. r.turnRight()
  247. r.forward()
  248. r.turnLeft()
  249.  
  250. end
  251. end
  252.  
  253. function gopos5()--выходим на точку второй панели
  254. for i=1,4 do
  255. r.forward()
  256. end
  257. r.turnLeft()
  258. r.forward()
  259. r.turnLeft()
  260. end
  261.  
  262. function gopos6()--выходим на точку левой панели
  263. r.turnRight()
  264. for i=1,5 do
  265. r.forward()
  266. end
  267. r.turnLeft()
  268. end
  269.  
  270. function gopos7()--выходим на точку постановки проводов
  271. r.down()
  272. r.down()
  273. r.forward()
  274. end
  275.  
  276. function kab3()--соединяем кабелями с накопителями
  277. r.select(6)
  278. r.placeDown()
  279. r.forward()
  280. r.placeDown()
  281.  
  282. for ii=1,2 do
  283. for i=1,3 do
  284. r.up()
  285. r.placeDown()
  286. end
  287. r.forward()
  288. r.placeDown()
  289. r.back()
  290. r.back()
  291. r.placeDown()
  292. r.forward()
  293. end
  294. end
  295.  
  296. function gopos8()--выходим на точку постановки 2 проводов
  297. r.back()
  298. r.turnRight()
  299. for i=1,4 do
  300. r.forward()
  301. end
  302. r.turnLeft()
  303.  
  304. for ii=1,6 do
  305. r.down()
  306.  
  307. end
  308. end
  309.  
  310.  
  311. ----------------------------------------------------
  312. --основной код
  313. r.down() --сажаемся внутрь контроллера
  314. gopos1() --ставимся на позицию первого компа
  315. comp() --ставим компы
  316. gopos2() --идем на позицию постановки кабелей для компов
  317. kab1()--соединяем кабелями компы
  318. kab2()--соединяем кабелями с контролером
  319. gopos3()--выходим на позицию для мониторов
  320. mon()--ставим мониторы
  321. gopos4()--выходим на точку постановки накопителей
  322. nak1()--ставим 1 панель
  323. gopos5()--переходим на обратную сторону
  324. nak1()--ставим 2 панель
  325. gopos6()--выходим на точку левой панели
  326.  
  327. nak1()--ставим 3 панель
  328. gopos5()--переходим на обратную сторону
  329. nak1()--ставим 4 панель
  330.  
  331. gopos7()--выходим на точку постановки проводов
  332. kab3()--соединяем кабелями с накопителями
  333. gopos8()--выходим на точку постановки 2 проводов
  334. kab3()--соединяем кабелями с накопителями
RAW Paste Data