Ligretto Spiel-Simulations-Konzept. Design-Entscheidungen Rechnerstruktur Spieltisch (Master) Spieler3 Spieler4 Spieler1 Spieler.. Warum… 1 PC pro Spieler.

Slides:



Advertisements
Ähnliche Präsentationen
Klassen - Verkettete Liste -
Advertisements

1 Datenbankapplikationen 9.1MS Visio 9.2MS Access 9.3Embedded SQL 9.4JDBC 9.5Cold Fusion 9.6PHP.
Einführung in die Informatik: Programmierung und Software-Entwicklung
1 low:=low-Q 2 high:=high-Q 2 low:=low-Q 1 high:=high-Q 1.
Lösung 5.1Schleifen 1.while (x < 5)if (x < 5) thenwhile Bif B then { do {{do { x = x + 1; x = x + 1; A A }}}} while (x < 5) while B do {x = x + 1;do {A.
der Universität Oldenburg
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
Ultris Version 8: Erzeugen der Formen und Anzeigen der Vorschau
V11 Auflösen der Formen und Abräumen der Reihen. Zwei neue Methoden ___________________________________ class ultris { private: … void aufloesen(); void.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Aglets III Praxisbeispiel im Seminar Softwareagenten Christian DupuisColin Wilke.
Funktionen.
FOR Anweisung.
DO...WHILE Anweisung.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 4 Claudio Moraga; Gisbert Dittrich FBI Unido
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
Der C-Präprozessor EDV1 - 04Präprozessor.
Modulare Programmierung
Der C-Präprozessor 08-CPräprozessor.
Struktogramme IF-ELSE FOR – Schleife
Einfach verkettete Listen
Rekursive Funktionen (Fakultät)
Informatik I for D-MAVT
| AVS / Programmierung Kapitel 1: Programmierung Einführung Motivation – Entwicklung verteilter Anwendungen im Internet Welchen Dienst soll die Anwendung.
Wieder und wieder und wieder …. Nicht vor Pilz? ja Schritt vorwärts.
Das Streichholzspiel.
Der Spieler Der Fußball Die Eckfahne Das Tor Der Pfosten Die Latte Die Mittellinie.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
Einführung in die Programmierung
Einführung in die Programmierung
Die Zählschleife int s = 0 for (int k=1; k
Informatik 1 Übung 7.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Algorithmen und Datenstrukturen Übungsmodul 6
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Real Time Operating System
Auswahlanweisungen, Iterationsanweisungen, Blöcke, Sprunganweisungen
I.Dezember P R O C E S S I N G programmierenvironment für visuell orientierte, interaktive applikationen.
Algorithmen und Datenstrukturen Übungsmodul 1
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
Vorlesung 5. #include double fv(double x) { return sin(x); } int main(){ int i,N=10; double a=1,b=2,del,x,sum,f,integral; for(i=1,sum=0.0,del = (b-a)/N;i
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Lösungen 1. Zu einem Dienst gehören immer: Diensterbringer (Server), Dienstbenutzer (Client) und Protokoll.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 // Verkettete Liste 3 // demonstriert verkettete Listen und // Rekursion // (mit Entfernen eines Listenelementes) // #include struct Liste { int Element;
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 // 9_1_Datei_IO //Elementare Verwendung von Dateien // Vorsicht: nicht robust, #include const int maxLen = 70; void Schreiben(char *, ofstream *); void.
1 // Verkettete Liste 2 // demonstriert verkettete Listen und // Rekursion // (Einfügen am "Fuß") // #include struct Liste { int Element; Liste *weiter;
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Aufgaben zu Rückgabewerten
Durchschnitt (verbal)
Syntax: while ( BEDINGUNG ) { // Anweisungen die so lange immer wieder ausgeführt // werden, wie die Bedingung zutrifft } for (INITIALISIERUNG; BEDINGUNG;
Cäsar-Verschlüsselung
Test - Beginn Die Verwendung von Unterlagen ist nicht zulässig. Entfernen Sie daher alle Unterlagen und sonstigen Utensilien. Tragen Sie Ihren Namen, Ihre.
Grundkurs Informatik mit Java
beim Mannschaftsspielbetrieb
Schleifen mit der Turtle
Cäsar-Verschlüsselung
Arrays of Objects, a 3 part process
Kara: act()-Methode.
 Präsentation transkript:

Ligretto Spiel-Simulations-Konzept

Design-Entscheidungen Rechnerstruktur Spieltisch (Master) Spieler3 Spieler4 Spieler1 Spieler.. Warum… 1 PC pro Spieler 1 PC für Spieltisch LAN/WAN-Speed-Einfluss Spieler2

Schnittstellendefinition Initial-PDU –Farbanzahlint –Werteanzahlint –Spieltischip & port (in pdu enthalten) –Kartenanzahlint –Kartenint[Kartenanzahl][2]

Schnittstellendefinition Spiel-PDU –Farbeint –Wertint –Besitzerip & port (in pdu enthalten) –Stapellongint –Statusbyte Ablegewunsch (unicast) wurde gelegt (multicast) nicht gelegt (unicast) Spielstart / stop (uni- / multicast)

Pseudo-code Spieltisch Int main (int anz){ Warten auf anz Spieler; Karten mischen; Karten verteilen; StapelDB initialisieren; Spiel starten; While (!ligretto){ If (karte legbar){ Karte legen; Multicast karte gelegt; } else { Unicast Karte nicht gelegt; } While (!alle Spieler gemeldet ¦¦ timeout){ nicht gelegte Karten registrieren; } for (alle gemeldeten Spieler){ Abrechnen und ausgeben; }

Pseudo-code Spieler Int main (char Spieltisch){ an Spieltisch anmelden; Karten aufbereiten; StapelDB initialisieren; Serverüberwachungs Thred starten; warten bis Spielstart; While (!Spielende && Tischkarten > 4){ Handstapel inkrementieren; sichtbare Karten auf legefähigkeit prüfen; Legeversuch; if (gelegt) abhaken und in StapelDB eintragen; } Restkarten senden; }