Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("apis/qmain")
- os.loadAPI("apis/qformat")
- os.loadAPI("apis/qbutton")
- function initialize()
- --Monitor initialisieren
- mon = qmain.setDefaultScreen("top")
- mon.setTextScale(0.5)
- qmain.clear()
- --Globale Variablen setzen
- beenden = false
- rs_output_back = false
- --Buttons definieren
- qbutton.setButton("color_toggle", "Farbe ändern", setRandomColor, nil, {2, 2}, {15, 3}, {"d", "h"})
- qbutton.setButton("redstone_toggle", "Redstone aus", toggleRedstone, nil, {2, 7}, {14, 3}, {"a", "f"})
- qbutton.setButton("write_label", "Label anzeigen", qformat.writeMarkup, {tostring(os.getComputerLabel()), {21, 13}}, {2, 12}, {16, 3}, {"a", "f"})
- qbutton.setButton("end_prog", "Beenden", endProgram, nil, {2, 17}, {9, 3}, {"d", "a"})
- end
- function setRandomColor()
- qbutton.changeButton("color_toggle", "color", {"d", string.char(math.random(97, 112))}) --zufällige Farbe von a-p
- end
- function endProgram()
- beenden = true
- end
- function toggleRedstone()
- --Eigentliche Aufgabe
- rs_output_back = not(rs_output_back)
- rs.setOutput("back", rs_output_back)
- --Anpassen der Hintergrundfarbe
- new_backcolor = ((rs_output_back == true) and "i" or "f")
- qbutton.changeButton("redstone_toggle", "color", {"d", new_backcolor})
- --Anpassen der Caption
- new_caption = "Redstone "..((rs_output_back == true) and "an" or "aus")
- qbutton.changeButton("redstone_toggle", "caption", new_caption)
- end
- function screen()
- qbutton.drawButton("color_toggle")
- qbutton.drawButton("redstone_toggle")
- qbutton.drawButton("write_label")
- qbutton.drawButton("end_prog")
- end
- --Jedes klick-basierte Programm sollte etwa folgenden Aufbau haben:
- initialize()
- screen()
- while (beenden == false) do
- local event, side, x, y = os.pullEvent("monitor_touch") --Klick feststellen
- if qbutton.clickOn({x, y}, side) then --Überprüfen ob Button geklickt wurde
- screen() --NUR wenn auch was getan wurde muss Screen alles neuzeichnen
- end
- end
- qmain.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement