ef:lernziele_oop_minecraft

Lernziele Minecraft und Python/OOP

Die Grundkonzepte von Python verstehen

  1. Variablen
    1. Sichtbarkeit (Scope)
    2. Lokale vs. globale Variablen
    3. Unterschied zwischen dynamischer und statischer Typisierung - was verwendet Python?
    4. Camelcase, Snakecase, Pascalcase
    5. Wozu dient das Schlüsselwort global in einer Funktion?
    6. Unterschied zwischen call by value und call by reference.
    7. Mutable (veränderbar) und imutable (unveränderbare Variablen). Welche Typen sind in Python mutable?
    8. Python verwendet „call by object reference“, was bedeutet dies?
  2. Funktionen
    1. Konzept und Aufgabe der Funktionen verstehen
    2. Parameter/Argumente bei Funktionsaufrufen verstehen
    3. Funktionen mit Rückgabewert verstehen.
  3. Listen
    1. Verstehen, wie man Listen definiert und wie man auf die Elemente zugreift.
    2. Die einfachsten Listenbefehle verstehen (append, insert, remove)
    3. Listen erstellen mit dem range-Befehl
    4. Listen durchgehen mit dem for xxx in range-Befehl
  4. While und if-Befehl verstehen.
  1. Unterschied zwischen Klasse und Objekt/Instanz verstehen und das Konzept begreifen.
  2. Klassenvariablen vs. Instanzvariablen unterscheiden können und verstehen.
  3. Klassenmethoden vs. Instanzmethoden unterscheiden können und verstehen, wie diese in Python erstellt werden.
  4. Das Schlüsselwort self und seine Rolle in der OOP Programmierung in Python verstehen
  5. Wissen, was die Aufgabe des Konstruktors ist, und wie dieser in Python aussieht.
  6. Public, Protected und Private-Variablen unterscheiden können.
  7. Datenkapselung/Getter- und Setter-Methoden: wozu dienen sie?
  8. Vererbung verstehen. Wann ist es sinnvoll, Vererbung einzusetzen?
  9. Verstehen, wozu die Methode super() dient.
  10. Was versteht man unter overloading (überladen) und overriding (überschreiben) ?

Die untenstehenden Befehle aus Minecraft sollte man verstehen, wenn man sie sieht:

Befehl Beispielbefehl/Erklärung
world(100,-60, 100) Weltkoordinaten
pos(10, 3, 7) Relative Koordinaten
agent.set_item agent.set_item(DIAMOND_BLOCK,64,2)
agent.set_slot agent.set_slot(1)
agent.place agent.place(LEFT)
agent.move agent.move(FORWARD,3)
agent.turn agent.turn(LEFT)
agent.set_assist(PLACE_ON_MOVE, [TRUE/FALSE]) Bauen, während Agent sich bewegt (Ja/Nein)
agent.teleport_to_player() Agenten zum Spieler teleportieren
agent.set_assist(DESTROY_OBSTACLES, [TRUE/FALSE]) Hindernisse zerstören
blocks.place blocks.place(GOLD_BLOCK, world(101,-60, 20)
blocks.fill blocks.fill(CONCRETE, world(1,-60,1), world(6, -50, 7),FillOperation.HOLLOW)
player.say player.say(„Hallo“)
agent.inspect(AgentInspection.BLOCK, FORWARD) Gibt die Block-ID
agent.detect(AgentDetection.BLOCK, FORWARD) Gibt True/False
blocks.test_for_block(GRASS, world(0, -60, 0)) Gibt True/False
  • ef/lernziele_oop_minecraft.txt
  • Zuletzt geändert: 2022/10/10 15:50
  • von lehmannr