Der ultimative Spickzettel

Anleitung

Cool Code ist vielleicht die einzige Schule, bei der Spicken nicht nur erlaubt ist, sondern gewünscht wird!

Wann auch immer du Mühe hast, dich an ein vergangenes Thema zu erinnern, schaue unbedingt in den Spickzettel. 😎

Food Pack

Jetzt herunterladen

Inhalt

Objektorientierte Programmierung

Lernziele

  • Wozu ist OOP gut? (Objektorientierte Programmierung)
  • Was sind Klassen und Instanzen?
  • Was sind Felder und Methoden?
  • Wie sehen Klassen aus in der Programmiersprache C#?

Grundidee

Das ist die Grundidee von objektorientierter Programmierung:

Wir erstellen nicht ein riesiges Script, welches das ganze Game beinhaltet.

Das ist nicht OOP!

Wir teilen unseren Code auf in verschiedene Gruppen namens "Klassen".

Das ist OOP! 😎

Klassen und Instanzen

Eine Klasse muss nur ein Mal programmiert werden und dann können unendlich viele Kopien davon gemacht werden. Diese Kopien heisst "Instanzen":

Felder und Methoden

Nun machen wir etwas ekliges, wir schauen in den Zombie hinein!

Innerhalb einer Klasse gibt es sogenannte Felder und Methoden.

Felder beschreiben, was eine Klasse hat. Sie sind sozusagen die "Nomen" der Klasse.

Spickzettel

Methoden beschreiben, was eine Klasse kann. Sie sind sozusagen die "Verben" der Klasse.

Spickzettel

Wozu ist OOP gut? (Objektorientierte Programmierung)
Was sind Klassen und Instanzen?
Was sind Felder und Methoden?
Wie sehen Klassen aus in der Programmiersprache C#?

Variablen

Lernziele

  • Was ist eine Variable?
  • Was sind Datentypen?
  • Wie sollten Variablen benennt werden?
  • Was ist der Unterschied zwischen Deklaration und einer Zuweisung?
  • Was bedeutet Scope und was ist der Scope von Variablen?

Grundidee

Ganz einfach: Eine Variable ist ein Speicher.

Manchmal wollen wir in unserem Programm Dinge speichern wie zum Beispiel:

Du siehst, es gibt ganz viele Gründe, um etwas speichern zu wollen. Wichtig zu verstehen ist, dass der Inhalt einer Variable auch geändert werden kann. Er ist "variabel", daher kommt auch der Name "Variable".

Hier siehst du das Beispiel einer Variable in der Programmiersprache C#.

Datentypen

In Variablen können wir unterschiedliche Informationen speichern, wie zum Beispiel Zahlen oder Text. Diese unterschiedliche Arten von Informationen, die du du in eine Variable speichern kannst, heissen "Datentypen".

Die wichtigsten Datentypen für uns sind:

Deklaration vs. Zuweisung

Eine Variable muss nur einmal erstellt werden und kann danach mehrmals verändert oder abgefragt werden.

Deklaration heisst, die Variable wird erstellt.

Zuweisung heisst, es wird ein neuer Wert in die Variable gespeichert.

Hier ist ein Beispiel für das erstellen einer Variablen-Deklaration und eine Zuweisung:

Deklaration: In der oberen Zeile wird eine neue Variable erstellt mit dem Datentyp integer (Zahlen ohne Kommastelle) und dem Namen "health". In der Programmiersprache C# schreibt man nur "int" als Abkürzung.

Zuweisung: In der unteren Zeile wird die Zahl 5 in die Variable namens "health" gespeichert. Man sagt: "Der Variable health wurde der Wert 5 zugewiesen." Beachte hier, dass der Datentyp "int" nicht angegeben wurde. Der Datentyp wird NUR angegeben, wenn die Variable neu erstellt wird.

Felder

Lernziele

  • Was ist ein Feld?
  • Was bedeutet private oder public vor dem Feld?
  • Was ist der Unterschied zwischen lokalen Variablen und Feldern?

Methoden

Lernziele

  • Was ist eine Methode?
  • Was ist der Unterschied zwischen definieren und aufrufen einer Methode?
  • Was bedeutet private oder public vor der Methode?
  • Was sind Parameter?
  • Wie funktioniert "return" bei Methoden?

If-Bedingungen

Lernziele

  • Was ist eine If-Bedingung?
  • Wie funktionieren else-if und else Anweisungen?
  • Wie können mehrere Bedingungen verknüpft werden?

Vektoren

Lernziele

  • Was ist ein Vektor?
  • Was sind Beispiele, wozu Vektoren nützlich sind in der Spielprogrammierung?
  • Wie berechne ich die Distanz zwischen zwei Figuren?

Schleifen

Lernziele

  • Wozu sind Schleifen nützlich?
  • Was ist eine Endlosschleife und warum muss man aufpassen?
  • Welche Arten von Schleifen gibt es?

Arrays

Lernziele

  • Was sind Arrays?
  • Wie kann ich den Array Inhalt abfragen?
  • Wie kann ich den Array Inhalt überschreiben?
  • Wie kann ich mit einer Schleife über ein Array iterieren?
  • Was sind Mehrdimensionale Arrays?

Sichtbarkeitsbereich

Lernziele

  • Was bedeutet Sichtbarkeitsbereich?
  • Was ist der Sichtbarkeitsbereich von Variabeln?
  • Was ist der Sichtbarkeitsbereich von Methoden und Feldern?
  • Was ist eine öffentliche Schnittstelle?
  • Warum ist es so wichtig, dass "private" und "public" richtig verwendet werden?

Vererbung

Lernziele

  • Wozu ist Verwerbung nützlich?
  • Wie funktioniert Vererbung?

Interfaces

Lernziele

  • Wozu sind Interfaces nützlich?
  • Wie funktionieren Interfaces?

Singletons

Lernziele

  • Was ist ein Singleton?
  • Wann kann ein Singleton angewendet werden, wann nicht?
  • Wie programmiert man den Singleton?

Github

Lernziele

  • Was ist Git und was sind die Vorteile davon?
  • Was ist der Unterschied zwischen Git und Github?
  • Was ist der Unterschied zwischen Commit, Push, Fetch und Pull?
  • Was ist ein Merge Konflikt und wie kann man diese vermeiden?

Minimum Viable Product (MVP)

Lernziele

  • Was ist der Vorteil von MVP?