Merge remote-tracking branch 'refs/remotes/origin/master' into Spielanleitung
commit
649c4332bd
@ -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();
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
public class Debug3 extends Map_World {
|
||||
public Debug3() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3"},
|
||||
new int[] {1,2,3}
|
||||
);
|
||||
}
|
||||
public Debug3() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3"},
|
||||
new int[] {1,2,3}
|
||||
);
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
public class Debug4 extends Map_World {
|
||||
public Debug4() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3","Player No. 4"},
|
||||
new int[] {0,1,2,3}
|
||||
);
|
||||
}
|
||||
public Debug4() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3","Player No. 4"},
|
||||
new int[] {1,2,3,4}
|
||||
);
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
public class Debug5 extends Map_World {
|
||||
public Debug5() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3", "Player No. 4", "Spieler Nr. 5"},
|
||||
new int[] {0,1,2,3,4}
|
||||
);
|
||||
}
|
||||
public Debug5() {
|
||||
super(
|
||||
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3", "Player No. 4", "Spieler Nr. 5"},
|
||||
new int[] {1,2,3,4,5}
|
||||
);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
Loading…
Reference in New Issue