Aufgabenstellung
Unser eben hinzugefügter Gegenspieler bekommt jetzt einen neue Aufgabe. Er soll Scratch selbstständig vom
Punkt (x=0 | y=-120) bis zum Punkt (x=150 | y=100) entgegenkommen und danach zum Punkt (x=-150 | y=100) gehen.
Wenn Scratch seinen Gegenspieler berührt, soll das Spiel neustarten.
Wichtig: Auch der Gegenspieler darf den schwarzen Weg jetzt nicht mehr verlassen.
Lösung
Das Arbeiten mit Koordinaten in Scratch ist uns übrigens nicht fremd. Jedes Mal, wenn Scratch zehn Schritte nach rechts geht, ändert er seine Position um zehn Punkte auf der x-Achse. Geht er hingegen zehn Schritte nach oben, verändert er seine Position um zehn Punkte auf der y-Achse. Die genaue Position aller Objekte kann man in den Objektinformationen über den Tabs auslesen.
Nachdem wir unsere Koordinaten eingetragen haben, weiß unser Gegenspieler bereits, wohin er laufen (bzw. gleiten) muss. Da er jedoch beim Gleiten zu diesen Koordinaten den schwarzen Weg verlassen würde, müssen wir Zwischenziele, an die der Gegenspieler zuerst hingleiten soll, eintragen. Diese Anweisungskette tragen wir dann in eine „wiederhole fortlaufend”-Schleife ein.
Das Skript für Objekt3 haben wir somit fertig. Jetzt müssen wir zurück in den Skriptbereich von Objekt1 gehen, um zu definieren, wie sich Scratch verhalten soll, wenn er seinen Gegenspieler berührt. Da das Ergebnis das Gleiche sein soll, wie wenn Scratch den Weg verlässt (Spiel wird neu gestartet), können wir den Code einfach kopieren. Jetzt muss nur noch die Bedingung abgeändert werden, in der das Spiel neu gestartet werden soll. Unter dem Menüpunkt „Fühlen” fügen wir anstelle der Farbe das Feld „wird [Objekt3] berührt” ein. Somit lassen sich Objekte durch Koordinaten einfach an einer bestimmten Stelle auf unserer Bühne platzieren.