Monopoly/src/main/java/de/joethei/monopoly/actions/BuildHouseAction.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");
}
}
}
}