47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package de.joethei.monopoly.actions;
|
|
|
|
import de.joethei.monopoly.Monopoly;
|
|
import de.joethei.monopoly.Player;
|
|
import de.joethei.monopoly.action.Action;
|
|
import de.joethei.monopoly.action.ActionType;
|
|
import de.joethei.monopoly.fields.Field;
|
|
import de.joethei.monopoly.fields.OwnableField;
|
|
import de.joethei.monopoly.fields.Street;
|
|
|
|
public class BuildHouseAction extends Action {
|
|
|
|
public BuildHouseAction(Field field) {
|
|
super("ein Haus bauen", field, ActionType.OPTIONAL_OWNER);
|
|
}
|
|
|
|
@Override
|
|
public void execute(Player player) {
|
|
if (player.getMoney() <= 100) {
|
|
System.out.println(player.getColor().getColorCode() + "Du hast nicht genug Geld");
|
|
}else {
|
|
Street street = (Street) getField();
|
|
int i = 0;
|
|
for(OwnableField field : street.getOwner().getOwning()) {
|
|
if(field instanceof Street) {
|
|
Street s = (Street) field;
|
|
if(s.getColor().equals(street.getColor())) {
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
if (i >= Monopoly.getFieldsByColor(street.getColor())) {
|
|
if (street.getHouses() <= 4) {
|
|
street.setHouses(street.getHouses() + 1);
|
|
System.out.println("Haus gebaut");
|
|
player.setMoney(player.getMoney() - 100);
|
|
Monopoly.getStatistics().get("buildHouses").incrementAndGet();
|
|
} else if (street.getHouses() == 5) {
|
|
System.out.println("Du hast bereits ein Hotel in dieser Straße");
|
|
}
|
|
}else {
|
|
System.out.println("Du besitzt nicht alle Straßen dieser Farbe");
|
|
}
|
|
}
|
|
|
|
}
|
|
} |