SHOW:
|
|
- or go back to the newest paste.
| 1 | -- ** Stripmining Programm ** | |
| 2 | -- ** © 2013 SemOnLP ** | |
| 3 | -- ************************** | |
| 4 | -- Changelog | |
| 5 | -- 09.09.13 - V1.0 = Veroeffentlicht | |
| 6 | -- 12.02.14 - V2.0 = Einstellungen speichern, neue Anzeige | |
| 7 | -- 23.07.14 - V2.1 = Fehler beim Fackeln setzten im Seitengang | |
| 8 | ||
| 9 | --start: block der verhindert das der hautpfad unterborchen wird | |
| 10 | function Sicherheitspfad() | |
| 11 | if turtle.detectDown() == false then -- wen kein block unter der turel ist | |
| 12 | turtle.select(1) -- slot 1 auswaehlen | |
| 13 | turtle.placeDown() -- und unter die turel setzten | |
| 14 | end | |
| 15 | end | |
| 16 | --end: block der verhindert das der hautpfad unterborchen wird | |
| 17 | ||
| 18 | --start: hier wird der Hauptgang gegraben | |
| 19 | function Mittelgang() | |
| 20 | NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte | |
| 21 | Sicherheitspfad() -- wird nur im Hauptgang gemacht, prueft ob unter der Turtel ein Block ist wen nein setzt sie einen aus slot 1 | |
| 22 | KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt | |
| 23 | ||
| 24 | ||
| 25 | end | |
| 26 | --end: hier wird der Hauptgang gegraben | |
| 27 | ||
| 28 | - | Fackel("mitte") -- fackel auf der rechten seite setzten
|
| 28 | + | |
| 29 | function Seitengang() | |
| 30 | for i = 1, laengeSeitengang, 1 do -- grabe dich in den gang | |
| 31 | NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte | |
| 32 | KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt | |
| 33 | end | |
| 34 | ||
| 35 | turtle.turnRight() -- umdrehen | |
| 36 | turtle.turnRight() -- umdrehen | |
| 37 | for i = laengeSeitengang, 1, -1 do -- komm zur mitte zurueck | |
| 38 | if (i % fackelnSeitengang == 0 and fackelnSeitengang ~= 0) then -- wenn fackeln gesetzt werden sollen und diese dem abastand entsprechen | |
| 39 | Fackel("seite")
| |
| 40 | end | |
| 41 | NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte | |
| 42 | end | |
| 43 | end | |
| 44 | --end: baut einen Seitengang | |
| 45 | ||
| 46 | --start: geht 1 block nach vorne | |
| 47 | function NachVorne() | |
| 48 | while turtle.detect() do -- prueft ob ein block vor der turel ist | |
| 49 | turtle.dig() | |
| 50 | sleep(0.25) | |
| 51 | end | |
| 52 | ||
| 53 | while(turtle.forward() == false) do --wenn er nicht fahren konnte | |
| 54 | turtle.dig() -- einmal abbauen | |
| 55 | turtle.attack() -- einmal zuschlagen | |
| 56 | end | |
| 57 | end | |
| 58 | --end: geht 1 block nach vorne | |
| 59 | ||
| 60 | --start: beim abbauen uebersich ob kies nachfaell, wen ja solange abbauen bis nichts mehr kommt | |
| 61 | function KiesUp() | |
| 62 | while turtle.detectUp() do -- prueft ob ueber ihm noch etwas ist | |
| 63 | turtle.digUp() -- haut den block ueber sich ab | |
| 64 | sleep(0.25) -- wartet, funktioniert nur wen der block direck nachfaellt ist ein block | |
| 65 | end | |
| 66 | end | |
| 67 | --end: beim abbauen uebersich ob kis nachfaell, wen ja solange abbauen bis nichts mehr kommt | |
| 68 | ||
| 69 | --start: plaziert die Fackel | |
| 70 | function Fackel(gang) -- ueber gibt gang oder seite | |
| 71 | if (fakelanzahl1 ~= 0) then | |
| 72 | turtle.select(slotFackeln1) -- waehlt die Fackeln aus | |
| 73 | fakelanzahl1 = fakelanzahl1 - 1 | |
| 74 | elseif (fakelanzahl2 ~= 0) then | |
| 75 | slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 76 | turtle.select(slotFackeln2) -- waehlt die Fackeln aus | |
| 77 | fakelanzahl2 = fakelanzahl2 - 1 | |
| 78 | elseif (fakelanzahl3 ~= 0) then | |
| 79 | slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 80 | slotFackeln2 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 81 | turtle.select(slotFackeln3) -- waehlt die Fackeln aus | |
| 82 | fakelanzahl3 = fakelanzahl3 - 1 | |
| 83 | else | |
| 84 | slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 85 | slotFackeln2 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 86 | slotFackeln3 = 0 -- setzt die slotz zurueck zum entleeren der kiste | |
| 87 | return -- keine fackeln mehr mach nichts | |
| 88 | end | |
| 89 | ||
| 90 | if (gang == "seite") then | |
| 91 | turtle.placeUp() -- plaziert die Fackel ueber sich | |
| 92 | turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist | |
| 93 | else | |
| 94 | if (turtle.back()) then-- plaziert die fackel wen er 1 block zurueck fahren konnte | |
| 95 | turtle.placeUp() -- plaziert die Fackel ueber sich | |
| 96 | NachVorne() -- geht wieder nach vorne | |
| 97 | end | |
| 98 | end | |
| 99 | turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist | |
| 100 | end | |
| 101 | --end: plaziert die Fackel | |
| 102 | ||
| 103 | --start: Steuerung fuer Hauptgang und Seitengang | |
| 104 | function Strip() | |
| 105 | Mittelgang() -- hier wird der Hauptgang gegraben | |
| 106 | turtle.turnRight() -- startposition fuer die linke seite | |
| 107 | Seitengang() -- graebt den ersten seitengang und kommt zurueck zur mitte | |
| 108 | Seitengang() -- graebt den zweiten seitengang und kommt zurueck zur mitte | |
| 109 | end | |
| 110 | --end: Steuerung fuer Hauptgang und Seitengang | |
| 111 | ||
| 112 | --start: entleere das inventar in die endertruhe | |
| 113 | function enderTruhe() | |
| 114 | if (endertruhe == 0) then -- wen keine kiste ausgewaehlt ist nicht in endertruhe leeren | |
| 115 | return | |
| 116 | end | |
| 117 | while turtle.detect() do -- die Truhe braucht platz um hingestell werden zu koennen also wird solange gegraben bis platz da ist | |
| 118 | turtle.dig() | |
| 119 | sleep(0.5) | |
| 120 | end | |
| 121 | turtle.select(slotEndertruhe) -- Truhe auswaehlen | |
| 122 | turtle.place() -- Truhe plazieren | |
| 123 | for i = 1,16 do -- k dient hier als zaehler um jeden platz leer zu machen | |
| 124 | turtle.select(i) | |
| 125 | if (turtle.getItemCount(i) == 0 and i ~= slotEndertruhe and i ~= slotFackeln1 and i ~= slotFackeln2 and i ~= slotFackeln3) then -- stop beachte die fackeln umzusetzend | |
| 126 | break -- hier wird abgebrochen wenn der slot leer ist | |
| 127 | -- eine schneller entladung der kist ist somit gegeben ^^ | |
| 128 | elseif (turtle.getItemCount(i) ~= 0 and i ~= slotEndertruhe and i ~= slotFackeln1 and i ~= slotFackeln2 and i ~= slotFackeln3) then | |
| 129 | turtle.drop() -- legt die items in aus dem slot in die truhe | |
| 130 | end | |
| 131 | end | |
| 132 | turtle.select(slotEndertruhe) -- waehlt slot 15 aus | |
| 133 | turtle.dig() -- und nimmt die truhe wieder auf | |
| 134 | turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist | |
| 135 | end | |
| 136 | --end: entleere das inventar in die endertruhe | |
| 137 | ||
| 138 | --start: graebt den Tunnel solange wie eingegeben wurde | |
| 139 | function tunnel() | |
| 140 | statusBildschirm(0) -- bereinigt den Bildschirm beim Start des Tunnelgrabens | |
| 141 | kistenabstand = entleerungEndertruhe -- nach diesem gang wird das 1 mal die truhe geleert | |
| 142 | for aktuellergang = 1, ganganzahl, 1 do -- schleife die soviele gaenge macht wie eingeben | |
| 143 | Strip() -- hier wird der hauptgang mit einem Tunnel links und rechts gegraben | |
| 144 | -- entwerder nur nach links drehen oder nach links drehen und die kiste setzten | |
| 145 | if (aktuellergang == kistenabstand and aktuellergang ~= ganganzahl) then | |
| 146 | turtle.turnLeft() -- gehe einmal nach links | |
| 147 | kistenabstand = kistenabstand + entleerungEndertruhe -- kistenabstand wieder 3 hoch | |
| 148 | enderTruhe() -- entleer die in die Enertrue | |
| 149 | elseif (aktuellergang == ganganzahl) then -- letzter gang nach rechts gehen und in die Truhe entlehren | |
| 150 | turtle.turnRight() -- zurueck in gang drehen fuer die fahrt zur Ausgangsposition | |
| 151 | enderTruhe() -- es war der letzte gang, sprich stell die kist das letzte mal und entleeren | |
| 152 | else | |
| 153 | turtle.turnLeft() -- gehe nur einmal nach lings und mach mit dem hauptgan weiter | |
| 154 | end | |
| 155 | statusBildschirm(aktuellergang) -- Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde (aktuellergang muss uebergeben werden) | |
| 156 | end | |
| 157 | end | |
| 158 | --end: graebt den Tunnel solange wie eingegeben wurde | |
| 159 | ||
| 160 | --start: Zurueck zur Ausgangsposition | |
| 161 | function back() | |
| 162 | for a = 1,ganganzahl * 3 do | |
| 163 | NachVorne() | |
| 164 | end | |
| 165 | end | |
| 166 | --end: Zurueck zur Ausgangsposition | |
| 167 | ||
| 168 | --start: Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde | |
| 169 | function statusBildschirm(aktuellergang) | |
| 170 | -- start: Zeigt das Fuel-Level an | |
| 171 | term.setCursorPos( 1, 3) | |
| 172 | term.clearLine() | |
| 173 | fuellevel = turtle.getFuelLevel() | |
| 174 | print("Fuel-Level: " .. fuellevel)
| |
| 175 | ||
| 176 | term.setCursorPos( 1, 4) | |
| 177 | term.clearLine() | |
| 178 | if (endertruhe == 1) then | |
| 179 | print("Endertruhe: Ja")
| |
| 180 | else | |
| 181 | print("Endertruhe: Nein")
| |
| 182 | end | |
| 183 | ||
| 184 | -- start: Zeigt die anzahl der Fakeln an | |
| 185 | term.setCursorPos( 1, 5) | |
| 186 | term.clearLine() | |
| 187 | fackeln = fakelanzahl1 + fakelanzahl2 + fakelanzahl3 | |
| 188 | print("Fackeln : " .. fackeln)
| |
| 189 | ||
| 190 | term.setCursorPos(1,7) | |
| 191 | term.clearLine() | |
| 192 | if (aktuellergang > 0) then | |
| 193 | print("Gang " .. aktuellergang .. " von " .. ganganzahl .. " wurde fertiggestellt!")
| |
| 194 | else -- wen das programm startet | |
| 195 | term.setCursorPos(1,8) | |
| 196 | term.clearLine() | |
| 197 | term.setCursorPos(1,9) | |
| 198 | term.clearLine() | |
| 199 | term.setCursorPos(1,10) | |
| 200 | term.clearLine() | |
| 201 | term.setCursorPos(1,12) | |
| 202 | term.clearLine() | |
| 203 | turtle.select(1) -- waehlt zum start slot 1 aus | |
| 204 | end | |
| 205 | end | |
| 206 | --end: Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde | |
| 207 | ||
| 208 | ||
| 209 | --START: Programmsteuerung eingabe | |
| 210 | --start: Aktuellisuerung des Status fuer Fakeln, Endertruhe, und Fullevel | |
| 211 | local function checkStatus() | |
| 212 | slotsAnzeige = {"_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_"}
| |
| 213 | slotsAnzeige[slotEndertruhe] = "e" | |
| 214 | slotsAnzeige[slotFackeln1] = "f" | |
| 215 | slotsAnzeige[slotFackeln2] = "f" | |
| 216 | slotsAnzeige[slotFackeln3] = "f" | |
| 217 | slotsAnzeige[slotAutofuel] = "a" | |
| 218 | ||
| 219 | local blink = 0 -- wird benoetigt fuer das blinken der Warnung das das Fuellevel nidrig ist | |
| 220 | while true do --prueft endlos den status | |
| 221 | time() -- zeit die Uhrzeit oben rechts an | |
| 222 | ||
| 223 | -- start: Zeigt das Fuel-Level an | |
| 224 | term.setCursorPos( 1, 3) | |
| 225 | term.clearLine() | |
| 226 | fuellevel = turtle.getFuelLevel() | |
| 227 | if (fuellevel < 500 and blink == 0) then | |
| 228 | print("Fuel-Level: " .. fuellevel .. " !! Warnung !!")
| |
| 229 | blink = 1 -- setz blinken der Warnung zurueck | |
| 230 | else | |
| 231 | print("Fuel-Level: " .. fuellevel)
| |
| 232 | blink = 0 -- setz blinken der Warnung zurueck | |
| 233 | end | |
| 234 | -- end: Zeigt das Fuel-Level an | |
| 235 | -- start: Zeigt die aufladung des Fuel-Level an | |
| 236 | term.setCursorPos( 1, 7) | |
| 237 | term.clearLine() | |
| 238 | term.clearLine() | |
| 239 | ladeeinheiten = turtle.getItemCount(tonumber(slotAutofuel)) -- Einheiten zum Aufladen aus slot 13 | |
| 240 | if (ladeeinheiten == 1) then | |
| 241 | print("Hinweis: !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
| |
| 242 | print("Fuelaufladung um eine Einheit !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
| |
| 243 | print(" !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
| |
| 244 | print(" !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
| |
| 245 | elseif (ladeeinheiten > 9) then | |
| 246 | print("Hinweis: !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
| |
| 247 | print("Fuelaufladung um " .. ladeeinheiten .. " Einheiten !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
| |
| 248 | print(" !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
| |
| 249 | print(" !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
| |
| 250 | elseif (ladeeinheiten > 1) then | |
| 251 | print("Hinweis: !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
| |
| 252 | print("Fuelaufladung um " .. ladeeinheiten .. " Einheiten !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
| |
| 253 | print(" !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
| |
| 254 | print(" !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
| |
| 255 | else | |
| 256 | print(" !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
| |
| 257 | print(" !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
| |
| 258 | print(" !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
| |
| 259 | print(" !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
| |
| 260 | end | |
| 261 | -- end: Zeigt die aufladung des Fuel-Level an | |
| 262 | ||
| 263 | -- start: Pruefung fuer die Endertruhe | |
| 264 | term.setCursorPos( 1, 4) | |
| 265 | term.clearLine() | |
| 266 | endertruhe = turtle.getItemCount(tonumber(slotEndertruhe)) | |
| 267 | if (endertruhe == 1) then | |
| 268 | print("Endertruhe: Ja")
| |
| 269 | endertruhe = 1 --braucht man nicht ist nur zur sicherheit | |
| 270 | elseif (endertruhe > 1) then | |
| 271 | print("Endertruhe: Bitte nur 1 Kiste")
| |
| 272 | endertruhe = 0 | |
| 273 | else | |
| 274 | print("Endertruhe: Nein")
| |
| 275 | endertruhe = 0 | |
| 276 | end | |
| 277 | -- end: Pruefung fuer die Endertruhe | |
| 278 | ||
| 279 | -- start: Zeigt die anzahl der Fakeln an | |
| 280 | term.setCursorPos( 1, 5) | |
| 281 | term.clearLine() | |
| 282 | fackeln = turtle.getItemCount(tonumber(slotFackeln1)) + turtle.getItemCount(tonumber(slotFackeln2)) + turtle.getItemCount(tonumber(slotFackeln3)) | |
| 283 | if (fackeln == 0) then | |
| 284 | print("Fackeln : Keine")
| |
| 285 | elseif (fackeln == 1) then | |
| 286 | print("Fackeln : " .. fackeln .. " (Eingabe 0 = ein Gang)")
| |
| 287 | else | |
| 288 | print("Fackeln : " .. fackeln .. " (Eingabe 0=" .. fackeln .." Gaenge)")
| |
| 289 | end | |
| 290 | -- end: Zeigt die anzahl der Fakeln an | |
| 291 | ||
| 292 | term.setCursorPos(38,3) | |
| 293 | print("!a")
| |
| 294 | term.setCursorPos(38,4) | |
| 295 | print("!e")
| |
| 296 | term.setCursorPos(38,5) | |
| 297 | print("!f")
| |
| 298 | term.setCursorPos(36, 12) -- setzt angezeigte curser zurueck zur eingabe | |
| 299 | sleep(0.4) -- minecraft minute dauert 0.8 Sekunden | |
| 300 | end | |
| 301 | end | |
| 302 | --end: Aktuellisuerung des Status fuer Fakeln, Endertruhe, und Fullevel | |
| 303 | ||
| 304 | --start: Eingabe der Fackeln und Pruefung ob 0 oder zwischen 1 und 999 oder einstellungen | |
| 305 | local function eingabeTunnellaenge() | |
| 306 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 307 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 308 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 309 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 310 | print("Anzahl Gaenge? (e = Einstellungen):") -- anzeige des Hilfetextes
| |
| 311 | ||
| 312 | term.setCursorPos(36, 12) -- setzt position auf eingabe | |
| 313 | ||
| 314 | local inputstring = read() -- auswertung der eingabe | |
| 315 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 316 | ganganzahl = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 317 | if (ganganzahl >= 0 and ganganzahl <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 318 | if (ganganzahl == 0) then | |
| 319 | ganganzahl = fackeln | |
| 320 | end | |
| 321 | einstellung = 0 | |
| 322 | return -- wenn alles ok ist, beende die eingabe | |
| 323 | end | |
| 324 | end | |
| 325 | ||
| 326 | if (inputstring == "e") then | |
| 327 | einstellung = 1 | |
| 328 | return -- einstellung aender | |
| 329 | else | |
| 330 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 331 | term.clearLine() | |
| 332 | print("0 = Fakelanzahl oder 1-999 moeglich")
| |
| 333 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 334 | end | |
| 335 | end | |
| 336 | end | |
| 337 | --end: Eingabe der Fackeln und Pruefung ob 0 oder zwischen 1 und 999 oder einstellungen | |
| 338 | ||
| 339 | --start: eingabe der einstellungen fuer das programm | |
| 340 | local function einstellungen() | |
| 341 | for i = 3, 10, 1 do -- loesch den bilschirm ab der dritten zeile | |
| 342 | term.setCursorPos(1,i) -- zeile fuer anzeige bereinigen | |
| 343 | term.clearLine() -- zeile fuer anzeige bereinigen | |
| 344 | end | |
| 345 | ||
| 346 | term.setCursorPos(1,12) -- zeile fuer anzeige bereinigen | |
| 347 | term.clearLine() -- zeile fuer anzeige bereinigen | |
| 348 | ||
| 349 | ||
| 350 | -- anzeige fuer die einstellungen | |
| 351 | term.setCursorPos(1, 3) -- setzt den curser in zeile 3 | |
| 352 | print("Slot Endertruhe : " .. slotEndertruhe) -- anzeige des Hilfetextes
| |
| 353 | term.setCursorPos(1, 4) -- setzt den curser in zeile 3 | |
| 354 | print("Slot eins fuer Fackeln : " .. slotFackeln1) -- anzeige des Hilfetextes
| |
| 355 | term.setCursorPos(1, 5) -- setzt den curser in zeile 3 | |
| 356 | print("Slot zwei fuer Fackeln : " .. slotFackeln2) -- anzeige des Hilfetextes
| |
| 357 | term.setCursorPos(1, 6) -- setzt den curser in zeile 3 | |
| 358 | print("Slot drei fuer Fackeln : " .. slotFackeln3) -- anzeige des Hilfetextes
| |
| 359 | term.setCursorPos(1, 7) -- setzt den curser in zeile 3 | |
| 360 | print("Slot Autofuelaufladung : " .. slotAutofuel) -- anzeige des Hilfetextes
| |
| 361 | term.setCursorPos(1, 8) -- setzt den curser in zeile 3 | |
| 362 | print("Laenge der Seitengaenge: " .. laengeSeitengang) -- anzeige des Hilfetextes
| |
| 363 | term.setCursorPos(1, 9) -- setzt den curser in zeile 3 | |
| 364 | print("Fakeln in Seitengaenge : " .. fackelnSeitengang) -- anzeige des Hilfetextes
| |
| 365 | term.setCursorPos(1, 10) -- setzt den curser in zeile 3 | |
| 366 | print("Entleerung Enderchest : " .. entleerungEndertruhe) -- anzeige des Hilfetextes
| |
| 367 | ||
| 368 | corsor = 3 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 369 | einstellungenEndertruhe() | |
| 370 | term.setCursorPos(1, 3) -- setzt den curser in zeile 3 | |
| 371 | print("Slot Endertruhe : " .. slotEndertruhe) -- anzeige des Hilfetextes
| |
| 372 | ||
| 373 | corsor = 4 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 374 | einstellungenFackeln1() | |
| 375 | term.setCursorPos(1, 4) -- setzt den curser in zeile 3 | |
| 376 | print("Slot eins fuer Fackeln : " .. slotFackeln1) -- anzeige des Hilfetextes
| |
| 377 | ||
| 378 | corsor = 5 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 379 | einstellungenFackeln2() | |
| 380 | term.setCursorPos(1, 5) -- setzt den curser in zeile 3 | |
| 381 | print("Slot zwei fuer Fackeln : " .. slotFackeln2) -- anzeige des Hilfetextes
| |
| 382 | ||
| 383 | corsor = 6 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 384 | einstellungenFackeln3() | |
| 385 | term.setCursorPos(1, 6) -- setzt den curser in zeile 3 | |
| 386 | print("Slot drei fuer Fackeln : " .. slotFackeln3) -- anzeige des Hilfetextes
| |
| 387 | ||
| 388 | corsor = 7 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 389 | einstellungenAutofuel() | |
| 390 | term.setCursorPos(1, 7) -- setzt den curser in zeile 3 | |
| 391 | print("Slot Autofuelaufladung : " .. slotAutofuel) -- anzeige des Hilfetextes
| |
| 392 | ||
| 393 | corsor = 8 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 394 | einstellungenLaengeSeitengang() | |
| 395 | term.setCursorPos(1, 8) -- setzt den curser in zeile 3 | |
| 396 | print("Laenge der Seitengaenge: " .. laengeSeitengang) -- anzeige des Hilfetextes
| |
| 397 | ||
| 398 | corsor = 9 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 399 | einstellungenFackelnSeitengang() | |
| 400 | term.setCursorPos(1, 9) -- setzt den curser in zeile 3 | |
| 401 | print("Fakeln in Seitengaenge : " .. fackelnSeitengang) -- anzeige des Hilfetextes
| |
| 402 | ||
| 403 | corsor = 10 -- eingabeposition, wird gebraucht bei der zeitanzeige | |
| 404 | einstellungenEntleerungEnderchest() | |
| 405 | term.setCursorPos(1, 10) -- setzt den curser in zeile 3 | |
| 406 | print("Entleerung Enderchest : " .. entleerungEndertruhe) -- anzeige des Hilfetextes
| |
| 407 | end | |
| 408 | ||
| 409 | --end: eingabe der einstellungen fuer das programm | |
| 410 | ||
| 411 | --start: eingabe der einstellungen fuer das programm | |
| 412 | function einstellungenEndertruhe() | |
| 413 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 414 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 415 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 416 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 417 | print("Slot fuer die Endertruhe") -- anzeige des Hilfetextes
| |
| 418 | ||
| 419 | term.setCursorPos(1, 3) -- setzt den curser in zeile 3 | |
| 420 | term.clearLine() | |
| 421 | print("Slot Endertruhe :") -- anzeige des Hilfetextes
| |
| 422 | term.setCursorPos(26, 3) -- setzt position auf eingabe | |
| 423 | ||
| 424 | ||
| 425 | local inputstring1 = read() -- auswertung der eingabe | |
| 426 | if (tonumber(inputstring1) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 427 | slotEndertruhe = tonumber(inputstring1) --macht aus dem Strin ein zahl | |
| 428 | if (slotEndertruhe >= 0 and slotEndertruhe <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 429 | if (slotEndertruhe == 0) then | |
| 430 | slotEndertruhe = 15 | |
| 431 | end | |
| 432 | return -- wenn alles ok ist, beende die eingabe | |
| 433 | end | |
| 434 | end | |
| 435 | ||
| 436 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 437 | term.clearLine() | |
| 438 | print("Nur Slot 1 bis 16 moeglich, 0=Standard")
| |
| 439 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 440 | end | |
| 441 | end | |
| 442 | ||
| 443 | --start: eingabe der einstellungen fuer das programm | |
| 444 | function einstellungenFackeln1() | |
| 445 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 446 | gleichslot = 0 -- erstmal keine ueberlagerung | |
| 447 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 448 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 449 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 450 | print("Slot eins fuer die Fackeln") -- anzeige des Hilfetextes
| |
| 451 | ||
| 452 | term.setCursorPos(1, 4) -- setzt den curser in zeile 3 | |
| 453 | term.clearLine() | |
| 454 | print("Slot eins fuer Fackeln :") -- anzeige des Hilfetextes
| |
| 455 | term.setCursorPos(26, 4) -- setzt position auf eingabe | |
| 456 | ||
| 457 | ||
| 458 | local inputstring = read() -- auswertung der eingabe | |
| 459 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 460 | slotFackeln1 = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 461 | if (slotFackeln1 >= 0 and slotFackeln1 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 462 | if (slotFackeln1 == 0) then | |
| 463 | slotFackeln1 = 16 | |
| 464 | end | |
| 465 | ||
| 466 | if (slotFackeln1 ~= slotEndertruhe) then -- gleicher slot wie die endertruhe | |
| 467 | return -- wenn alles ok ist, beende die eingabe | |
| 468 | else | |
| 469 | gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden | |
| 470 | end | |
| 471 | end | |
| 472 | end | |
| 473 | ||
| 474 | ||
| 475 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 476 | term.clearLine() | |
| 477 | if (gleichslot == 1) then | |
| 478 | print("Slot bereits in Verwendung")
| |
| 479 | else | |
| 480 | print("Nur Slot 1 bis 16 moeglich, 0=Standard")
| |
| 481 | end | |
| 482 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 483 | end | |
| 484 | end | |
| 485 | --end: | |
| 486 | --start: eingabe der einstellungen fuer das programm | |
| 487 | function einstellungenFackeln2() | |
| 488 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 489 | gleichslot = 0 -- erstmal keine ueberlagerung | |
| 490 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 491 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 492 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 493 | print("Slot zwei fuer die Fackeln") -- anzeige des Hilfetextes
| |
| 494 | ||
| 495 | term.setCursorPos(1, 5) -- setzt den curser in zeile 3 | |
| 496 | term.clearLine() | |
| 497 | print("Slot zwei fuer Fackeln :") -- anzeige des Hilfetextes
| |
| 498 | term.setCursorPos(26, 5) -- setzt position auf eingabe | |
| 499 | ||
| 500 | ||
| 501 | local inputstring = read() -- auswertung der eingabe | |
| 502 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 503 | slotFackeln2 = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 504 | if (slotFackeln2 >= 0 and slotFackeln2 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 505 | if (slotFackeln2 == 0) then | |
| 506 | slotFackeln2 = 12 | |
| 507 | end | |
| 508 | ||
| 509 | if (slotFackeln2 ~= slotEndertruhe and slotFackeln2 ~= slotFackeln1) then -- gleicher slot wie die endertruhe | |
| 510 | return -- wenn alles ok ist, beende die eingabe | |
| 511 | else | |
| 512 | gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden | |
| 513 | end | |
| 514 | end | |
| 515 | end | |
| 516 | ||
| 517 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 518 | term.clearLine() | |
| 519 | if (gleichslot == 1) then | |
| 520 | print("Slot bereits in Verwendung")
| |
| 521 | else | |
| 522 | print("Nur Slot 1 bis 16 moeglich, 0=Standard")
| |
| 523 | end | |
| 524 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 525 | end | |
| 526 | end | |
| 527 | --end: | |
| 528 | --start: eingabe der einstellungen fuer das programm | |
| 529 | function einstellungenFackeln3() | |
| 530 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 531 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 532 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 533 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 534 | print("Slot drei fuer die Fackeln") -- anzeige des Hilfetextes
| |
| 535 | ||
| 536 | term.setCursorPos(1, 6) -- setzt den curser in zeile 3 | |
| 537 | term.clearLine() | |
| 538 | print("Slot drei fuer Fackeln :") -- anzeige des Hilfetextes
| |
| 539 | term.setCursorPos(26, 6) -- setzt position auf eingabe | |
| 540 | ||
| 541 | ||
| 542 | local inputstring = read() -- auswertung der eingabe | |
| 543 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 544 | slotFackeln3 = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 545 | if (slotFackeln3 >= 0 and slotFackeln3 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 546 | if (slotFackeln3 == 0) then | |
| 547 | slotFackeln3 = 8 | |
| 548 | end | |
| 549 | if (slotFackeln3 ~= slotEndertruhe and slotFackeln3 ~= slotFackeln1 and slotFackeln3 ~= slotFackeln2) then -- gleicher slot wie die endertruhe | |
| 550 | return -- wenn alles ok ist, beende die eingabe | |
| 551 | else | |
| 552 | gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden | |
| 553 | end | |
| 554 | end | |
| 555 | end | |
| 556 | ||
| 557 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 558 | term.clearLine() | |
| 559 | if (gleichslot == 1) then | |
| 560 | print("Slot bereits in Verwendung")
| |
| 561 | else | |
| 562 | print("Nur Slot 1 bis 16 moeglich, 0=Standard")
| |
| 563 | end | |
| 564 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 565 | end | |
| 566 | end | |
| 567 | --end: | |
| 568 | ||
| 569 | --start: eingabe der einstellungen fuer das programm | |
| 570 | function einstellungenAutofuel() | |
| 571 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 572 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 573 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 574 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 575 | print("Slot fuer Autofuelaufladung beim Start") -- anzeige des Hilfetextes
| |
| 576 | ||
| 577 | term.setCursorPos(1, 7) -- setzt den curser in zeile 3 | |
| 578 | term.clearLine() | |
| 579 | print("Slot Autofuelaufladung :") -- anzeige des Hilfetextes
| |
| 580 | term.setCursorPos(26, 7) -- setzt position auf eingabe | |
| 581 | ||
| 582 | ||
| 583 | local inputstring = read() -- auswertung der eingabe | |
| 584 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 585 | slotAutofuel = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 586 | if (slotAutofuel >= 0 and slotAutofuel <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 587 | if (slotAutofuel == 0) then | |
| 588 | slotAutofuel = 13 | |
| 589 | end | |
| 590 | if (slotAutofuel ~= slotEndertruhe and slotAutofuel ~= slotFackeln1 and slotAutofuel ~= slotFackeln2 and slotAutofuel ~= slotFackeln3) then -- gleicher slot wie die endertruhe | |
| 591 | return -- wenn alles ok ist, beende die eingabe | |
| 592 | else | |
| 593 | gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden | |
| 594 | end | |
| 595 | end | |
| 596 | end | |
| 597 | ||
| 598 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 599 | term.clearLine() | |
| 600 | if (gleichslot == 1) then | |
| 601 | print("Slot bereits in Verwendung")
| |
| 602 | else | |
| 603 | print("Nur Slot 1 bis 16 moeglich, 0=Standard")
| |
| 604 | end | |
| 605 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 606 | end | |
| 607 | end | |
| 608 | --end: | |
| 609 | ||
| 610 | ||
| 611 | --start: eingabe der einstellungen fuer das programm | |
| 612 | function einstellungenLaengeSeitengang() | |
| 613 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 614 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 615 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 616 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 617 | print("Laenge eines Seitenganges") -- anzeige des Hilfetextes
| |
| 618 | ||
| 619 | term.setCursorPos(1, 8) -- setzt den curser in zeile 3 | |
| 620 | term.clearLine() | |
| 621 | print("Laenge der Seitengaenge:") -- anzeige des Hilfetextes
| |
| 622 | term.setCursorPos(26, 8) -- setzt position auf eingabe | |
| 623 | ||
| 624 | ||
| 625 | local inputstring = read() -- auswertung der eingabe | |
| 626 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 627 | laengeSeitengang = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 628 | if (laengeSeitengang >= 0 and laengeSeitengang <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 629 | if (laengeSeitengang == 0) then | |
| 630 | laengeSeitengang = 5 | |
| 631 | end | |
| 632 | return -- wenn alles ok ist, beende die eingabe | |
| 633 | end | |
| 634 | end | |
| 635 | ||
| 636 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 637 | term.clearLine() | |
| 638 | print("Nur 0 bis 999 moeglich, 0=Standard")
| |
| 639 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 640 | end | |
| 641 | end | |
| 642 | --end: | |
| 643 | ||
| 644 | --start: eingabe der einstellungen fuer das programm | |
| 645 | function einstellungenFackelnSeitengang() | |
| 646 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 647 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 648 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 649 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 650 | print("Abstand zwischen Fakeln im Seitengang") -- anzeige des Hilfetextes
| |
| 651 | ||
| 652 | term.setCursorPos(1, 9) -- setzt den curser in zeile 3 | |
| 653 | term.clearLine() | |
| 654 | print("Fakeln in Seitengaenge :") -- anzeige des Hilfetextes
| |
| 655 | term.setCursorPos(26, 9) -- setzt position auf eingabe | |
| 656 | ||
| 657 | ||
| 658 | local inputstring = read() -- auswertung der eingabe | |
| 659 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 660 | fackelnSeitengang = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 661 | if (fackelnSeitengang <= laengeSeitengang) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 662 | if (fackelnSeitengang == 0) then | |
| 663 | fackelnSeitengang = 0 | |
| 664 | end | |
| 665 | return -- wenn alles ok ist, beende die eingabe | |
| 666 | else | |
| 667 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 668 | term.clearLine() | |
| 669 | print("Seitenganz waere zu kurz")
| |
| 670 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 671 | end | |
| 672 | end | |
| 673 | end | |
| 674 | end | |
| 675 | --end: | |
| 676 | ||
| 677 | --start: eingabe der einstellungen fuer das programm | |
| 678 | function einstellungenEntleerungEnderchest() | |
| 679 | while true do -- ergibt eine endlosschleife bis man auf return kommt | |
| 680 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 681 | term.clearLine() -- loescht eventuell den Hilfetext | |
| 682 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 683 | print("Anzahl Gaenge bis zur leerung") -- anzeige des Hilfetextes
| |
| 684 | ||
| 685 | term.setCursorPos(1, 10) -- setzt den curser in zeile 3 | |
| 686 | term.clearLine() | |
| 687 | print("Entleerung Enderchest :") -- anzeige des Hilfetextes
| |
| 688 | term.setCursorPos(26, 10) -- setzt position auf eingabe | |
| 689 | ||
| 690 | ||
| 691 | local inputstring = read() -- auswertung der eingabe | |
| 692 | if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde | |
| 693 | entleerungEndertruhe = tonumber(inputstring) --macht aus dem Strin ein zahl | |
| 694 | if (entleerungEndertruhe >= 0 and entleerungEndertruhe <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok | |
| 695 | if (entleerungEndertruhe == 0) then | |
| 696 | entleerungEndertruhe = 3 -- standard | |
| 697 | end | |
| 698 | return -- wenn alles ok ist, beende die eingabe | |
| 699 | end | |
| 700 | end | |
| 701 | ||
| 702 | term.setCursorPos(1, 12) -- setzt den curser hier her | |
| 703 | term.clearLine() | |
| 704 | print("Nur 0 bis 999 moeglich, 0=Standard")
| |
| 705 | sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets | |
| 706 | end | |
| 707 | end | |
| 708 | --end: | |
| 709 | ||
| 710 | ||
| 711 | --start: Uhrzeit und Tag in Minecraft auslesen und anzeigen | |
| 712 | function time() | |
| 713 | term.setCursorPos(1, 1) -- position auf Zeit setzten | |
| 714 | local day -- locale Variable fuer den Tag in Minecraft | |
| 715 | local zeit -- locale Variable fuer die Uhrzeit in Minecraft | |
| 716 | day = os.day() -- nicht im Gebrauch! | |
| 717 | zeit = textutils.formatTime(os.time(), true) -- wandelt die anzeige in das 24 Stunden Format | |
| 718 | if (string.len(zeit) == 4) then -- zeit Anzeigt vor oder nach 10 Uhr | |
| 719 | print("Systemhinweis Zeit: " .. zeit) -- vor 10 Uhr, es geht um die laenge
| |
| 720 | else | |
| 721 | print("Systemhinweis Zeit: " .. zeit) -- nach 10 Uhr
| |
| 722 | end | |
| 723 | end | |
| 724 | --end: Uhrzeit und Tag in Minecraft auslesen und anzeigen | |
| 725 | local function timeshow() | |
| 726 | while true do --prueft endlos den status | |
| 727 | term.setCursorPos(1, 1) -- position auf Zeit setzten | |
| 728 | local day -- locale Variable fuer den Tag in Minecraft | |
| 729 | local zeit -- locale Variable fuer die Uhrzeit in Minecraft | |
| 730 | day = os.day() -- nicht im Gebrauch! | |
| 731 | zeit = textutils.formatTime(os.time(), true) -- wandelt die anzeige in das 24 Stunden Format | |
| 732 | if (string.len(zeit) == 4) then -- zeit Anzeigt vor oder nach 10 Uhr | |
| 733 | print("Einstellungen Zeit: " .. zeit) -- vor 10 Uhr, es geht um die laenge
| |
| 734 | else | |
| 735 | print("Einstellungen Zeit: " .. zeit) -- nach 10 Uhr
| |
| 736 | end | |
| 737 | ||
| 738 | term.setCursorPos(26, corsor) -- setzt angezeigte curser zurueck zur eingabe | |
| 739 | sleep(0.4) -- minecraft minute dauert 0.8 Sekunden | |
| 740 | end | |
| 741 | end | |
| 742 | ||
| 743 | --end: Programmsteuerung eingabe | |
| 744 | ||
| 745 | --start: bereinigt den Bildschirm und baut das eingabe Fenster auf | |
| 746 | function bildschirmStart() | |
| 747 | shell.run("clear") -- löscht allties auf dem Bildschirm
| |
| 748 | print("Systemhinweis")
| |
| 749 | print("=======================================")
| |
| 750 | term.setCursorPos(1,6) | |
| 751 | term.clearLine() | |
| 752 | print("---------------------------------------")
| |
| 753 | term.setCursorPos(1,11) | |
| 754 | print("---------------------------------------")
| |
| 755 | end | |
| 756 | --end: bereinigt den Bildschirm und baut das eingabe Fenster auf | |
| 757 | ||
| 758 | --start: zeigt an das die Turel fertig sit | |
| 759 | function zeigtFertig() | |
| 760 | term.setCursorPos(1,10) -- zeile 10 fuer anzeige bereinigen | |
| 761 | term.clearLine() -- zeile 10 fuer anzeige bereinigen | |
| 762 | print("!!!Fertig - Programm beendet!!!") -- fertig meldung
| |
| 763 | term.setCursorPos(1,12) -- letzte zeile bereinigen | |
| 764 | term.clearLine() -- letzte zeile bereinigen | |
| 765 | end | |
| 766 | --end: zeigt an das die Turel fertig sit | |
| 767 | ||
| 768 | function einstellungenSpeichern() | |
| 769 | config = fs.open("strip.conf", "w") -- oeffent die config datei
| |
| 770 | config.writeLine("slotEndertruhe = " .. slotEndertruhe)
| |
| 771 | config.writeLine("slotFackeln1 = " .. slotFackeln1)
| |
| 772 | config.writeLine("slotFackeln2 = " .. slotFackeln2)
| |
| 773 | config.writeLine("slotFackeln3 = " .. slotFackeln3)
| |
| 774 | config.writeLine("slotAutofuel = " .. slotAutofuel)
| |
| 775 | config.writeLine("fackelnSeitengang = " .. fackelnSeitengang)
| |
| 776 | config.writeLine("laengeSeitengang = " .. laengeSeitengang)
| |
| 777 | config.writeLine("entleerungEndertruhe = " .. entleerungEndertruhe)
| |
| 778 | config.close() -- schließt die einstellungen | |
| 779 | end | |
| 780 | ||
| 781 | ||
| 782 | function einstellungenLesen() | |
| 783 | config = fs.open("strip.conf", "r")
| |
| 784 | if config then | |
| 785 | line = config.readLine() | |
| 786 | slotEndertruhe = tonumber(string.sub(line,24,30)) | |
| 787 | line = config.readLine() | |
| 788 | slotFackeln1 = tonumber(string.sub(line,24,30)) | |
| 789 | line = config.readLine() | |
| 790 | slotFackeln2 = tonumber(string.sub(line,24,30)) | |
| 791 | line = config.readLine() | |
| 792 | slotFackeln3 = tonumber(string.sub(line,24,30)) | |
| 793 | line = config.readLine() | |
| 794 | slotAutofuel = tonumber(string.sub(line,24,30)) | |
| 795 | line = config.readLine() | |
| 796 | fackelnSeitengang = tonumber(string.sub(line,24,30)) | |
| 797 | line = config.readLine() | |
| 798 | laengeSeitengang = tonumber(string.sub(line,24,30)) | |
| 799 | line = config.readLine() | |
| 800 | entleerungEndertruhe = tonumber(string.sub(line,24,30)) | |
| 801 | config.close() | |
| 802 | else | |
| 803 | slotEndertruhe = 15 -- Slot fuer die Endertruhe | |
| 804 | slotFackeln1 = 16 -- Slot fuer Fakeln 1 | |
| 805 | slotFackeln2 = 12 -- Slot fuer Fakeln 2 stop | |
| 806 | slotFackeln3 = 8 -- Slot fuer Fakeln 3 stop | |
| 807 | slotAutofuel = 13 -- Slot fuer Autofuel | |
| 808 | fackelnSeitengang = 0 -- fackeln im seitengang, 0=keine | |
| 809 | laengeSeitengang = 5 -- laenge des seitengangs 0 = 5 | |
| 810 | entleerungEndertruhe = 3 --nach wieielen gaengen wird die Endertruhe geleert, Standart 3 stop | |
| 811 | end | |
| 812 | end | |
| 813 | ||
| 814 | ||
| 815 | --**Hauptprogrammsteuerung | |
| 816 | --Setzen der globale Variablen (diese sind ueberall verfuegbar) | |
| 817 | endertruhe = 0 -- Endertruhe = nein | |
| 818 | fackeln = 0 -- Fackeln = 0 | |
| 819 | ganganzahl = 0 -- Anzahl Gaenge = 0 | |
| 820 | fuellevel = 0 -- Fuel-Level = 0 | |
| 821 | einstellung = 0 -- keine einstellungen vornehmen | |
| 822 | slotEndertruhe = 0 -- Slot fuer die Endertruhe | |
| 823 | slotFackeln1 = 0 -- Slot fuer Fakeln 1 | |
| 824 | slotFackeln2 = 0 -- Slot fuer Fakeln 2 stop | |
| 825 | slotFackeln3 = 0 -- Slot fuer Fakeln 3 stop | |
| 826 | fakelanzahl1 = 0 -- anzahl der fakeln in slot 1 nach dem start | |
| 827 | fakelanzahl2 = 0 -- anzahl der fakeln in slot 2 nach dem start | |
| 828 | fakelanzahl3 = 0 -- anzahl der fakeln in slot 3 nach dem start | |
| 829 | slotAutofuel = 0 -- Slot fuer Autofuel | |
| 830 | fackelnSeitengang = 0 -- fackeln im seitengang, 0=keine | |
| 831 | laengeSeitengang = 0 -- laenge des seitengangs 0 = 5 | |
| 832 | entleerungEndertruhe = 0 -- nach wieielen gaengen wird die Endertruhe geleert, Standart 3 | |
| 833 | slotsAnzeige = {"_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_"}
| |
| 834 | corsor = 0 -- line of the cursor | |
| 835 | -- bereinigt den Bildschirm und baut das eingabe Fenster auf | |
| 836 | bildschirmStart() | |
| 837 | einstellungenLesen() | |
| 838 | -- fuerht 2 funktionen gleichzeitig aus, eingab und aktuellisuerung der Fakeln, Endertruhe, und Fullevel | |
| 839 | ||
| 840 | parallel.waitForAny(eingabeTunnellaenge, checkStatus) | |
| 841 | while (einstellung == 1) do | |
| 842 | parallel.waitForAny(einstellungen,timeshow) -- bearbeitung der einstellung | |
| 843 | einstellungenSpeichern() | |
| 844 | bildschirmStart() | |
| 845 | einstellungenLesen() | |
| 846 | parallel.waitForAny(eingabeTunnellaenge, checkStatus) | |
| 847 | end | |
| 848 | ||
| 849 | --Laed die Turtel vor dem start wieder auf wen etwas in slot 13 abgelegt wurde und merke die fakeln | |
| 850 | turtle.select(slotAutofuel) -- Slot 13 auswaehlen | |
| 851 | turtle.refuel(turtle.getItemCount(slotAutofuel)) -- auffuellung mit der anzahl Items in Slot 13 | |
| 852 | ||
| 853 | fakelanzahl1 = turtle.getItemCount(slotFackeln1) | |
| 854 | fakelanzahl2 = turtle.getItemCount(slotFackeln2) | |
| 855 | fakelanzahl3 = turtle.getItemCount(slotFackeln3) | |
| 856 | ||
| 857 | ||
| 858 | -- hier wird der tunnel gegraben | |
| 859 | if (ganganzahl ~= 0) then -- mach das nur wen du auch wirklich was gemacht hast | |
| 860 | tunnel() -- vielleicht so oder doch ueber einen extra status anzeige | |
| 861 | back() -- hier komm die turtel wieder zurueck zum ausgangspunkt | |
| 862 | end | |
| 863 | --zeit an das die Turtel fertig ist | |
| 864 | zeigtFertig() |