• Kostenlose Vektorgrafiken zum Thema Pixel

    Spiel für zwei

    Dein Spiel funktioniert. Eine mögliche Erweiterung des Spiels wäre nun ein Spiel für 2 daraus zu entwickeln.

    • Hier findest du die Lösung der Aufgabe von letzter Woche.

    • https://www.davetrost.com/static/media/shell.f48db705.pngAnlegen der 2. Raupe


      Bevor du losprogrammierst, bitte ich dich eine Kopie deines bisherigen Spiels bzw. deiner Python-Datei zu erstellen. (Rechtsklick auf die Datei -> Kopieren anklicken -> Rechtsklick im Ordner -> Einfügen anklicken) Benenne die kopierte Datei um, zum Beispiel in raupe2.py.


      -> ->

      Öffne die raupe2.py Datei in Python IDLE:



      Damit du ein Spiel für 2 aus dem Raupe-Spiel entwickeln kannst, brauchst du eine 2. Raupe. Gehe in deinem Programmcode an die Stelle, wo du den 1. Raupenkörper definiert hast. Um nicht alles erneut von Hand zu schreiben, kopiere den Programmcode und füge ihn darunter erneut ein. Nun änderst du in diesem Code-Abschnitt das Objekt raupe zu raupe2 und die Farbe, damit man beim Spielen die Raupen unterscheiden kann.

      Dein Code für das raupe2-Objekt sollte nun wie folgt aussehen:


      Nun müssen die Funktionen teilweise angepasst werden. Für die Prüfung, ob eine der Raupen den Fensterrand berührt, muss deine Funktion ausserhalb_fenster() einen Parameter übermittelt bekommen. Der Parameter heißt raupe, so musst du in dieser Funktion nichts weiter anpassen, da du dieses Objekt in der Funktion bereits verwendest.



      In deiner while-Schleife in der Funktion starte_spiel() führst du den Funktionsaufruf in einer der beiden if-Bedingungen aus. An dieser Stelle muss die Bedingung erweitert werden, damit beide Raupen geprüft werden und der Funktionsaufruf den Übergabeparameter erhält.


      Wenn das Spiel beendet ist, muss sich auch die 2. Raupe verstecken. Dafür gehst du in die Funktion spiel_ende() und fügst für raupe2 auch ein hideturtle() ein.


      Nun müssen noch ein paar Änderungen in der Hauptfunktion also starte_spiel() erfolgen. Anschließend wirst du noch die Steuerung der 2. Raupe programmieren.

      Beginne mit der Ausgangsform der 2. Raupe. Damit diese Raupe zu Beginn des Spiels nach links sieht, fügst du neben shapesize() und showturtle() noch setheading(180) ein.



      Nun folgt in der while-Schleife zunächst die Fortbewegung der 2. Raupe mit:



      Die Prüfung der Entfernung zum Blatt muss ebenfalls ergänzt werden.


      Zum Schluss wird in der if-Bedingung, die du gerade angepasst hast noch die raupe2 vergrößert.


    • https://www.davetrost.com/static/media/shell.f48db705.pngSteuerung der 2. Raupe


      Für die Bewegung der 2. Raupe benötigst du eine zusätzliche Steuerung. Du kannst dafür die Funktionen zu der bestehenden Steuerung von der 1. Raupe kopieren und anpassen.

      Du benötigst für die 4 Richtungen wieder Funktionen und du musst diesen Funktionen 4 weitere Tasten zuordnen.

      Folgend der Beispielcode von mir dafür: