PR IBWL Dr. Gerhard Ortner SS 2001 |
Marcus Trunkenpolz 9802525 |
Thomas Weber 9806518 |
|
Aufgabenstellung
Es sollte ein interaktives Spiel programmiert werden, in
dem ein "Diktator" bei einer fix zugewiesenen Menge (Geld od. Güter) entscheiden
kann, wie viel davon er seinem Gegenspieler überlässt (anbietet).
Je nach Strategie des Gegenspielers soll auf das Angebot
reagiert werden, d.h. abgelehnt bzw. darauf eingegangen.
Realisierung
Wir haben unser Programm basierend auf dem Java RMI-
Mechanismus geschrieben.
Es soll
prinzipiell 2 Möglichkeiten geben sich bei dem Spiel anzumelden: als normaler
User (Spielername) oder als Administrator.
Der User kann als Diktator agieren und bekommt nun pro Spielrunde eine gewisse zufallsgenerierte Menge zugeteilt und nimmt sich den Anteil, den er für richtig hält. Je nach Strategie wird sein Angebot angenommen od. abgelehnt (siehe Admin-Strategie)
Der Administrator hat zusätzlich die Wahl:
· Toleranzgrenze (in Prozent) für alle Spiele
festlegen - bis zur Grenze: ablehnen, ab dieser Grenze:
annehmen
· Startwert für jeden
Spieldurchlauf setzen (dynam.)
Zusätzlich wird mitprotokolliert (Table Logging in der
Access-Datenbank) welcher User welchen Betrag für sich behalten hat, wie hoch
sein Angebot war, sowie zu welcher Reaktion sein Angebot geführt
hat.
Dies soll u.a. nach
mehreren gespielten Runden dem Anbieter ermöglichen, mehr über die Strategie
seines Gegenspielers zu erfahren bwz. seine angebotene Menge der Strategie
"anzupassen".
Download der Datei:
Diktator.zip
Was ist zu beachten(nützliche Hinweise):
SERVER:
1) Classpath setzen, dieser befindet sich in der Datei ss.bat (Start-Server).
Derzeit ist er auf c:\java\ibwl
eingestellt.
2) Die ComputeImpl_Stub.class und ComputeImpl_Skel.class sollten am Client
auch vorhanden sein!!
3) Da die Datenbank eine Ms-Access ist, wird diese mit ODBC angesprochen, der
derzeitige name lautet
"ibwl_pr" dieser wird in der JDBCConnection.java
Datei geändert.
4) So die Datenkbank heißt Diktator.mdb, kann aber ohne weiteres umbenannt
werden, wichtig ist nur, dass die
Tabllen-namen gleich bleiben, die darin beinhalteten Felder
und deren Werte. Man muss nur ODBC und
Datenkbank richtig angeben und
der Server läuft problemlos!!
5) Notwendige Dateien: ComputeImpl.class, JDBCConnection.class,
Compute.class(Interface), *skel.class,
*stub.class Diktator.mdb, policy
CLIENT:
1) Beim Client muss nun die url bzw. die ip-Adresse des Servers angegeben
werden.
2) Wie schon oben erwähnt, sollten die Datene ComputeImpl_Skel.class und
ComputeImpl_Stub.class ebenfalls
am Client liegen.
3) gestartet wird der Server mit SC.
4) Notwendige Dateien: ComputeClient.class, *skel.class, *stub.class, policy
COMMON:
1) Die Datei policy muss auf beiden Rechnern vorhanden sein.
2) Compute.class muss unbedingt auf beiden Rechner vorhanden sein, da diese
Datei die Verbindung der
Methoden deklariert
3) Der Einfachheit halber würde ich auf beiden Seiten alles reinkopieren,
ausser auf der Client-Seite die
Datenbank, Vorteil: Sie starten auf der Client-Seite einmalig
SA.bat, brechen Sie dies danach ab, dadurch wird
garantiert, dass alle Java-Files in diesem Verzeichnis
compiliert werden + die notwendigen skel und stub
Dateien vorhanden sind.
Danach einfach sc.bat (Start Client) ausführen, so, das
wärs.
Beim Server ists noch einfacher, einfach nur sa.bat und er
läuft!!
VIEL SPASS !!!!