risiko.common.interfaces
Interface SpielMgr

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
SpielMgrImpl

public interface SpielMgr
extends java.rmi.Remote

Remote-Interface des Servers

Version:
2009-07-01
Author:
dgrosche

Method Summary
 void addClient(java.lang.String servicename)
          Fügt einen Client als Observer hinzu
 int addSpieler(java.lang.String name)
          Fügt neuen Spieler hinzu.
 void beendeZug()
          
Setzt nächsten Spieler in der Reihe aktiv.
 Spieler getAktiverSpieler()
          Gibt aktiven Spieler zurück
 java.util.Vector<Land> getAllLaender()
          Gibt komplette Länderliste zurück
 java.util.Vector<Spieler> getAllSpieler()
          Gibt alle Spieler zurück
 Land getAngreifer()
          Gibt Angreiferland zurück
 int getAnzSpieler()
           
 java.util.Vector<Land> getEigeneNachbarn(Land a)
          Gibt alle eigenen Nachbarn zurück
 int getEinheitenAngriff()
          Gibt Anzahl angreifender Einheiten zuürck
 java.util.Vector<int[]> getEinloesbareKarten()
           
 java.util.Vector<Land> getFremdeNachbarn(Land a)
          Gibt alle fremden Nacharn zurück
 java.util.Vector<Land> getLaender(Spieler spieler)
          Gibt alle Länder eines Spielers zurück
 java.util.Vector<Land> getNachbarn(Land a)
          Gibt alle Nachbarländer eines Landes zurück
 int getPhase()
          Gibt die Spielphase zurück

Phase 0: Hauptmenü
Phase 1: Angriffsmenü
Phase 2: Verschiebenmenü
Phase 3: Länder drucken
Phase 4: Zug beenden
Phase 5: Karten einlösen
Phase 6: Spiel speichern
Phase 7: Spiel laden
Phase 50: Verteidigen
Phase 60: Verstärkung setzen
Phase 70: Einheiten nachrücken
Phase 100: Spiel beenden
 int getVerstaerkung()
          Die zusätlichen Einheiten für aktuellen Spieler werden ermittelt.
 Land getVerteidiger()
          Gibt Verteidigerland zurück
 java.util.Vector<java.lang.Integer> getWuerfelAngreifer()
          Würfelzahlen des Angreifers
 java.util.Vector<java.lang.Integer> getWuerfelVerteidiger()
          Würfelzahlen des Verteidigers
 boolean isGewonnen()
          Prüft ob aktiver Spieler gewonnen hat.
 boolean isNachbar(Land a, Land b)
           
 boolean isSpielstart()
           
 void kartenEinloesen(int[] kartensatz)
          Löst einen Kartensatz ein (Spielphase: 5)
 java.lang.String laden()
          Lädt letzten Spielstand (Spielphase: 7)
 void notifyClients(java.lang.Object arg)
          Benachrichtigt alle Clients
 boolean pruefKarten()
          Prüft ob einlösbare Karten vorhanden sind (Spielphase: 5)
 java.util.Vector<java.lang.Integer> reihenfolge()
          Die Startreihenfolge wird ausgewürfelt.
 void setAnzSpieler(int anzSpieler)
           
 void setPhase(int wert)
          Setzt die Spielphase auf einen bestimmten Wert

Phase 0: Hauptmenü
Phase 1: Angriffsmenü
Phase 2: Verschiebenmenü
Phase 3: Länder drucken
Phase 4: Zug beenden
Phase 5: Karten einlösen
Phase 6: Spiel speichern
Phase 7: Spiel laden
Phase 50: Verteidigen
Phase 60: Verstärkung setzen
Phase 70: Einheiten nachrücken
Phase 100: Spiel beenden
 void setSpielstart(boolean spielstart)
           
 void setzeEinheiten(Land l, int x)
          Fügt x Einheiten zu Land l hinzu.
 java.lang.String speichern()
          Speichert den Spielstand (Spielphase: 6)
 void starteAngriff(Land a, Land b, int x)
          Startet einen neuen Angriff von a nach b mit x Angreifern (Spielphase: 1)
 void verschiebeEinheiten(Land a, Land b, int x)
          Verschiebt x Einheiten von Land a nach Land b (Spielphase: 2)
 void verteidige(int y)
          Legt Verteidigung fest und führt aktuellen Kampf durch.
 void verteileLaender()
          Die Länder werden gleichmäßig unter die Spieler aufgeteilt.
 void verteileMissionen()
          Die Missionen werden erstellt und auf die Spieler aufgeteilt.
 void weiter()
          Setzt entsprechend der Spielphase den Modus weiter.
 void weltErobern()
          Missioenen werden ersetzt durch Welterobermissionen
 

Method Detail

addSpieler

int addSpieler(java.lang.String name)
               throws java.rmi.RemoteException
Fügt neuen Spieler hinzu.

Parameters:
name - Spielername
Throws:
java.rmi.RemoteException

verteileLaender

void verteileLaender()
                     throws java.rmi.RemoteException
Die Länder werden gleichmäßig unter die Spieler aufgeteilt.

Throws:
java.rmi.RemoteException

verteileMissionen

void verteileMissionen()
                       throws java.rmi.RemoteException
Die Missionen werden erstellt und auf die Spieler aufgeteilt.

Throws:
java.rmi.RemoteException

weltErobern

void weltErobern()
                 throws java.rmi.RemoteException
Missioenen werden ersetzt durch Welterobermissionen

Throws:
java.rmi.RemoteException

reihenfolge

java.util.Vector<java.lang.Integer> reihenfolge()
                                                throws java.rmi.RemoteException
Die Startreihenfolge wird ausgewürfelt.

Returns:
Vektor mit Würfelzahlen
Throws:
java.rmi.RemoteException

weiter

void weiter()
            throws java.rmi.RemoteException
Setzt entsprechend der Spielphase den Modus weiter.

Phase 0: Hauptmenü
Phase 1: Angriffsmenü
Phase 2: Verschiebenmenü
Phase 3: Länder drucken
Phase 4: Zug beenden
Phase 5: Karten einlösen
Phase 6: Spiel speichern
Phase 7: Spiel laden
Phase 50: Verteidigen
Phase 60: Verstärkung setzen
Phase 70: Einheiten nachrücken
Phase 100: Spiel beenden

Throws:
java.rmi.RemoteException

setPhase

void setPhase(int wert)
              throws java.rmi.RemoteException
Setzt die Spielphase auf einen bestimmten Wert

Phase 0: Hauptmenü
Phase 1: Angriffsmenü
Phase 2: Verschiebenmenü
Phase 3: Länder drucken
Phase 4: Zug beenden
Phase 5: Karten einlösen
Phase 6: Spiel speichern
Phase 7: Spiel laden
Phase 50: Verteidigen
Phase 60: Verstärkung setzen
Phase 70: Einheiten nachrücken
Phase 100: Spiel beenden

Parameters:
wert - Wert auf den Phase gesetzt werden soll
Throws:
java.rmi.RemoteException

getPhase

int getPhase()
             throws java.rmi.RemoteException
Gibt die Spielphase zurück

Phase 0: Hauptmenü
Phase 1: Angriffsmenü
Phase 2: Verschiebenmenü
Phase 3: Länder drucken
Phase 4: Zug beenden
Phase 5: Karten einlösen
Phase 6: Spiel speichern
Phase 7: Spiel laden
Phase 50: Verteidigen
Phase 60: Verstärkung setzen
Phase 70: Einheiten nachrücken
Phase 100: Spiel beenden

Returns:
aktuelle Phase
Throws:
java.rmi.RemoteException

starteAngriff

void starteAngriff(Land a,
                   Land b,
                   int x)
                   throws LandNichtImBesitzException,
                          NichtBenachbartException,
                          NichtGenugEinheitenException,
                          NichtGenugWuerfelException,
                          java.rmi.RemoteException
Startet einen neuen Angriff von a nach b mit x Angreifern (Spielphase: 1)

Parameters:
a - angreifendes Land
b - verteidigendes Land
x - Anzahl der Einheiten für den Angriff
Throws:
LandNichtImBesitzException - , wenn a nicht im Besitz des aktiven Spielers
NichtBenachbartException - , wenn a und b nicht benachtbart
NichtGenugEinheitenException - , wenn a nur 1 Einheit auf dem Land hat
NichtGenugWuerfelException
NichtGenugWuerfelException - , wenn x größer als 3.
java.rmi.RemoteException

verschiebeEinheiten

void verschiebeEinheiten(Land a,
                         Land b,
                         int x)
                         throws NichtGenugEinheitenException,
                                LandBeteiligtException,
                                LandNichtImBesitzException,
                                NichtBenachbartException,
                                java.rmi.RemoteException
Verschiebt x Einheiten von Land a nach Land b (Spielphase: 2)

Parameters:
a - Ursprungsland
b - Zielland
x - Anzahl der Einheiten
Throws:
NichtGenugEinheitenException - , wenn nicht genug Einheiten im Land a verbleiben
LandBeteiligtException - , wenn eines der Länder bereits am Spielzug beteiligt war
LandNichtImBesitzException - , wenn eines der Länder nicht im Besitz des aktiven Spielers
NichtBenachbartException - , wenn a und b nicht benachbart sind
java.rmi.RemoteException

beendeZug

void beendeZug()
               throws java.rmi.RemoteException

Setzt nächsten Spieler in der Reihe aktiv.
Fügt Karte hinzu falls im Zug Länder erobert wurden.
(Spielphase: 4)

Throws:
java.rmi.RemoteException

kartenEinloesen

void kartenEinloesen(int[] kartensatz)
                     throws java.rmi.RemoteException
Löst einen Kartensatz ein (Spielphase: 5)

Parameters:
kartensatz - einzulösender Kartensatz
Throws:
java.rmi.RemoteException

speichern

java.lang.String speichern()
                           throws java.rmi.RemoteException
Speichert den Spielstand (Spielphase: 6)

Returns:
Fehlermeldung oder Bestätigung
Throws:
java.rmi.RemoteException

laden

java.lang.String laden()
                       throws java.rmi.RemoteException
Lädt letzten Spielstand (Spielphase: 7)

Returns:
Fehlermeldung oder Bestätigung
Throws:
java.rmi.RemoteException

verteidige

void verteidige(int y)
                throws NichtGenugWuerfelException,
                       VerteidigerUebersteigtAngreiferException,
                       NichtGenugEinheitenException,
                       java.rmi.RemoteException
Legt Verteidigung fest und führt aktuellen Kampf durch. (Spielphase: 50)

Parameters:
y - Anzahl der Einheiten zur Verteidigung
Throws:
NichtGenugWuerfelException - , wenn mehr als 3 Angreifer oder 2 Verteidiger
VerteidigerUebersteigtAngreiferException - , wenn mehr Verteidiger als Angreifer
NichtGenugEinheitenException - , wenn für die Anzahl der Einheiten im Kampf (sowohl Angreifer als auch Verteidiger) nicht genügend Einheiten vorhanden sind.
java.rmi.RemoteException

getVerstaerkung

int getVerstaerkung()
                    throws java.rmi.RemoteException
Die zusätlichen Einheiten für aktuellen Spieler werden ermittelt. (Spielphase: 60)

Returns:
Anzahl der zusätzlichen Einheiten
Throws:
java.rmi.RemoteException

pruefKarten

boolean pruefKarten()
                    throws java.rmi.RemoteException
Prüft ob einlösbare Karten vorhanden sind (Spielphase: 5)

Returns:
true, wenn min. ein Satz einlösbarer Karten
Throws:
java.rmi.RemoteException

getEinloesbareKarten

java.util.Vector<int[]> getEinloesbareKarten()
                                             throws java.rmi.RemoteException
Returns:
the einloesbareKarten
Throws:
java.rmi.RemoteException

isGewonnen

boolean isGewonnen()
                   throws java.rmi.RemoteException
Prüft ob aktiver Spieler gewonnen hat.

Returns:
true, wenn aktiver Spieler seine Mission erfüllt hat
Throws:
java.rmi.RemoteException

getVerteidiger

Land getVerteidiger()
                    throws java.rmi.RemoteException
Gibt Verteidigerland zurück

Returns:
verteidigendes Land
Throws:
java.rmi.RemoteException

getAngreifer

Land getAngreifer()
                  throws java.rmi.RemoteException
Gibt Angreiferland zurück

Returns:
angreifendes Land
Throws:
java.rmi.RemoteException

getWuerfelAngreifer

java.util.Vector<java.lang.Integer> getWuerfelAngreifer()
                                                        throws java.rmi.RemoteException
Würfelzahlen des Angreifers

Returns:
Vektor mit Würfelzahlen
Throws:
java.rmi.RemoteException

getWuerfelVerteidiger

java.util.Vector<java.lang.Integer> getWuerfelVerteidiger()
                                                          throws java.rmi.RemoteException
Würfelzahlen des Verteidigers

Returns:
Vektor mit Würfelzahlen
Throws:
java.rmi.RemoteException

getEinheitenAngriff

int getEinheitenAngriff()
                        throws java.rmi.RemoteException
Gibt Anzahl angreifender Einheiten zuürck

Returns:
angreifende Einheiten
Throws:
java.rmi.RemoteException

getAktiverSpieler

Spieler getAktiverSpieler()
                          throws java.rmi.RemoteException
Gibt aktiven Spieler zurück

Returns:
aktiven Spieler
Throws:
java.rmi.RemoteException

getAllSpieler

java.util.Vector<Spieler> getAllSpieler()
                                        throws java.rmi.RemoteException
Gibt alle Spieler zurück

Returns:
Vektor mit allen Spielern
Throws:
java.rmi.RemoteException

getAllLaender

java.util.Vector<Land> getAllLaender()
                                     throws java.rmi.RemoteException
Gibt komplette Länderliste zurück

Returns:
Vektor mit allen Ländern
Throws:
java.rmi.RemoteException

getLaender

java.util.Vector<Land> getLaender(Spieler spieler)
                                  throws java.rmi.RemoteException
Gibt alle Länder eines Spielers zurück

Parameters:
spieler - Spieler
Returns:
Vektor mit Ländern des Spielers
Throws:
java.rmi.RemoteException

getNachbarn

java.util.Vector<Land> getNachbarn(Land a)
                                   throws java.rmi.RemoteException
Gibt alle Nachbarländer eines Landes zurück

Parameters:
a - Land dessen Nachbarn gesucht sind
Returns:
Vektor mit allen Nachbarn des Landes
Throws:
java.rmi.RemoteException

getEigeneNachbarn

java.util.Vector<Land> getEigeneNachbarn(Land a)
                                         throws KeineNachbarnException,
                                                java.rmi.RemoteException
Gibt alle eigenen Nachbarn zurück

Parameters:
a - Land dessen eigene Nachbarn gesucht sind
Returns:
Vektor mit allen benachbarten Ländern mit gleichen Besitzer von Land a
Throws:
KeineNachbarnException - , wenn keine eigenen Nachbarn
java.rmi.RemoteException

getFremdeNachbarn

java.util.Vector<Land> getFremdeNachbarn(Land a)
                                         throws KeineNachbarnException,
                                                java.rmi.RemoteException
Gibt alle fremden Nacharn zurück

Parameters:
a - Land dessen fremde Nachbarn gesucht sind
Returns:
Vektor mit allen benachbarten Ländern mit anderen Besitzer als a
Throws:
KeineNachbarnException - , wenn keine fremden Nachbarn vorhanden
java.rmi.RemoteException

isNachbar

boolean isNachbar(Land a,
                  Land b)
                  throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

setzeEinheiten

void setzeEinheiten(Land l,
                    int x)
                    throws java.rmi.RemoteException
Fügt x Einheiten zu Land l hinzu.

Parameters:
l - Land
x - Anzahl Einheiten
Throws:
java.rmi.RemoteException

setAnzSpieler

void setAnzSpieler(int anzSpieler)
                   throws java.rmi.RemoteException
Parameters:
anzSpieler - the anzSpieler to set
Throws:
java.rmi.RemoteException

getAnzSpieler

int getAnzSpieler()
                  throws java.rmi.RemoteException
Returns:
the anzSpieler
Throws:
java.rmi.RemoteException

setSpielstart

void setSpielstart(boolean spielstart)
                   throws java.rmi.RemoteException
Parameters:
spielstart - the spielstart to set
Throws:
java.rmi.RemoteException

isSpielstart

boolean isSpielstart()
                     throws java.rmi.RemoteException
Returns:
the spielstart
Throws:
java.rmi.RemoteException

addClient

void addClient(java.lang.String servicename)
               throws java.rmi.RemoteException,
                      java.net.MalformedURLException,
                      java.rmi.NotBoundException
Fügt einen Client als Observer hinzu

Throws:
java.rmi.NotBoundException
java.net.MalformedURLException
java.rmi.RemoteException

notifyClients

void notifyClients(java.lang.Object arg)
                   throws java.rmi.RemoteException
Benachrichtigt alle Clients

Throws:
java.rmi.RemoteException