i

Übungen

Mission 1: Unbemannte Bedrohung - Schritt 1

Schreibe ein Unterprogramm avoidAsteroid() (avoid = dt. ausweichen), welches die nachfolgende Mission erfüllt. Das Hauptprogramm ist schon gegeben und soll unverändert bleiben. Lösche den Begriff pass aus der Funktion und ergänze die fehlenden Anweisungen.

# Unterprogramm (Funktion)
def avoidAsteroid():
    pass

# Hauptprogramm
while not argo.onPow():
    if not argo.rockFront():
        argo.move()
    else:
        avoidAsteroid()
Vorher: Unterprogramme Nachher: Unterprogramme

Der Begriff pass wird verwendet, wenn die Funktion noch keine Anweisungen enthält. Ohne pass erscheint eine Fehlermeldung.

Mission 2: Unbemannte Bedrohung - Schritt 2

Schreibe ein weiteres Unterprogramm findEnemy(). Behalte die Funktion avoidAsteroid() aus der vorangegangen Mission weiterhin im Editor, da du die Funktion für diese Mission benötigst. Lösche daher nur das Hauptprogramm der letzten Mission. Passe die Welt an und ergänze im Editor die fehlenden Teile, die du unten im Quelltext siehst.

# Unterprogramm (Funktion)
def avoidAsteroid():
    # Deine Answeisungen aus Mission 1

def findEnemy():
    pass

# Hauptprogramm
findEnemy()
Vorher: Unterprogramme Nachher: Unterprogramme

Wenn du die Hauptprogramme aus den ersten beiden Missionen vergleichst siehst du, dass eine Funktion, d.h. der Funktionsaufruf in weitere Anweisungen eingebettet werden kann (Mission 1) oder sogar nur einzeln (Mission 2), ohne weitere umgebende Anweisungen, möglich ist.

Mission 3: Unbemannte Bedrohung - Schritt 3

Es fehlt noch ein letztes Unterprogramm: backToPow(). Behalte beide Funktion aus den vorangegangen Mission, lösche wieder das Hauptprogramm und ergänze die fehlenden Teile, die du unten im Quelltext siehst.

# Unterprogramm (Funktion)
def avoidAsteroid():
    # Deine Answeisungen aus Mission 1

def findEnemy():
    # Deine Answeisungen aus Mission 2

def backToPow():
    pass

# Hauptprogramm
backToPow()
Vorher: Unterprogramme Nachher: Unterprogramme

Mission 4: Unbemannte Bedrohung - Das Finale

Nachdem die Argo in einer ihrer letzten Missionen nur knapp einem Energiedesaster entkommen ist, achtet die Crew der Argo nun besonders auf eine ausreichende Energiezufuhr. Dazu hat die Argo einen Power-up im Sektor platziert, zu welchem sie immer zurückkehren kann, wenn weitere Energie gebraucht wird.

Leider war die Crew unaufmerksam und hat während der vergangenen drei Trainingsmissionen übersehen, dass die Argo von feindlichen Drohnen umzingelt wurde. Um die Bedrohung abzuwehren, sollen sämtliche Drohnen ausgeschaltet werden.

Behalte alle Funktionen, die du in den vergangenen Missionen erstellt hast und verwende sie zur Lösung dieser Mission.
Unterprogramme

Mission 5: Ehrlich? Schon wieder Energiemanel?

Scheinbar ist der Energiemangel auf der Argo ein wiederkehrendes Problem. Aber die Crew ist vorbereitet.

Benutze die Funktion asteroidenAuseichen() aus dem Kapitel Erkundung zur Lösungs dieses Problems.

Du kannst dir die unten angezeigte Welt Kapitel_5_Mission1.world mit einem Rechtsklick > Link speichern unter... herunterladen. Öffne diese dann direkt im Editor in Spacebug, indem du im Menü Datei auf Öffnen klickst und um Dropdown-Menü unten rechts den Eintrag von Spacebug Skript zu Weltdatei änderst. Navigiere dann zum Speicherort der Weltdatei (meistens im Downloadordner) und klicke auf Öffnen.

Unterprogramme

Suche

v
6.4.5.2
dev.inf-schule.de/imperative-programmierung/spacebug/unterprogramme/uebungen
dev.inf-schule.de/6.4.5.2
dev.inf-schule.de/@/page/BQEQ8RvbnjCL9fMA

Rückmeldung geben