1 / 28

SS03 / C. Kreienbrinck

SS03 / C. Kreienbrinck. 18 & 3. Inhalt. 1 Einleitung. 1.1 Warum 18 und 3 ?. 1.2 Aufgabenverteilung. 2 Layout, Bedienelemente. 2.1 Applet. 2.2 Frame. 5 Funktionen der Klassen / UML. 5.1 Achzehnunddrei. 5.2 Auswert. 5.3 Zufall. 5.4 Game18u3M / Game18u3S. 3 Regeln.

aisha
Download Presentation

SS03 / C. Kreienbrinck

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SS03 / C. Kreienbrinck 18 & 3

  2. Inhalt 1 Einleitung 1.1 Warum 18 und 3 ? 1.2 Aufgabenverteilung 2 Layout, Bedienelemente 2.1 Applet 2.2 Frame 5 Funktionen der Klassen / UML 5.1 Achzehnunddrei 5.2 Auswert 5.3 Zufall 5.4 Game18u3M / Game18u3S 3 Regeln 4 Spielablauf

  3. Inhalt 6 Programmcode 5.1 Achzehnunddrei 5.2 Auswert 5.3 Zufall 5.4 Game18u3M / Game18u3S 7 Probleme

  4. 1 Einleitung 1.1 Warum 18 & 3 ? - Entwicklung eines Spiels mit einer Online-Komponente - zwei Spieler - möglichst einfacher Regelsatz - ursprünglich 17 und 4 > Falsche Regeln angewendet

  5. 1 Einleitung K. Riechmann: • Spieleserver, Netzwerkkomponenten für • Applet und Frame C. Kreienbrinck: • Applet, Spieleframe und Einbindung der • Netzwerkkomponenten 1.2 Aufgabenverteilung

  6. 2 Layout, Bedienelemente 2.1 Das Applet: • besteht aus einer sensitiven • Fläche für den Spielstart und einer Statuszeile

  7. 2 Layout, Bedienelemente 2.2 Der Spiele-Frame: Summe der Kartenwertigkeit Gegnerkarten Spielername Spielstand Spielerkarten Start- und Zugendebutton (Startbutton nur Spielleiter) „Karte ziehen“-Button Wer ist dran ?

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

  9. - Spieler „Mütze“ (Master) drückt den Spielstart-Button - „Mütze“ zieht über den Button eine neue Karte - der grüne Rahmen zeigt an, wer am Zug ist - der Ausgang des Spiels wird festgehalten 4 Spielablauf • „Kröte“ drückt denn „Ende des Ziehens“-Button • und beendet damit alle seine Züge - es werden jeweils die ersten Karten aufgedeckt - Spieler „Kröte“ (Slave) zieht eine Karte - „Mütze“ zieht erneut eine Karte und ... ... verliert, weil er die 21 überschreitet - „Mütze“ zieht wieder eine Karte

  10. 5 Funktionen der Klassen/UML Verbindungsaufbau Verbindungsaufbau „Master“ „Slave“ Zufallszahlen Start / Zufallsz. Start / Zufallsz. Spielername Spielername Start Server Zufall Auswert Applet Frame Frame Applet MASTER SLAVE

  11. 5 Funktionen der Klassen/UML 5.1 Achtzehnunddrei - stellt Verbindung zum Server her - wählt den passenden Frame - Vorladen der Bilder

  12. 5 Funktionen der Klassen/UML 5.2 Auswert • 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

  13. 5 Funktionen der Klassen/UML 5.3 Zufall - 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

  14. 5 Funktionen der Klassen/UML Master Slave 5.4 Game18u3M / Game18u3S - erstellt die eigentliche Spielfläche • Game18u3M = Master (Spielleiter) • Game18u3S = Slave - Master gibt Zufallszahlen an Slave - Master besitzt Spielstart-Button

  15. 5 Funktionen der Klassen/UML

  16. 6 Programmcode 6.1 Achtzehnunddrei • Verbindung mit dem Spieleserver

  17. 6 Programmcode 6.1 Achtzehnunddrei • Server entscheidet welcher Frame gestartet wird

  18. 6 Programmcode 6.2 Auswert • Umwandlung einer Zufallszahl in eine Wertigkeit

  19. 6 Programmcode 6.3 Zufall • Generieren einer Zufallszahlenkette

  20. 6 Programmcode 6.4 Game18u3M / Game18u3S • Extrahieren der Spielernamen [ :Mastername:Slavename:]

  21. 6 Programmcode 6.4 Game18u3M / Game18u3S -der Integer „count“: regelt wer am Zug ist wählt die passende Zufallszahl Anzeige der Karten count . . .2 3 4 5 6 . . . Spieler . . . M S M S M . . . Zufallszahl . . . 3. 4. 5. 6. 7. . . . Karte . . . 2 3 4 5 6 . . .

  22. 6 Programmcode 6.4 Game18u3M / Game18u3S - SPIELSTART: · Erzeugen und Senden der Zufallszahlen - Master · Empfang der Zahlen - Slave

  23. 6 Programmcode 6.4 Game18u3M / Game18u3S - SPIELSTART: · Integer „count“ auf 2 gesetzt  nur der Master kann anfangen  die ersten 2 Zufallszahlen werden verwendet  Anzeige der ersten 2 Karten

  24. 6 Programmcode 6.4 Game18u3M / Game18u3S - KARTE ZIEHEN: · „Karte-Ziehen“-Methode des Gegners aufrufen · nächste Zufallszahl · Umwandlung in Wertigkeit · zur bestehenden Wertigkeit dazuaddieren · „count“ erhöhen · repaint aktualisiert die Karten

  25. 6 Programmcode 6.4 Game18u3M / Game18u3S - ENDE DES ZIEHENS: · setzt „r“ oder „s“ · „Ende des Ziehens“-Methode des Gegners aufrufen · erhöht „count“ · „Karte ziehen“ > „count“ um zwei erhöhen  nur noch ein Spieler kann weitere Karten ziehen

  26. 6 Programmcode 6.4 Game18u3M / Game18u3S • Auswerten der Wertigkeiten und Überschreiten der 21

  27. 7 Probleme • Exceptions: · inform.charAt(3),inform.length()  NullPointerException • Mehrdeutigkeit von gesendeten Stringketten: • Sperren: · mehrmaliges Drücken von Buttons, Anzeige von Karten • Threads: · unsynchronisierte Threads blockieren sich halt

  28. SS03 18 & 3 C. Kreienbrinck, K. Riechmann

More Related