ArmyPlacer-Klasse entfernt
parent
1bd5fb0ba9
commit
3add3ee524
@ -1,174 +0,0 @@
|
|||||||
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a description of class ArmyPlacer here.
|
|
||||||
*
|
|
||||||
* @author GruenerWal, MaxiJohl
|
|
||||||
* @version 1.0.0
|
|
||||||
*/
|
|
||||||
public class ArmyPlacer extends Map_World
|
|
||||||
{
|
|
||||||
int freeArmies = -1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor for objects of class ArmyPlacer.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public ArmyPlacer(String[] a1, int[] a2)
|
|
||||||
{
|
|
||||||
super(a1,a2);
|
|
||||||
// Hi.
|
|
||||||
// Dies
|
|
||||||
// ist
|
|
||||||
// ein
|
|
||||||
// unnützer
|
|
||||||
// Kommentar
|
|
||||||
// um
|
|
||||||
// Zeilen
|
|
||||||
// zu
|
|
||||||
// farmen
|
|
||||||
// :)
|
|
||||||
// Mit
|
|
||||||
// freundlichen
|
|
||||||
// Grüßen
|
|
||||||
// ,
|
|
||||||
// GruenerWal
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// I'll be back.
|
|
||||||
}
|
|
||||||
|
|
||||||
public int calculateArmies()
|
|
||||||
{
|
|
||||||
int armiesToPlace;
|
|
||||||
Province[] continentArray;
|
|
||||||
boolean continentChecked = false;
|
|
||||||
|
|
||||||
// 1. ArmyMinimum einbeziehen
|
|
||||||
armiesToPlace = armyMinimum;
|
|
||||||
|
|
||||||
// 2. Einheiten durch Provinzen einbeziehen
|
|
||||||
armiesToPlace = armiesToPlace + Math.round(players[currentPlayer].getProvinceCount() / 3);
|
|
||||||
|
|
||||||
// 3. Einheiten durch Kontinente
|
|
||||||
|
|
||||||
// Kontinente durchgehen
|
|
||||||
for ( int i = 1; i < continentBoni.length; i++ )
|
|
||||||
{
|
|
||||||
|
|
||||||
continentArray = giveContinentArray(i);
|
|
||||||
|
|
||||||
// Provinzen des aktuellen Kontinents durchgehen
|
|
||||||
for ( int p = 1; p >= continentArray.length; p++ )
|
|
||||||
{
|
|
||||||
|
|
||||||
// Prüfen, ob eine Provinz NICHT dem aktuellen Spieler gehört
|
|
||||||
if ( continentArray[p].getOwner() != currentPlayer )
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wenn nicht, wird der Kontinent als gecheckt markiert
|
|
||||||
else
|
|
||||||
{
|
|
||||||
continentChecked = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( continentChecked == true )
|
|
||||||
{
|
|
||||||
armiesToPlace = armiesToPlace + continentBoni[i];
|
|
||||||
continentChecked = false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. Einheiten durch Sterne
|
|
||||||
if ( players[currentPlayer].getStars() > 0)
|
|
||||||
{
|
|
||||||
|
|
||||||
String toUseString = JOptionPane.showInputDialog(null, "Wieviele Sterne willst du verwenden?");
|
|
||||||
int starsToUse = Utils.StringToInt(toUseString);
|
|
||||||
int[] starBoni = new int [] {1,2,4,7,10,13,17,21,25,30};
|
|
||||||
|
|
||||||
if ( starsToUse > 0 && starsToUse < 11 )
|
|
||||||
{
|
|
||||||
armiesToPlace = armiesToPlace + starBoni[starsToUse -1];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( starsToUse < 0 && starsToUse > 10 )
|
|
||||||
{
|
|
||||||
JOptionPane.showMessageDialog(null,"Ungültige Zahl. Bitte eine Zahl zwischen 0 und 10 eingeben");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return armiesToPlace;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Province[] giveContinentArray(int cID)
|
|
||||||
{
|
|
||||||
Province[] savedProvinces = new Province[provinceCount +1];
|
|
||||||
Province[] continentProvinces;
|
|
||||||
int c = 0;
|
|
||||||
for (int i = 1; i <= provinceCount; i++)
|
|
||||||
{
|
|
||||||
if (provinces[i].getContinentID() == cID)
|
|
||||||
{
|
|
||||||
savedProvinces[i] = provinces[i];
|
|
||||||
c++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( c < 1 )
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return Utils.cutArray(savedProvinces);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void placeArmies()
|
|
||||||
{
|
|
||||||
if ( freeArmies == -1 )
|
|
||||||
{
|
|
||||||
freeArmies = calculateArmies();
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( int i = 1; i <= (provinces.length - 1); i++) {
|
|
||||||
if (provinces[i].hasClicked() == true && provinces[i].getOwner() == currentPlayer)
|
|
||||||
{
|
|
||||||
String toUseString = JOptionPane.showInputDialog(null, "Wieviele Einheiten willst du setzen? Du hast noch " + freeArmies + " freie Einheiten.");
|
|
||||||
int armiesToUse = Utils.StringToInt(toUseString);
|
|
||||||
|
|
||||||
if ( armiesToUse <= freeArmies )
|
|
||||||
{
|
|
||||||
provinces[i].addToEntities(armiesToUse);
|
|
||||||
freeArmies = freeArmies- armiesToUse;
|
|
||||||
JOptionPane.showMessageDialog(null,"Einheiten erfolgreich gesetzt, Kommandant " + getPlayerName() + ".");
|
|
||||||
}
|
|
||||||
|
|
||||||
else if ( armiesToUse > freeArmies )
|
|
||||||
{
|
|
||||||
JOptionPane.showMessageDialog(null,"Nicht genügend freie Einheiten.");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void act()
|
|
||||||
{
|
|
||||||
placeArmies();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue