7. Schichten-Architektur
Drei-Schichten-Architektur
GUI-Schicht
Fachkonzeptschicht
Datenhaltungsschicht
GUI-Schicht: Realisiert die
Benutzungsoberfläche einer
Anwendung – Präsentation der Daten,
Interaktion mit Benutzer / Benutzerin
Fachkonzeptschicht: Modelliert den
funktionalen Kern der Anwendung;
Zugriff auf Datenhaltungsschicht
Datenhaltungsschicht: Form der
Datenspeicherung, z.B. relationale DB
8. MVC – Model View Controller (Modell, Präsentation, Steuerung)
1972 im Kontext von „Smalltalk“ (objektorientierte Programmiersprache) vorgestellt
16. Präsentation und Interaktion – die Spielschleife
SOLANGE kein Spieler / keine Spielerin das Spiel
gewonnen hat, VERFAHRE WIE FOLGEND:
WENN ein leeres Spielfeld angeklickt wurde:
lege die aktuelle SpielerID im
zweidimensionalen Array „gameGrid“ ab
und stelle das Spielersymbol dar
IM ANDEREN FALLE:
tue nichts
Prüfe die Gewinnbedingung
17. Gewinn- und Abbruchbedingung
Ein Spieler / eine Spielerin hat das Spiel gewonnen,
WENN:
der Spieler drei seiner Symbole in
(unmittelbarer) horizontaler Reihenfolge
abgelegt hat
ODER
der Spieler drei Symbole in diagonaler
Reihenfolge abgelegt hat
24. C++, JavaScript & Co.: (Vergleichs)Operatoren
Operator
<=
Operation
Größer als
(„ist Wert1 größer als Wert2?“)
Kleiner als
(„ist Wert 1 kleiner als Wert2?“)
Größer gleich
(„ist Wert1 kleiner oder gleich Wert2?“)
Kleiner gleich
(„ist Wert1 kleiner oder gleich Wert2?“)
==
Auf Gleichheit prüfen
variable1 == variable2
!=
variable1 != variable2
&&
Auf Ungleichheit prüfen
Logisches UND: Zwei Bedingungen
prüfen
||
Logisches ODER
if( (a==b) || (b==c) )
>
<
>=
Beispiel
Wert1 > Wert2
Wert1 < Wert2
Wert1 >= Wert2
Wert1 <= Wert2
if( (a==b) && (b==c) )
25. if (es regnet == falsch) {
ich gehe joggen;
}
WENN es heute NICHT regnet, DANN gehe ich joggen…
26. Auswahlanweisungen: if
Beispiel: Zu prüfen ist, ob der Wert von variableZwei
größer ist als der Wert von variableEins. Wenn ja, soll
eine entsprechende Nachricht ausgegeben werden:
var variableEins = 5;
var variableZwei = 8;
if(variableZwei > variableEins)
alert(“Der in Variable Zwei
gespeicherte Wert
größer als der in
Eins gespeicherte
}
{
ist
Variable
Wert.“);
27. Auswahlanweisungen: if und else
Beispiel: Zu prüfen ist, ob der Wert von variableZwei größer ist als der
Wert von variableEins. Wenn ja, soll eine entsprechende Nachricht
ausgegeben werden:
var variableEins = 5;
var variableZwei = 8;
if(variableZwei > variableEins) {
alert(“Der in Variable Zwei
gespeicherte Wert ist
größer als der in Variable Eins
gespeicherte Wert.“);
}
else {
alert(“Der in Variable Zwei
gespeicherte Wert ist
kleiner als der in Variable Eins
gespeicherte Wert.“);
}
28. Gewinn- und Abbruchbedingung
Ein Spieler / eine Spielerin hat das Spiel gewonnen,
WENN (IF):
der Spieler drei seiner Symbole in
(unmittelbarer) horizontaler Reihenfolge
abgelegt hat
ODER (II)
der Spieler drei Symbole in diagonaler
Reihenfolge abgelegt hat
29. Übung 1
Interaktion
Prüfen I: Wurde ein leeres Spielfeld angeklickt?
Gewinnbedingung
Prüfen I: Hat ein Spieler / eine Spielerin drei ihrer
Symbole in (unmittelbarer) horizontaler
Reihenfolge abgelegt?
Prüfen II: Finden sich drei Symbole eines Spielers
in diagonaler Folge?
30. Präsentation und Interaktion – die Spielschleife
SOLANGE kein Spieler / keine Spielerin das Spiel
gewonnen hat, VERFAHRE WIE FOLGEND:
WENN ein leeres Spielfeld angeklickt wurde:
lege die aktuelle SpielerID im
zweidimensionalen Array „gameGrid“ ab
und stelle das Spielersymbol dar
IM ANDEREN FALLE:
tue nichts
Prüfe die Gewinnbedingung
36. Übung 2
SOLANGE kein Spieler / keine Spielerin das Spiel
gewonnen hat, VERFAHRE WIE FOLGEND:
WENN ein leeres Spielfeld angeklickt wurde:
lege die aktuelle SpielerID im
zweidimensionalen Array „gameGrid“ ab
und stelle das Spielersymbol dar
IM ANDEREN FALLE:
tue nichts
Prüfe die Gewinnbedingung