Wofür ist dieses cmd eigentlich gut? Und das Terminal unter Linux? Ist ja alles nur Text, voll die scheiß Grafik, keine Waffen, keine Gegner, lolololololo.
Naja – bei mir stehen bald Prüfungen an. Eine davon ist Programmierung C. Wie bereitet man sich auf eine Prüfung vor, wenn man alle Aufgaben schon gemacht hat? Nochmal machen? Joaa.. wäre ne Idee. Aber vorher hab ich mir was anderes überlegt: Minecraft.
Und damit meine ich nicht “Lernen? Bitch, please. Ich zocke Minecraft.” sondern “Lernen? Nagut, dann aber kreativ.”
Kann sich jemand noch an Text-Adventures erinnern? Man sitzt vor einem schwarzen Fenster, liest weißen Text und tippt Aktionen ein. “Nimm Schlüssel” – “Öffne Tür” – “Gehe links” oder so.
Warum das ganze nicht auf Minecraft anwenden? Ein Minecraft-Text-Adventure: cmdcraft.
Was braucht man dafür? Vorstellungskraft und alles das, was man in einem Semester C gelernt hat. Also eigentlich nicht viel. Am Anfang steht grundsätzlich die Idee. Und dann Ideen für die Umsetzung der Idee. Und die ist einfach:
Ich habe ein mehrdimensionales Array (2 Dimensionen, zur besseren Vorstellungskraft – wie x-Achse und y-Achse oder einfach ne Tabelle). Das fülle ich mit Zufallszahlen, die via Modulorechnung klein gehalten werden. Ich rechne immer: Feldinhalt = der Rest der Divison von Zufallszahl : Nummer der Reihe (Feldinhalt = Zufallszahl%Reihennummer).
Daraus folgt: Je mehr Reihen wir haben (sprich: je weiter “runter” wir gehen), desto größer können diese Zufallszahlen sein, die in das Feld geschrieben werden.
Daraus folgt wiederum: Je mehr Reihen wir haben (oder je tiefer wir gehen), desto geringer ist die Wahrscheinlichkeit, dass wir eine niedrige Zahl haben.
So kann man die Seltenheit bestimmter Materialien kontrollieren. Beispiel: Diamant. Sollte in Minecraft relativ selten sein. Wenn also ab Reihennummer = 40 im Feldinhalt eine 1 steht wird es zum Material “Diamant”. Wenn aber davor im Feld eine 1 steht ist es z.B. Kohle und wenn wir in Reihe 15 oder weniger sind, wird es einfach zu Stein/Erde/irgendwas häufigem.
Klar soweit? Die Idee ist relativ simpel – Die Umsetzung durchaus zu bewältigen.
Das einzige, was ich jetzt noch brauche ist eine Funktion, die mir sagt welcher Feldinhalt welches Material ist. Moment – da fehlt noch was. Zumindest ist das ganze so relativ doof. Also habe ich noch eine Funktion, die die Feldinhalte durchgeht und ersetzt. Nach dem obigen Prinzip zur Seltenheit der Materialien schreibe ich in das Feld verschiedene Zahlen – für jedes Material eine. Erde = 1, Wasser = 2, Gravel = 3, usw..
So muss ich nicht bei jedem Abruf des Feldinhaltes überprüfen, in welcher Reihe wir uns befinden. Zum Ausgeben brauche ich dann nur noch eine Funktion, die statt die Nummern auszugeben überprüft welche Nummer im Feld steht und stattdessen einfach “KOHLE” oder sowas ausgibt. Klingt super bisher? Joa ..
Was brauchen wir dann noch?
- den Spieler (schon hinzugefügt, kommt im nächsten Blogeintrag)
- die Möglichkeit sich zu bewegen ( — ” –)
- die Möglichkeit zu graben (– ” –)
- “Luft” über dem eigentlichen Boden (–”–)
- ein Inventar
- die Möglichkeit zu craften
- verschiedene Attribute für die Materialien
- …
Wenn jemand eine Idee hat – dann immer her damit.
Das ist der aktuelle Stand:
Ausführlich mit Erklärung und mehr gibt’s das ganze dann demnächst.
Keine ähnlichen Einträge.



