@ -12,7 +12,7 @@ neue Maps werden als Unterklasse dieser Klasse eingefügt.
@author GruenerWal , MaxiJohl , Felix Stupp , Samuel
@version 0.3 .0
* /
* /
public abstract class GeneralMap extends World implements ButtonEvent
{
/ *
@ -68,6 +68,18 @@ public abstract class GeneralMap extends World implements ButtonEvent
}
createPlayerObjects ( playerList . length ) ;
players [ 2 ] . addToStars ( 1 ) ;
if ( playerList . length > 3 )
{
players [ 3 ] . addToStars ( 1 ) ;
}
if ( playerList . length > 4 )
{
players [ 4 ] . addToStars ( 2 ) ;
}
}
public int currentPlayer ( )
@ -286,6 +298,7 @@ public abstract class GeneralMap extends World implements ButtonEvent
modus . setForeColor ( Color . black ) ;
modus . setText ( "Kampf\nbeenden" ) ;
} else if ( status = = GameStates . KAMPF ) {
giveRandomStars ( players [ currentPlayer ] ) ;
status = GameStates . VERSCHIEBEN ;
savedProvince = null ;
modus . setText ( "Nächster\nSpieler" ) ;
@ -600,8 +613,22 @@ public abstract class GeneralMap extends World implements ButtonEvent
// 4. Einheiten durch Sterne
if ( players [ currentPlayer ] . getStars ( ) > 0 )
{
String toUseString = JOptionPane . showInputDialog ( null , "Wieviele Sterne willst du verwenden?" ) ;
String toUseString ;
if ( players [ currentPlayer ] . getStars ( ) = = 1 )
{
toUseString = JOptionPane . showInputDialog ( null , "Wieviele Sterne willst du verwenden? \n Du besitzt noch 1 Stern." ) ;
}
else
{
toUseString = JOptionPane . showInputDialog ( null , "Wieviele Sterne willst du verwenden? \n Du besitzt noch " + players [ currentPlayer ] . getStars ( ) + " Sterne." ) ;
}
int starsToUse = Utils . StringToInt ( toUseString ) ;
if ( starsToUse < = players [ currentPlayer ] . getStars ( ) )
{
int [ ] starBoni = new int [ ] { 1 , 2 , 4 , 7 , 10 , 13 , 17 , 21 , 25 , 30 } ;
if ( starsToUse > 0 & & starsToUse < 11 )
{
@ -612,6 +639,12 @@ public abstract class GeneralMap extends World implements ButtonEvent
JOptionPane . showMessageDialog ( null , "Ungültige Zahl. Bitte eine Zahl zwischen 0 und 10 eingeben" ) ;
}
}
else
{
JOptionPane . showMessageDialog ( null , "Du besitzt nicht die erforderliche Anzahl an Sternen! \n Verarschen kannst du jemand anderen." ) ;
}
}
return armiesToPlace ;
}
@ -637,4 +670,30 @@ public abstract class GeneralMap extends World implements ButtonEvent
return Utils . cutArray ( savedProvinces ) ;
}
}
/ * *
* Gibt einem Spieler eine zuf ä llige Anzahl an Sternen zwischen 1 und 3.
*
* @param player Der Spieler , dem die Sterne gegeben werden
* /
protected void giveRandomStars ( Player player )
{
double zufallszahl = Math . random ( ) ;
if ( zufallszahl < = 0.6 )
{
players [ currentPlayer ] . addToStars ( 1 ) ;
}
else if ( zufallszahl < = 0.9 )
{
players [ currentPlayer ] . addToStars ( 2 ) ;
}
else
{
players [ currentPlayer ] . addToStars ( 3 ) ;
}
}
}