Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Übungen

Erweiterungen und Übungen zu "Go Home"

Aufgabe 1 - Go Home-Varianten

Erweitere das Spiel nach einer oder mehrerer der folgenden Ideen:

  1. Um zu gewinnen muss man beide (anstatt nur eine) Figuren auf dem Home-Feld haben. Eine Figur, die auf dem Home-Feld ist, nimmt an den Bewegungen dann nicht mehr teil.
  2. Die Spiellänge ist auf z.B. 10 Züge pro Spieler limitiert. Falls dann noch keiner der Spieler auf dem Home-Feld ist, gewinnt derjenige,...
    • ... dessen nächste Figur näher am Home-Feld ist, oder derjenige ...
    • ... dessen Figuren im Durchschnitt näher am Home-Feld sind.
  3. Jeder Spieler darf einmal im Verlauf eines Spieles die Figuren neu zuordnen. Dazu werden zwei Figuren zufällig dem roten Spieler zugeordnet, die beiden anderen Figuren dem blauen Spieler.
  4. ... sei kreativ und lasse Dir eigene Varianten des Spiels einfallen!

Aufgabe 2 - Greenfoot-Version

Go Home lässt sich mit einigen Änderungen auch grafisch in Greenfoot realisieren. Man muss dazu z.B. die Koordinaten zum Gewinnen ändern. Außerdem muss man sich überlegen wie die Steuerung der Figuren erfolgen soll. Es gibt hier unterschiedliche Wege wie z.B. Methoden in der Welt, auf die man durch Rechts-Klick auf die Welt zugreifen kann, oder grafische Actor-Objekte oder eine Steuerung über die Tastatur etc. Außerdem kann man das Spiel natürlich noch beliebig variieren, so dass Figuren sich gegenseitig stören können, oder bei Kollision mit bestimmten Objekten an den Rand der Welt verschoben werden etc. Finde Deinen eigenen Weg und implementiere das Spiel in Greenfoot.

Weitere Übungen

Aufgabe 3 - (Wo)manizer

(Wo)manizer ist ein Spiel für echte Machos (bzw. deren weibliche Kolleginnen), oder solche die es gerne werden möchten. Um einen Eindruck zu bekommen, kannst Du Dir ein Beispiel-Spiel anschauen:

Die Anforderungen lauten folgendermaßen (In der Variante Womanizer):

Lade Dir die Vorlage zum Spiel herunter und implementiere es gemäß den genannten Anforderungen. Möchtest Du lieber die Männer nach Deiner Pfeife tanzen lassen, darfst Du natürlich gerne die "Manizer"-Variante des Spiels erstellen.

Aufgabe 4 - Referenzen auf Hunde

Gegeben sei die Implementierung der Klasse Hund:

class Hund{
	String name;
	int alter;

	Hund(String n, int a){
		name = n;
		alter = a;
	}

	void bellen(){
		System.out.println("Wuff, ich bin " + name + " und " + alter + " Jahre alt.");
	}
}

Beschreibe unter Zuhilfenahme eines Objektdiagrammes genau was der folgende Code bewirkt:

new Hund("Bello", 5);           // 1
Hund h1 = new Hund("Wuffi", 3); // 2
Hund h2 = new Hund("Otto", 6);  // 3
Hund h3 = h1;                   // 4
h1.bellen();                    // 5
h2.bellen();                    // 6
h3.bellen();                    // 7
h1.alter = 4;                   // 8
h2.alter = 7;                   // 9
h3.alter = 5;                   // 10
h1.bellen();                    // 11
h2.bellen();                    // 12
h3.bellen();                    // 13
h1 = null;                      // 14
h1.bellen();                    // 15
h3 = new Hund("Otto", 7);       // 16
System.out.println(h2 == h3);   // 17

Aufgabe 5 - Java und String

Gehe von folgender Codesequenz aus:

Codesequenz für Strings in Java

Erkläre mit Hilfe eines Objektdiagramms die markierten Ausdrücke. Gehe dabei von folgender, vereinfachten Darstellung für String-Objekte aus:

Vereinfachtes Objektdiagramm für String

Warum sollte man Zeichenketten normalerweise nicht mit ==, sondern mit der equals(..)-Methode vergleichen?

X

Fehler melden

X

Suche