Debug GeneralMap Everything

master
Zocker1999NET 10 years ago
parent ecf3bcedf0
commit 3fbdfde335

@ -101,7 +101,7 @@ public abstract class GeneralMap extends World implements ButtonEvent
if(status == GameStates.SETZEN) if(status == GameStates.SETZEN)
{ {
GreenfootImage GameStatesEmpty = new GreenfootImage(500,textSize); GreenfootImage GameStatesEmpty = new GreenfootImage(500,textSize);
GreenfootImage GameStates = new GreenfootImage("Setzten! Wähle die Provinz aus!",textSize,new Color(255,255,255),new Color(0,0,0)); GreenfootImage GameStates = new GreenfootImage("SETZEN! Wähle die Provinz aus!",textSize,new Color(255,255,255),new Color(0,0,0)); // "Setzten" Lern Deutsch, Samuel
GameStatesEmpty.drawImage(GameStates,0,0); GameStatesEmpty.drawImage(GameStates,0,0);
GreenfootImage States = new GreenfootImage("MapWorld.png"); GreenfootImage States = new GreenfootImage("MapWorld.png");
States.drawImage(GameStatesEmpty,X,Y); States.drawImage(GameStatesEmpty,X,Y);
@ -244,16 +244,14 @@ public abstract class GeneralMap extends World implements ButtonEvent
return c; return c;
} }
private void resetClicked() {
for(int i = 1; i <= (provinces.length - 1); i++) {
provinces[i].hasClicked();
}
}
public void buttonClicked(Button b) { public void buttonClicked(Button b) {
if(status == GameStates.KAMPF) { if ( modus == b ) {
status = GameStates.VERSCHIEBEN;
} else if(status == GameStates.VERSCHIEBEN) {
status = GameStates.KAMPF;
currentPlayer++;
if(currentPlayer >= players.length) {
currentPlayer = 0;
}
} else if ( modus == b ) {
if(status==GameStates.SETZEN && freeArmies == 0 ) { if(status==GameStates.SETZEN && freeArmies == 0 ) {
status=GameStates.KAMPF; status=GameStates.KAMPF;
offenderProvince = null; offenderProvince = null;
@ -294,45 +292,44 @@ public abstract class GeneralMap extends World implements ButtonEvent
String maxDiceDefender = ""; String maxDiceDefender = "";
private void actFight() { private void actFight() {
if(offenderProvince == null) { for(int i = 1; i <= (provinces.length - 1); i++) {
OffenderProvince(); if (provinces[i].hasClicked() == true) {
if(p.getOwner() == currentPlayer) {
OffenderProvince(provinces[i]);
} else { } else {
defenderProvince(); DefenderProvince(provinces[i]);
}
}
} }
} }
private void OffenderProvince() private void OffenderProvince(Province p)
{
for ( int i = 1; i <= (provinces.length - 1); i++)
{ {
if (provinces[i].hasClicked() == true) if(offenderProvince != null) {
{ offenderProvince.redrawProvince();
offenderProvince = provinces[i];
provinces[i].redrawProvince(2);
// System.out.println("Die Provinz " + provinces[i].getDisplayName() + " wurde als angreifende Provinz ausgewählt! Sie gehört Spieler" + provinces[i].getOwner());
}
} }
offenderProvince = p;
p.redrawProvince(2);
// System.out.println("Die Provinz " + provinces[i].getDisplayName() + " wurde als angreifende Provinz ausgewählt! Sie gehört Spieler" + provinces[i].getOwner());
chooser();
} }
private void defenderProvince() private void DefenderProvince(Province p)
{
{
for (int i = 1; i <= (provinces.length - 1); i++)
{ {
if (provinces[i].hasClicked() == true)//&& defenderProvince != offenderProvince) if(defenderProvince != null) {
{ defenderProvince.redrawProvince();
defenderProvince = provinces[i]; }
provinces[i].redrawProvince(3); defenderProvince = p;
p.redrawProvince(3);
// System.out.println("Die Provinz " + provinces[i].getDisplayName() + " wurde als verteidigende Provinz ausgewählt! Sie gehört Spieler" + provinces[i].getOwner()); // System.out.println("Die Provinz " + provinces[i].getDisplayName() + " wurde als verteidigende Provinz ausgewählt! Sie gehört Spieler" + provinces[i].getOwner());
chooser(); chooser();
break;
}
}
}
} }
private void chooser() private void chooser()
{ {
if(offenderProvince == null || defenderProvince == null) {
return;
}
//System.out.println("Es wird gewürfelt!"); //System.out.println("Es wird gewürfelt!");
Dice_Offender diceOffender = new Dice_Offender(); Dice_Offender diceOffender = new Dice_Offender();
// System.out.println("Der Angreifer ereichte folgende Würfelzahlen:"); // System.out.println("Der Angreifer ereichte folgende Würfelzahlen:");
@ -372,6 +369,7 @@ public abstract class GeneralMap extends World implements ButtonEvent
decider(maxDiceOffenderArray, maxDiceDefenderArray); decider(maxDiceOffenderArray, maxDiceDefenderArray);
} }
// berechnet Zahlen und findet Gewinner; führt Konsequenz aus
private void decider(int[] maxDiceOffender, int [] maxDiceDefender) private void decider(int[] maxDiceOffender, int [] maxDiceDefender)
{ {
@ -382,7 +380,7 @@ public abstract class GeneralMap extends World implements ButtonEvent
int EntitiesOffender = offenderProvince.getEntityCount(); int EntitiesOffender = offenderProvince.getEntityCount();
int EntitiesDefender = defenderProvince.getEntityCount(); int EntitiesDefender = defenderProvince.getEntityCount();
defenderProvince.setEntityCount(EntitiesDefender - 1); defenderProvince.setEntityCount(EntitiesDefender - 1);
JOptionPane.showMessageDialog(null,"Somit gewinnt der Angreifer (Spieler " + offenderProvince.getOwner() + ").Dem Verteidiger (Spieler " + defenderProvince.getOwner() + ") wird eine Einheit abgezogen. Er hat nun noch " + defenderProvince.getEntityCount() + " Einheiten"); JOptionPane.showMessageDialog(null,"Somit gewinnt der Angreifer (" + getPlayerName(offenderProvince.getOwner()) + "). Dem Verteidiger (" + getPlayerName(defenderProvince.getOwner()) + ") wird eine Einheit abgezogen. Er hat nun noch " + defenderProvince.getEntityCount() + " Einheiten.");
} }
@ -391,7 +389,7 @@ public abstract class GeneralMap extends World implements ButtonEvent
int EntitiesOffender = offenderProvince.getEntityCount(); int EntitiesOffender = offenderProvince.getEntityCount();
int EntitiesDefender = defenderProvince.getEntityCount(); int EntitiesDefender = defenderProvince.getEntityCount();
offenderProvince.setEntityCount(EntitiesOffender - 1); offenderProvince.setEntityCount(EntitiesOffender - 1);
JOptionPane.showMessageDialog(null,"Somit gewinnt der Verteidiger (Spieler " + defenderProvince.getOwner() + ").Dem Angreifer (Spieler " + defenderProvince.getOwner() + ") wird eine Einheit abgezogen. Er hat nun noch " + offenderProvince.getEntityCount() + " Einheiten"); JOptionPane.showMessageDialog(null,"Somit gewinnt der Verteidiger (" + getPlayerName(defenderProvince.getOwner()) + "). Dem Angreifer (" + getPlayerName(offenderProvince.getOwner()) + ") wird eine Einheit abgezogen. Er hat nun noch " + offenderProvince.getEntityCount() + " Einheiten.");
} }
if (maxOffender == maxDefender && offenderProvince.getEntityCount()>1) if (maxOffender == maxDefender && offenderProvince.getEntityCount()>1)
@ -399,18 +397,19 @@ public abstract class GeneralMap extends World implements ButtonEvent
int EntitiesOffender = offenderProvince.getEntityCount(); int EntitiesOffender = offenderProvince.getEntityCount();
int EntitiesDefender = defenderProvince.getEntityCount(); int EntitiesDefender = defenderProvince.getEntityCount();
offenderProvince.setEntityCount(EntitiesOffender - 1); offenderProvince.setEntityCount(EntitiesOffender - 1);
JOptionPane.showMessageDialog(null,"Da es unentschieden ist, gewinnt der Verteidiger (Spieler " + defenderProvince.getOwner() + ").Dem Angreifer (Spieler " + defenderProvince.getOwner() + ") wird eine Einheit abgezogen. Er hat nun noch " + offenderProvince.getEntityCount() + " Einheiten"); JOptionPane.showMessageDialog(null,"Da es unentschieden ist, gewinnt der Verteidiger (" + getPlayerName(defenderProvince.getOwner()) + "). Dem Angreifer (" + getPlayerName(offenderProvince.getOwner()) + ") wird eine Einheit abgezogen. Er hat nun noch " + offenderProvince.getEntityCount() + " Einheiten.");
} }
if (maxOffender>maxDefender && defenderProvince.getEntityCount()==1) if (maxOffender>maxDefender && defenderProvince.getEntityCount()==1)
{ {
defenderProvince.setOwner(offenderProvince.getOwner()); defenderProvince.setOwner(offenderProvince.getOwner());
defenderProvince.setEntityCount(0); defenderProvince.setEntityCount(1);
JOptionPane.showMessageDialog(null,"Somit gewinnt der Angreifer (Spieler " + offenderProvince.getOwner() + "). Die Provinz gehört fortan dem Angreifer (" + offenderProvince.getOwner() + ")"); JOptionPane.showMessageDialog(null,"Somit gewinnt der Angreifer (" + getPlayerName(offenderProvince.getOwner()) + "). Die Provinz gehört fortan dem Angreifer (" + getPlayerName(offenderProvince.getOwner()) ").");
} }
offenderProvince.redrawProvince();
defenderProvince.redrawProvince();
offenderProvince = null; offenderProvince = null;
defenderProvince = null; defenderProvince = null;
} }
// Einheiten verschieben // Einheiten verschieben
@ -418,11 +417,9 @@ public abstract class GeneralMap extends World implements ButtonEvent
Province savedProvince = null; Province savedProvince = null;
private void actMove() { private void actMove() {
Province clickedProvince;
for ( int i = 1; i <= (provinces.length - 1); i++) { for ( int i = 1; i <= (provinces.length - 1); i++) {
if (provinces[i].hasClicked() == true) { if (provinces[i].hasClicked() == true) {
clickedProvince = provinces[i]; useProvincesToMove(provinces[i]);
useProvincesToMove(clickedProvince);
break; break;
} }
} }
@ -462,18 +459,21 @@ public abstract class GeneralMap extends World implements ButtonEvent
*/ */
private void useProvincesToMove(Province givenProvince) private void useProvincesToMove(Province givenProvince)
{ {
if(givenProvince.getOwner() != currentPlayer) {
return;
}
if (savedProvince == null) if (savedProvince == null)
{ {
savedProvince = givenProvince; savedProvince = givenProvince;
givenProvince.redrawProvince(2);
} }
else if ((savedProvince != null) && (givenProvince != savedProvince))
else if ((savedProvince != null) && (givenProvince != savedProvince) && (savedProvince.getOwner() == givenProvince.getOwner()) && (savedProvince.getOwner() == currentPlayer) )
{ {
if (givenProvince.isProvinceNear(savedProvince.getID()) == true) if (givenProvince.isProvinceNear(savedProvince.getID()) == true)
{ {
moveEntities(savedProvince,givenProvince); moveEntities(savedProvince,givenProvince);
} }
savedProvince.redrawProvince();
savedProvince = null; savedProvince = null;
} }
} }

Loading…
Cancel
Save