risiko.local.domain
Class SpielMgr

java.lang.Object
  extended by risiko.local.domain.SpielMgr

public class SpielMgr
extends java.lang.Object

Haptverwaltungsklasse des Spiels.

Version:
2009-05-25
Author:
dgrosche

Constructor Summary
SpielMgr()
          Konstruktor erstellt Unterverwaltungsklassen:
- Weltverwaltung
- Spielerverwaltung
- Kartenverwaltung
- Datenspeicherung
 
Method Summary
 void 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
 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)
          Gibt zurück, ob zwei Länder benachbart sind
 void kartenEinloesen(int[] kartensatz)
          Löst einen Kartensatz ein (Spielphase: 5)
 java.lang.String laden()
          Lädt letzten Spielstand (Spielphase: 7)
 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 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 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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpielMgr

public SpielMgr()
Konstruktor erstellt Unterverwaltungsklassen:
- Weltverwaltung
- Spielerverwaltung
- Kartenverwaltung
- Datenspeicherung

Method Detail

addSpieler

public void addSpieler(java.lang.String name)
Fügt neuen Spieler hinzu.

Parameters:
name - Spielername

verteileLaender

public void verteileLaender()
Die Länder werden gleichmäßig unter die Spieler aufgeteilt.


verteileMissionen

public void verteileMissionen()
Die Missionen werden erstellt und auf die Spieler aufgeteilt.


weltErobern

public void weltErobern()
Missioenen werden ersetzt durch Welterobermissionen


reihenfolge

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

Returns:
Vektor mit Würfelzahlen

weiter

public void weiter()
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


setPhase

public 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

Parameters:
wert - Wert auf den Phase gesetzt werden soll

getPhase

public 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

Returns:
aktuelle Phase

starteAngriff

public void starteAngriff(Land a,
                          Land b,
                          int x)
                   throws LandNichtImBesitzException,
                          NichtBenachbartException,
                          NichtGenugEinheitenException,
                          NichtGenugWuerfelException
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 - , wenn x größer als 3.

verschiebeEinheiten

public void verschiebeEinheiten(Land a,
                                Land b,
                                int x)
                         throws NichtGenugEinheitenException,
                                LandBeteiligtException,
                                LandNichtImBesitzException,
                                NichtBenachbartException
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

beendeZug

public void beendeZug()

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


kartenEinloesen

public void kartenEinloesen(int[] kartensatz)
Löst einen Kartensatz ein (Spielphase: 5)

Parameters:
kartensatz - einzulösender Kartensatz

speichern

public java.lang.String speichern()
Speichert den Spielstand (Spielphase: 6)

Returns:
Fehlermeldung oder Bestätigung

laden

public java.lang.String laden()
Lädt letzten Spielstand (Spielphase: 7)

Returns:
Fehlermeldung oder Bestätigung

verteidige

public void verteidige(int y)
                throws NichtGenugWuerfelException,
                       VerteidigerUebersteigtAngreiferException,
                       NichtGenugEinheitenException
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.

getVerstaerkung

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

Returns:
Anzahl der zusätzlichen Einheiten

pruefKarten

public boolean pruefKarten()
Prüft ob einlösbare Karten vorhanden sind (Spielphase: 5)

Returns:
true, wenn min. ein Satz einlösbarer Karten

getEinloesbareKarten

public java.util.Vector<int[]> getEinloesbareKarten()
Returns:
the einloesbareKarten

isGewonnen

public boolean isGewonnen()
Prüft ob aktiver Spieler gewonnen hat.

Returns:
true, wenn aktiver Spieler seine Mission erfüllt hat

getVerteidiger

public Land getVerteidiger()
Gibt Verteidigerland zurück

Returns:
verteidigendes Land

getAngreifer

public Land getAngreifer()
Gibt Angreiferland zurück

Returns:
angreifendes Land

getWuerfelAngreifer

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

Returns:
Vektor mit Würfelzahlen

getWuerfelVerteidiger

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

Returns:
Vektor mit Würfelzahlen

getEinheitenAngriff

public int getEinheitenAngriff()
Gibt Anzahl angreifender Einheiten zuürck

Returns:
angreifende Einheiten

getAktiverSpieler

public Spieler getAktiverSpieler()
Gibt aktiven Spieler zurück

Returns:
aktiven Spieler

getAllSpieler

public java.util.Vector<Spieler> getAllSpieler()
Gibt alle Spieler zurück

Returns:
Vektor mit allen Spielern

getAllLaender

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

Returns:
Vektor mit allen Ländern

getLaender

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

Parameters:
spieler - Spieler
Returns:
Vektor mit Ländern des Spielers

getNachbarn

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

Parameters:
a - Land dessen Nachbarn gesucht sind
Returns:
Vektor mit allen Nachbarn des Landes

getEigeneNachbarn

public java.util.Vector<Land> getEigeneNachbarn(Land a)
                                         throws KeineNachbarnException
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

getFremdeNachbarn

public java.util.Vector<Land> getFremdeNachbarn(Land a)
                                         throws KeineNachbarnException
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

isNachbar

public boolean isNachbar(Land a,
                         Land b)
Gibt zurück, ob zwei Länder benachbart sind

Parameters:
a - erstes Land
b - zweites Land
Returns:
true, wenn beide Länder benachbart

setzeEinheiten

public void setzeEinheiten(Land l,
                           int x)
Fügt x Einheiten zu Land l hinzu.

Parameters:
l - Land
x - Anzahl Einheiten