Gute Computercraft Tutorials

Minecraft Themen die sich nicht auf das Mission Alternate Projekt beziehen.

Gute Computercraft Tutorials

Beitragvon MacVilleLP » Mi 25. Jun 2014, 12:10

Hi zusammen,

kennt einer von euch eine gute Seite oder ein Deutsche/Englischen YTber der Tutorials zum Programmieren von CC macht?
Ich wollte mich da mal in das Thema reinarbeiten und mir ein paare Programme schreiben.
Weil es gibt ja CC Programme wie Sand am Meer, aber es treffen ja nicht immer alle auf die Bedürfnisse einer Person.

Danke und Grüße

MacVilleLP / Stefan
MacVilleLP
 
Beiträge: 76
Registriert: Di 10. Jun 2014, 16:44
Wohnort: BaWü

Re: Gute Computercraft Tutorials

Beitragvon AmigaLink » Do 26. Jun 2014, 00:59

LUA für Anfänger und dazu noch die Computercraft APIs

Es gibt auch jede menge YouTuber die diverse Computercraft Tutorials gemacht haben, aber das nutzt dir im Endeffekt überhaupt nichts. Zum einem weil sich an der Computercraft API einiges verändert hat und zum anderem weil die dir im Prinzip nur zeigen wie man eine Tür aufmacht. Was du aber brauchst, um eigene Programme entwickeln zu können, ist Verständnis fürs Programmieren. Du musst die notwendige Logik verstehen und dann jede menge Erfahrung sammeln.
Klingt doof, ist aber so. :geek:

Nehmen wir mal an du möchtest einer Turtle beibringen das sie erst etwas tut wenn sie eine bestimmte Anzahl an Items in ihrem Inventar hat.
Ein Computercraft Tutorial würde dir diesen Code präsentieren und dabei sagen das die Zahl 512 die Anzahl der geforderten Items ist und du diese Zahl nur an deine Wünsche anpassen musst.
Code: Alles auswählen
  A = 0
  while A < 512 do
    A = 0
    for B = 1,8 to
      A = A + turtle.getItemCount( B )
    end
  end
Nutzt dir das etwas? Weisst du nun warum die Turtle damit permanent ihr Inventar durchsucht bis sie 512 Items gefunden hat?

Ein Programmier-Tutorial sagt dir das die Buchstaben A und B jeweils eine Variable darstellen die wiederum jeden beliebigen Wert annehmen können. Wobei man noch wissen sollte/muss das es verschiedene arten von Variablen gibt (Integer, String, Float und Bool) was im Fortgeschrittenem Programmierstadium sehr wichtig wird. Am Anfang reicht es jedoch vollkommen aus wenn man den Unterschied zwischen Integer (Zahlen) und String (Texte) kennt.

Nun schau dir den Code nochmal an.
Ohne zu Wissen was die anderen Befehle bewirken müsstest du nun schon merken das die Grundlage dieses Codes die beiden verwendeten Variablen sind. :)
In der ersten Zeile weise ich der Variable A den wert 0 zu.
In der zweiten Zeile beginne ich eine sogenannte While-Schleife die erst in der letzten Zeile beendet wird. (Um das besser erkennen zu können wird die Zeileneinrückung verwendet.) Das bedeutet das alles was zwischen der zweiten und der letzten Zeile steht so lange wiederholt wird bis die Bedingung der While-Schleife erfüllt ist. Die Bedingung wiederum steht zwischen dem while und dem do. Dabei handelt es sich um einen Vergleichsoperator der besagt das die A kleiner als 512 sein soll.
Zeile 2 sagt also: "So lange die Variable A einen wert hat der kleiner als 512 ist machst du alles was innerhalb der Schleife steht. Wenn die Variable den Wert 512 erreicht hat oder sogar größer ist, ignorierst du den Inhalt der Schleife und machst das was danach kommt."
In Zeile 3 setze ich den Wert schon wieder auf 0. Warum? Das ist doch vollkommen unlogisch.
Nein ist es nicht. Schauen wir mal weiter, dann wird es (hoffentlich) ersichtlich.
In Zeile 4 beginne ich eine For Schleife die besagt das alles innerhalb dieser Schleife (Zeile 5) wiederholt wird wie es die Bedingung besagt. Die Bedingung steht zwischen dem for und dem to und stellt einen Zähler dar dessen Wert (gespeichert in der Variable B) sich immer dann verändert wenn der Anfang der Schleife abgearbeitet wird.
Beim erstem mal wird die Variable B auf 1 gesetzt. Bei jedem weiterem Aufruf wird B um 1 erhöht. Wenn B der Wert 8 erreicht hat wird am ende der Schleife nicht mehr zum Anfang gesprungen. Auf gut Deutsch wird die Zeile 5 genau 8 mal abgearbeitet.
Was macht Zeile 5?
Sie verändert den Inhalt der Variable A. Und zwar führt sie eine Rechenoperation aus deren Ergebnis sie in A Speichert.
Die Rechenoperation ist A + turtle.getItemCount( B ).
Genau an dieser Stelle kommen wir von der Programmiersprache LUA zur Computercraft-API.
turtle.getItemCount( B ) ist ein Befehl aus dieser API. Der Befehl ermittelt die Anzahl der Items die sich in Slot B des Inventares der Turtle befindet.
Nun erinnern wir uns das es sich bei B um eine Variable handelt deren Wert von der For-Schleife bestimmt wird und somit bei jedem Aufruf dieser Programmzeile einen anderen wert hat.
Was macht die For-Schleife?
Sie zählt von 1 bis 8.
Es werden also die Slots 1 bis 8 durchsucht und die Anzahl der darin befindlichen Items in der Variable A gespeichert.
Wenn das geschehen ist wird wieder an den Anfang der While-Schleife gesprungen.
Was passiert da?
"Manchmal sollte man vielleicht mal seine eigene Einstellung ein wenig überdenken."
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 182
Registriert: Sa 24. Mai 2014, 14:30
Wohnort: NRW


Zurück zu Rund um Minecraft



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron