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