28
Java News and Music GAME 18 & 3 18 & 3 SS03 / C. Kreienbrinck

Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Embed Size (px)

Citation preview

Page 1: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME

18 & 18 & 33

SS03 / C. Kreienbrinck

Page 2: Java News and Music GAME 18 & 3 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

Page 3: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAMEInhalt

66 ProgrammcodeProgrammcode

5.1 Achzehnunddrei5.2 Auswert5.3 Zufall

5.4 Game18u3M / Game18u3S

77 ProblemeProbleme

Page 4: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 5: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 6: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 7: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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 ?

Page 8: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 9: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 10: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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“

Page 11: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 12: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 13: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 14: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 15: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME5 Funktionen der Klassen/UML

Page 16: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME6 Programmcode

6.1 6.1 AchtzehnunddreiAchtzehnunddrei

- Verbindung mit dem Spieleserver

Page 17: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME

6.1 6.1 AchtzehnunddreiAchtzehnunddrei

6 Programmcode

- Server entscheidet welcher Frame gestartet wird

Page 18: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME6 Programmcode

6.2 6.2 AuswertAuswert

- Umwandlung einer Zufallszahl in eine Wertigkeit

Page 19: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME6 Programmcode

6.3 6.3 ZufallZufall

- Generieren einer Zufallszahlenkette

Page 20: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME6 Programmcode

6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S

- Extrahieren der Spielernamen [ :Mastername:Slavename:]

Page 21: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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 . . .

Page 22: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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:

Page 23: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 24: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 25: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 26: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME6 Programmcode

6.4 6.4 Game18u3M / Game18u3S Game18u3M / Game18u3S

- Auswerten der Wertigkeiten und Überschreiten der 21

Page 27: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

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

Page 28: Java News and Music GAME 18 & 3 SS03 / C. Kreienbrinck

Java News and Music

GAME

18 & 18 & 33

SS03

C. Kreienbrinck, K. Riechmann