Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck.
-
Upload
altman-schlotfeldt -
Category
Documents
-
view
111 -
download
0
Transcript of Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck.
Java News and Music
GAME
18 & 18 & 33
SS03 / C. Kreienbrinck
Java News and Music
GAMEInhalt
3 3 RegelnRegeln
44 SpielablaufSpielablauf
2.1 Applet2.2 Frame
22 Layout, Bedienelemente Layout, Bedienelemente
1.1 Warum 18 und 3 ?
1.2 Aufgabenverteilung
11 Einleitung Einleitung
55 Funktionen der Klassen / UMLFunktionen der Klassen / UML
5.1 Achzehnunddrei5.2 Auswert5.3 Zufall5.4 Game18u3M / Game18u3S
Java News and Music
GAMEInhalt
66 ProgrammcodeProgrammcode
5.1 Achzehnunddrei5.2 Auswert5.3 Zufall
5.4 Game18u3M / Game18u3S
77 ProblemeProbleme
Java News and Music
GAME1 Einleitung
1.1 1.1 Warum 18 & 3 ?Warum 18 & 3 ?
- Entwicklung eines Spiels mit einer Online-Komponente
- möglichst einfacher Regelsatz
- ursprünglich 17 und 4> Falsche Regeln angewendet
- zwei Spieler
Java News and Music
GAME1 Einleitung
1.2 1.2 AufgabenverteilungAufgabenverteilung
C. Kreienbrinck:
-Applet, Spieleframe und Einbindung der
Netzwerkkomponenten
K. Riechmann:
-Spieleserver, Netzwerkkomponenten für
Applet und Frame
Java News and Music
GAME2 Layout, Bedienelemente
2.12.1 Das Applet:Das Applet:
-besteht aus einer sensitiven Fläche für den Spielstart
und einer Statuszeile
Java News and Music
GAME2 Layout, Bedienelemente
2.22.2 Der Spiele-Frame:Der Spiele-Frame:
Spielername
Gegnerkarten
Spielerkarten
Summe der Kartenwertigkeit
„Karte ziehen“-Button
Spielstand
Start- und Zugendebutton(Startbutton nur Spielleiter)
Wer ist dran ?
Java News and Music
GAME3 Regeln
- jeder Spieler zieht abwechselnd solange eine Kare, bis er hinsichtlich der Kartenwertigkeit nahe der 21 ist
- ist die 21 überschritten verliert der Spieler
- die Karten des Gegners sind einsehbar
- Gewinner ist der Spieler mit der größten Kartenwertigkeit
Java News and Music
GAME4 Spielablauf
- es werden jeweils die ersten Karten aufgedeckt- der grüne Rahmen zeigt an, wer am Zug ist- Spieler „Kröte“ (Slave) zieht eine Karte- Spieler „Mütze“ (Master) drückt den Spielstart-Button- „Mütze“ zieht über den Button eine neue Karte- „Mütze“ zieht wieder eine Karte-„Kröte“ drückt denn „Ende des Ziehens“-Button und beendet damit alle seine Züge
- „Mütze“ zieht erneut eine Karte und ...... verliert, weil er die 21 überschreitet- der Ausgang des Spiels wird festgehalten
Java News and Music
GAME5 Funktionen der Klassen/UML
Server
Applet Frame AppletFrame
AuswertZufall
MASTER SLAVE
Verbindungsaufbau Verbindungsaufbau
SpielernameSpielername Start / Zufallsz.Start / Zufallsz.
ZufallszahlenStart
„Master“ „Slave“
Java News and Music
GAME5 Funktionen der Klassen/UML
5.1 5.1 AchtzehnunddreiAchtzehnunddrei
- stellt Verbindung zum Server her
- Vorladen der Bilder
- wählt den passenden Frame
Java News and Music
GAME5 Funktionen der Klassen/UML
5.2 5.2 AuswertAuswert
-wandelt eine Zahl zw. 1 – 32 in
eine Wertigkeit um
Bsp.: Zufallszahl 1 2 3 4 5 6 7 8
Karte (Karo) 7 8 9 10 B D K A
Wertigkeit 7 8 9 10 2 3 4 11
Java News and Music
GAME5 Funktionen der Klassen/UML
5.3 5.3 ZufallZufall
- erzeugt eine Kette aus 16 Zufallszahlen
Bsp.: 27 18 3 31 21 32 1 7 29 24 14 9 26 20 22 2
Master
Slave
Warum 16 Zahlen ?
B B B B D D D D = 20
Java News and Music
GAME5 Funktionen der Klassen/UML
5.4 5.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
- erstellt die eigentliche Spielfläche
- Game18u3M = Master (Spielleiter) Game18u3S = Slave
- Master gibt Zufallszahlen an Slave
- Master besitzt Spielstart-Button
Master Slave
Java News and Music
GAME5 Funktionen der Klassen/UML
Java News and Music
GAME6 Programmcode
6.1 6.1 AchtzehnunddreiAchtzehnunddrei
- Verbindung mit dem Spieleserver
Java News and Music
GAME
6.1 6.1 AchtzehnunddreiAchtzehnunddrei
6 Programmcode
- Server entscheidet welcher Frame gestartet wird
Java News and Music
GAME6 Programmcode
6.2 6.2 AuswertAuswert
- Umwandlung einer Zufallszahl in eine Wertigkeit
Java News and Music
GAME6 Programmcode
6.3 6.3 ZufallZufall
- Generieren einer Zufallszahlenkette
Java News and Music
GAME6 Programmcode
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
- Extrahieren der Spielernamen [ :Mastername:Slavename:]
Java News and Music
GAME6 Programmcode
- der Integer „count“:
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
regelt wer am Zug ist
count . . . 2 3 4 5 6 . . .
Spieler . . . M S M S M . . .
Zufallszahl . . . 3. 4. 5. 6. 7. . . .
wählt die passende Zufallszahl
Anzeige der Karten
Karte . . . 2 3 4 5 6 . . .
Java News and Music
GAME6 Programmcode
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
· Erzeugen und Senden der Zufallszahlen - Master
· Empfang der Zahlen - Slave
- SPIELSTART:
Java News and Music
GAME6 Programmcode
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
- SPIELSTART:
· Integer „count“ auf 2 gesetzt
nur der Master kann anfangen
die ersten 2 Zufallszahlen werden verwendet
Anzeige der ersten 2 Karten
Java News and Music
GAME
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
6 Programmcode
- KARTE ZIEHEN:
· nächste Zufallszahl
· Umwandlung in Wertigkeit
· zur bestehenden Wertigkeit dazuaddieren
· „count“ erhöhen
· repaint aktualisiert die Karten
· „Karte-Ziehen“-Methode des Gegners aufrufen
Java News and Music
GAME6 Programmcode
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
- ENDE DES ZIEHENS:
· erhöht „count“
· setzt „r“ oder „s“
· „Karte ziehen“ > „count“ um zwei erhöhen
nur noch ein Spieler kann weitere Karten ziehen
· „Ende des Ziehens“-Methode des Gegners aufrufen
Java News and Music
GAME6 Programmcode
6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S
- Auswerten der Wertigkeiten und Überschreiten der 21
Java News and Music
GAME7 Probleme
- Exceptions:Exceptions:
· inform.charAt(3), inform.length()
NullPointerException
- Mehrdeutigkeit von gesendeten Stringketten:Mehrdeutigkeit von gesendeten Stringketten:
- Sperren:Sperren:
· mehrmaliges Drücken von Buttons, Anzeige von Karten
- Threads:Threads:
· unsynchronisierte Threads blockieren sich halt
Java News and Music
GAME
18 & 18 & 33
SS03
C. Kreienbrinck, K. Riechmann