Navigation

Modulbeschreibung

Modulbeschreibung

1. Spiel aufbauen

1. Spiel aufbauen

2. Der Quellcode

2. Der Quellcode

2.1 Speicherung

2.1 Speicherung

2.2 Spielsymbole

2.2 Spielsymbole

2.3 Endlich spielen

2.3 Endlich spielen

3. Spiel erweitern

3. Spiel erweitern

3.1 Spielrückmeldung

3.2 Schwierigkeitsgrad

3.2 Schwierigkeitsgrad

Downloadbereich

Downloadbereich

3.1 Feedback nach jedem Level

Für die Aufgabe werdet ihr die Methode zeigeZwischenbericht(ergebnisVergleich: boolean) schreiben. Diese Methode wird von bestimmeZwischenbericht() aufgerufen. In bestimmeZwischenbericht() werden die Arrays verglichen, welche die Reihenfolge der Bilder und die Eingaben der Spieler speichern. Wenn Werte beider Arrays an derselben Position übereinstimmen, soll ein 😊 angezeigt werden, wenn nicht, ein 🙁. Somit weiß der Spieler nach jeder Runde wie viele Eingaben richtig und wie viele falsch waren.

Beispiel:

level1:

 level1.JPG

eingabe1:

eingabe1.JPG

Wenn du dir jetzt das Beispiel anschaust, müsste die Ausgabe so aussehen: 😊😊🙁. Platz 0 und Platz 1 stimmen in den beiden Arrays level1 und eingabe1, überein. Platz 2 hingegen stimmt nicht überein, da sie nicht das gleiche Spielsymbol enthalten (zur Erinnerung: Die Spielsymbole sind als Zahlen in den Arrays abgelegt). In bestimmeZwischenbericht() wird zeigeZwischenbericht() aufgerufen.

if (eingabe1[i] == level1[i]) {
zeigeZwischenbericht(true);
} else {
zeigeZwischenbericht(false);
}

if-else - Was ist das überhaupt?

if (...) {...} else {...} ist ein Kontrollstruktur. Kontrollstukturen bestimmen, wie das Programm sich in verschiedenen Zuständen verhalten soll. Sie kontrollieren somit den Ablauf des Programmes. If-Else-Abfragen stellen sicher, dass einer von zwei verschiedenen Programmabschnitten ausgeführt wird.

Bei einer If-Else-Abfrage wird folgende Unterscheidung getroffen: 

if (Bedingung) { code } else { code }

Wenn (englisch if) die Bedingung, als wahr gewertet werden kann, wird der Programmabschnitt in den geschweiften Klammer { code } ausgeführt.

Sonst (englisch else) wird der Programmabschnitt in der geschweiften Klammer { code }, welche auf else folgen, ausgeführt.  

Boolean ist ein Datentyp, das bool'sche Werte darstellt. Bool'sche Werte können zwei Zustände besitzen, entweder sie sind wahr (true) oder sie sind falsch (false).

Wenn die Bedingung auf 1 == 1 (== bedeutet "ist gleich" in JavaScript) gesetzt wird, wäre es eine wahre Aussage und daher true.

Wird die Bedingung aber auf 1 == 0 gesetzt, wäre es eine falsche Aussage und daher false.

Aufgabe

Ergänze den Quellcode ab Zeile 129 "Aufgabe 3.1: Ergänze deinen Code hier:" so, dass ein 😊 angezeigt wird, wenn ergebnisVergleich == true ist, ansonsten soll 🙁 angezeigt werden.

Achte darauf, die LEDs wieder auszuschalten, nachdem die Icons angezeigt worden sind.

Bearbeitungshinweis 1

Du brauchst eine If-Else-Abfrage, um die Reaktion des Spiels an die verschiedene Werte der Variable ergebnisVergleich anzupassen. 

Bearbeitungshinweis 2

Die Variable ergebnisVergleich kann entweder den Wert true oder false annehmen. Aus diesem Grunde solltest du in der Bedingung abfragen, ob ergebnisVergleich true ist. 

Eine If-Else-Abfrage bereitest du wie folgt vor:

if (Bedingung) {...

Bearbeitungshinweis 3

Um den Wert von ergebnisVergleich zu überprüfen kannst du mit == abfragen, ob dieser gleich true oder false ist.

if (ergebnisVergleich == true) {
//Quellcode
} else {
//Quellcode
}

Bearbeitungshinweis 4

Wie in der Methode zeigeIcon() soll erst ein Icon angezeigt werden und anschließend die LEDs gelöscht werden.

Diesen Codeabschnitt schreibt ihr an den Stellen, die mit //Quellcode bezeichnet sind.

Lösung

function zeigeZwischenbericht(ergebnisVergleich: boolean) {
if (ergebnisVergleich == true) {
basic.showIcon(IconNames.Happy);
basic.clearScreen();
} else {
basic.showIcon(IconNames.Sad);
basic.clearScreen();
}
}