mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2024-11-24 23:59:44 +01:00
added Fields
This commit is contained in:
parent
65c85aacf0
commit
81731247c7
@ -0,0 +1,59 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class BuildingProperty extends PropertyField {
|
||||
|
||||
private int houses;
|
||||
private boolean hotel = false;
|
||||
|
||||
BuildingProperty(String name, int id, int price, int rent) {
|
||||
super(name, id, price, rent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int calcRent() {
|
||||
if(!hotel) {
|
||||
return rent*houses;
|
||||
} else {
|
||||
return rent*6;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean buildHouse() {
|
||||
if (houses < 4) {
|
||||
houses++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean buildHotel() {
|
||||
if (hotel) {
|
||||
return false;
|
||||
}
|
||||
hotel = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean removeHouse() {
|
||||
if (houses == 0) {
|
||||
return false;
|
||||
}
|
||||
houses--;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean removeHotel() {
|
||||
if (!hotel) {
|
||||
return false;
|
||||
}
|
||||
hotel = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
import pp.monopoly.model.card.Card;
|
||||
import pp.monopoly.model.card.DeckHelper;
|
||||
|
||||
public class EventField extends Field{
|
||||
|
||||
public EventField(int id) {
|
||||
super("EreignissFeld", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
|
||||
public Card drawCard() {
|
||||
return DeckHelper.drawCard();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
abstract class Field {
|
||||
protected final String name;
|
||||
protected final int id;
|
||||
|
||||
protected Field(String name, int id) {
|
||||
this.name = name;
|
||||
this.id= id;
|
||||
}
|
||||
|
||||
public abstract void accept(Player player);
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class FoodField extends PropertyField {
|
||||
|
||||
public FoodField(String name, int id) {
|
||||
super(name, id, 1500,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int calcRent() {
|
||||
// TODO Auto-generated method stub
|
||||
throw new UnsupportedOperationException("Unimplemented method 'calcRent'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class GateField extends PropertyField{
|
||||
|
||||
GateField(String name, int id) {
|
||||
super(name, id, 2000, 25);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int calcRent() {
|
||||
return rent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class GoField extends Field{
|
||||
|
||||
public GoField() {
|
||||
super("Monatsgehalt", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class GulagField extends Field{
|
||||
|
||||
private int bailCost = 500;
|
||||
|
||||
GulagField() {
|
||||
super("Gulag", 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public abstract class PropertyField extends Field {
|
||||
|
||||
private final int price;
|
||||
protected final int rent;
|
||||
private Player owner;
|
||||
private boolean mortaged = false;
|
||||
|
||||
protected PropertyField(String name, int id, int price, int rent) {
|
||||
super(name, id);
|
||||
this.price = price;
|
||||
this.rent = rent;
|
||||
}
|
||||
|
||||
|
||||
protected abstract int calcRent();
|
||||
|
||||
public int getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class TestStreckeField extends Field{
|
||||
private int money;
|
||||
|
||||
TestStreckeField() {
|
||||
super("Teststrecke", 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
|
||||
public void addMoney(int amount) {
|
||||
money += amount;
|
||||
}
|
||||
|
||||
public int collectMoney() {
|
||||
return money = 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package pp.monopoly.model.fields;
|
||||
|
||||
import pp.monopoly.game.server.Player;
|
||||
|
||||
public class WacheField extends Field{
|
||||
|
||||
public WacheField() {
|
||||
super("Wache", 30);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(Player player) {
|
||||
player.visit(this);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user