Lycodon API
by Qivex
Hallo zusammen,
wie einige von Euch sicherlich mitbekamen habe ich die letzten Wochen daran gearbeitet eine Lycodon-API für ComputerCraft zu erstellen, damit die etwas
unerfahreneren Programmierer auf dem Server auch ohne viel Aufwand komplexe Programme schreiben können. Diese möchte ich Euch heute nun zur Verfügung
stellen, und die Verwendung selbiger erläutern.
Zunächst ein bisschen Grundsätzliches was ihr über die Verwendung der API wissen müsst:
-> Die API ist in Teile bzw "Level" aufgesplittet. Dies ist darin begründet, dass ihr nicht für jedes Programm jede Methode brauchen werdet, und ihr
ansonsten zu viele unbenötigte Funktionen mit herunterladet.
-> Eine Teil-API kann andere Teil-APIs vorraussetzen. Achtet also vor dem Verwenden auf eventuelle Abhängigkeiten, ansonsten wird es nicht funktionieren.
-> Die API-Namen beginnen alle mit "Q", darauf folgt der Verwendungsbereich (zB "QButton").
-> Jede Methode hat variable Parameter. Heißt: Ihr könnt Parameter von hinten nach vorne weglassen, und anstelle dieser Werte werden dann Default-Werte eingesetzt. Zum Testen
einer Methode könnt ihr sogar gar keinen Parameter übergeben, oder einzelne Parameter "nil" setzen wenn ihr die Syntax für diesen Parameter gerade nicht wisst - Der Aufruf
wird trotzdem funktionieren.
-> Ich stelle Euch die API kostenlos und Open-Source zur Verfügung. Ihr könnt sie Herunterladen & Verwenden sowie Code-Bestandteile oder ganze Methoden in
eure eigenen Programme übernehmen.
-> Die einzige Einschränkung gilt dem Ingame-Verkauf von Programmen mit von mir geschriebenem Code; sollte ich ein solches Ausnutzen feststellen werde ich dafür
sorgen das ihr für "Klauen des Eigentums Fremder" einen Warn bekommt. (Klarstellung: Ihr dürft Programme verkaufen die die API laden, aber nicht Programme
die meinen Code direkt beinhalten)
Herunterladen & Verwenden der APIs:
Alle APIs sind auf meinem Pastebin-Account hochgeladen. Ihr könnt sie Ingame mit dem vorinstallierten pastebin get [code] [location] herunterladen.
Beachtet bitte dass:
a) die APIs in der Reihenfolge der Anhängigkeiten geladen werden müssen.
b) aufgrund der Abhängigkeiten die Programmbezeichner nicht abweichen sollten.
Vorgehensweise:
1) Anhand dieses Beitrags oder der PDF entscheiden welche API man benötigt.
2) Herausfinden, welche anderen APIs ebenfalls benötigt werden.
3) Die APIs auf den Advanced (!) Computer herunterladen: pastebin get [code] [location] Achtet darauf den richtigen Namen einzuhalten!
4) Am Programmbeginn in Eurem Programm die APIs in der gegebenen Reihenfolge laden mit: os.loadAPI(location)
5) Die gewünschte Methode wie alle anderen APIs aufrufen (zB qbutton.drawButton())
Übersicht:
Dies soll nur einen kurzen Überblick geben, die detaillierten Erklärungen mit Beispielen findet Ihr in der PDF im Anhang.
QMain-API (Level 1):
Abhängigkeiten:
keine
Zusammenfassung:
- Grundlage für alle anderen APIs
- Kapselung häufig verwendeter Abläufe
- Vereinfachung mancher Probleme
- Setzen von Werten, damit ihr später bei allen anderen APIs Parameter weglassen könnt
Methoden:
siehe PDF
QFormat-API (Level 2):
Abhängigkeiten:
benötigt geladene QMain-API
Zusammenfassung:
- Vereinfachung von grafischen Elementen
- Verbesserung des User-Interfaces
- Farbgestaltung für Programme / Bildschirme
- Text, Formen, Bilder
Methoden:
siehe PDF
QButton-API (Level 3):
Abhängigkeiten:
benötigt geladene QFormat-API (und damit auch QMain-API)
Zusammenfassung:
- Das Geheimnis jedes intuitiven Programms: Buttons
- Anlegen, Einfügen und interaktives Verändern während der Laufzeit möglich!
- Komplett individualisierbar
Methoden:
siehe PDF
QKeyboard-API (Level 4):
Abhängigkeiten:
benötigt geladene QButton-API (und damit auch QFormat- & QMain-API)
Zusammenfassung:
- Erstellen einer eigenen Bildschirmtastatur
- Mehrere Tastaturen gleichzeitig möglich
Methoden:
siehe PDF
Ich bin mir sicher dass einige von Euch Verwendung für meine API finden werden, solltet ihr Unterstützung bei Euren Projekten benötigen könnt Ihr Euch gerne bei
mir melden =)
Über Feedback, Verbesserungsvorschläge oder Korrekturen freue ich mich wie immer
MFG Qivex