Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- funcion que coloca columnas de 3 en 3
- -- x hacia delante
- -- y hacia la derecha
- -- espacio entre filas (espacio en x)
- -- dis = 3 -> oxxxo
- disX = 9 --9
- -- espacio entre columnas (espacio en y)
- disY = 4 --4
- -- espacio entre grupos de 3 columnas
- disY2 = 9 --9
- -- numero de filas
- nfil = 25
- -- numero de columnas
- ncol = 9
- -- si hay que colocar postes hay que poner la tortuga un bloque a la derecha del primero
- postes = false
- -- mandamos el selector al primer slot del inventario
- turtle.select(1)
- -- funcion para poner un bloque
- function colocarBloque(col)
- -- seleccionamos el siguiente slot con materiales
- while (turtle.getItemCount() == 0) and (turtle.getSelectedSlot() < 16) do
- turtle.select(turtle.getSelectedSlot() + 1)
- end
- if (turtle.getItemCount() == 0) and (turtle.getSelectedSlot() == 16) then
- return false
- end
- -- si hay que poner un bloque
- if postes then
- -- si hay que colocar postes
- if col%2 == 0 then
- -- los postes de las columnas pares son a la derecha
- turtle.turnRight()
- turtle.place()
- turtle.turnLeft()
- else
- -- los postes de las columnas impares son a la derecha
- turtle.turnLeft()
- turtle.place()
- turtle.turnRight()
- end
- else
- -- si no hay que colocar postes, los bloques se ponen debajo
- -- se intenta poner dos veces para que se conecten los cables electricos
- turtle.placeDown()
- turtle.placeDown()
- end
- return true
- end
- -- este condicional es conectar el primer cable
- if not postes then
- turtle.placeDown()
- end
- -- hacemos todas la columnas
- for col = 1, ncol do
- -- funcion para colocar bloque o poste
- if not colocarBloque(col) then
- return
- end
- -- hacemos todas las filas
- for fila = 1, nfil do
- -- avanzamos la distancia entre filas
- for k = 1, disX + 1 do
- turtle.forward()
- end
- -- funcion para colocar bloque o poste
- if not colocarBloque(col) then
- return
- end
- end
- -- al llegar al final de una columna giramos en funcion de si es par o impar
- if col%2 == 1 then
- turtle.turnRight()
- else
- turtle.turnLeft()
- end
- -- avanzamos en función de si es una columna normal o es la ultima de un grupo de tres
- if col%3 == 0 then
- for k = 1, disY2 + 1 do
- turtle.forward()
- end
- else
- for k = 1, disY + 1 do
- turtle.forward()
- end
- end
- -- giramos para recolocarse
- if col%2 == 1 then
- turtle.turnRight()
- else
- turtle.turnLeft()
- end
- end
Add Comment
Please, Sign In to add comment