Frage von CordiCraft, 25

ComputerCraft - was stimmt nicht an diesem Script?

Hallo. Ich habe ein Script für meine Mining Turtle geschrieben, welches dafür sorgen soll, dass sie ein viereckiges Feld systematisch abfährt. Die Ränder des Feldes sind mit einem Block gekennzeichten, der im ersten Slot der Turtle ist. Hier mein Script:

local turn = 0
while true do
print("Running Loop.")
write("Fuel Level is on ")
write(turtle.getFuelLevel())
if turtle.getFuelLevel() == 0 then
print(". Refuel needed, attempting refuel.")
turtle.select(4)
turtle.refuel()
if turtle.getFuelLevel() == 0 then
print("No Fuel found, cancelling process.")
return
end
turtle.select(1)
else
print(". No refuel needed.")
end
print("Walldetection initialized.")
turtle.select(1)
if turtle.compare() then

print("Wall Block found in front.")

if turn == 0 then
print("Turning to left side.")
turtle.turnLeft()
if turtle.compare() then
print("Block on the left side, cancelling turn.")
turtle.turnRight()
turn = 1
else
print("Way found, moving.")
turtle.forward()
turtle.turnLeft()
turtle.forward()
turn = 1
end
end

if turn == 1 then
print("Turning to right side.")
turtle.turnRight()
if turtle.compare() then
print("Block on right side, cancelling turn.")
turtle.turnLeft()
turn = 0
else
print("Way found, moving.")
turtle.forward()
turtle.turnRight()
turtle.forward()
turn = 0
end
end

end
print("Attempting to move turtle.")
local success = turtle.forward()
if not success then
print("Moving was not successful. What is going wrong?")
print("Detected Corner. If this is wrong, please contact system admin.")
end
end

Statt dass die Turtle das feld abfährt, passiert aber das hier:

https://www.youtube.com/watch?v=ZP8hAnWYKd8

Ich hoffe, dass jemand mein Script versteht, und mir erklären kann, was da passiert und warum.

Antwort
von CordiCraft, 12

Eingerückte Version:

http://pastebin.com/raw/B55LERZ8

Antwort
von PerfectMuffin, 17

Bevor ich überhaupt erwäge zu helfen:

1. Bei Tag filmen, verflixt nochmal.

2. Code einrücken.

Kommentar von CordiCraft ,

Danke für diese sehr **hust hust** überhaupt nicht **hust hust** hilfreiche Antwort :)

Kommentar von CordiCraft ,

Man kann doch alles erkennen, und ich bin halt kein so'n Einrücker-Typ.

Kommentar von PerfectMuffin ,

Da du das hier nicht alleine gebacken kriegst, wäre das ja wohl das Mindeste.

Du kannst deinen Code so widerlich machen, wie du willst, solage du das Zeug für dich behältst, aber Codekonventionen existieren vor allem um Code wartbar zu machen und ich werde meine Zeit nicht mit einem derart Rücksichtslosen Hilfegesuch verschwenden, und Antworte nur mit einem Hinweis darauf.

Bei vielen Sprachen ist es erlaubt einfach alles in eine Zeile zu schreiben, aber wenn ich das mache und dann eine Frage mit der Bemerkung "ist halt mein Stil" stelle, bekomme ich den goldenen Community-Mittelfinger.

Kommentar von CordiCraft ,

Wenn du nicht helfen willst, warum antwortest du denn dann überhaupt? Ich stelle die Fragen hier doch nicht, um nicht hilfreiche Antworten zu bekommen ^^ Aber gut, wenn du unbedingt darauf bestehst, kann ich dir den Code auch gerne noch mal einrücken.

Kommentar von PerfectMuffin ,

Weil deine Frage nervt und damit du verstehst, warum keiner antwortet.

Kommentar von CordiCraft ,

Habe den Code jetzt noch ein mal eingerückt veröffentlicht.

Keine passende Antwort gefunden?

Fragen Sie die Community