Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calc_color(color)
- return math.pow(2, color - 1)
- end
- function msg(gap, line, color, groundb, text)
- term.setBackgroundColor(calc_color(groundb))
- term.setCursorPos(gap, line)
- term.setTextColor(calc_color(color))
- term.write(text)
- end
- function head()
- term.setBackgroundColor(colors.black)
- term.clear()
- msg(13, 02, 05, 16, " SMF Item-Output Rechner ")
- msg(13, 03, 05, 16, " ~~~~~~~~~~~~~~~~~~~~~~~ ")
- end
- while true do
- head()
- -- Nachricht anzeigen und Anzahl der SMFs abfragen
- msg(1, 5, 4, 16, " Wie viele SMFs besitzt du?")
- term.setCursorPos(2, 6)
- TotalSMFAmount = tonumber(read()) -- Konvertiere die Eingabe in eine Zahl
- if TotalSMFAmount > 7 then
- TotalSMFAmount = 7
- end
- -- Tabellen für die Levels und Einstellungen der SMFs
- SMFLevels = {}
- SMFSettings = {}
- SMFResults = {}
- -- Abfrage der Levels für alle SMFs
- for i = 1, TotalSMFAmount do
- msg(1, 6 + i, 4, 16, " Level von SMF " .. i .. " : ")
- SMFLevels[i] = tonumber(read()) -- Level eingeben und in die Tabelle speichern
- if SMFLevels[i] > 3000 then
- SMFLevels[i] = 3000
- end
- end
- head()
- -- Erklärung der Einstellungen
- msg(1, 5 , 4, 16, " Einstellungen:")
- msg(1, 6 , 4, 16, " 1 = UU-Matter")
- msg(1, 7 , 4, 16, " 2 = Solars")
- msg(1, 8 , 4, 16, " 3 = LV-Solars")
- x = 10
- -- Abfrage der Einstellungen für alle SMFs
- for i = 1, TotalSMFAmount do
- msg(1, x, 4, 16, " Einstellung für SMF " .. i .. " Level: " .. SMFLevels[i] .. " (1/2/3): ")
- setting = tonumber(read()) -- Einstellung eingeben und in die Tabelle speichern
- x = x + 1
- -- Validierung und Umwandlung der Einstellung in Text
- if setting == 1 then
- SMFSettings[i] = "UU-Matter"
- if SMFSettings[i] == "UU-Matter" and SMFLevels[i] > 48 then
- SMFLevels[i] = tonumber(48)
- end
- SMFResults[i] = math.floor(SMFLevels[i] * 33333 / 1000000 * 20 * 60 * 60)
- elseif setting == 2 then
- SMFSettings[i] = "Solars"
- if SMFSettings[i] == "Solars" and SMFLevels[i] > 940 then
- SMFLevels[i] = tonumber(940)
- end
- SMFResults[i] = math.floor(SMFLevels[i] * 33333 * 20 * 60 / 19550000 * 60)
- elseif setting == 3 then
- SMFSettings[i] = "LV-Solars"
- SMFResults[i] = math.floor(SMFLevels[i] * 33333 * 20 * 60 * 60 / 158706000)
- else
- SMFSettings[i] = "Unbekannt"
- SMFResults[i] = 0 -- Fallback bei ungültiger Einstellung
- end
- end
- head()
- term.setTextColor(16384)
- print(" ")
- print(" ")
- print(" Maximales Level für UU-Matter: 48")
- print(" Maximales Level für Solars: 940")
- print(" ")
- print(" ")
- -- Ergebnisse anzeigen
- for i = 1, TotalSMFAmount do
- msg(01, i + 8, 04, 16, " " .. i .. ".SMF - Level: " .. SMFLevels[i])
- msg(22, i + 8, 04, 16, "->")
- msg(25, i + 8, 04, 16, " " .. SMFResults[i])
- msg(32, i + 8, 04, 16, " " .. SMFSettings[i] .."/h")
- end
- --Programm neustarten )
- msg(01,17,01,06," -> neue Berechnung starten <- ")
- msg(01,19,01,15," -> System Neustart <- ")
- local event, button, X, Y = os.pullEvent("mouse_click")
- if X >= 01 and X <= 51 and Y == 17 then --neue Berechnung
- -- neue berechnung
- elseif X >= 01 and X <= 51 and Y == 19 then --restart
- os.reboot()
- end
- sleep(0.5)
- end
Advertisement
Add Comment
Please, Sign In to add comment