mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2024-11-25 01:09:46 +01:00
added Player
This commit is contained in:
parent
29a56f42a8
commit
25305760c5
@ -7,9 +7,120 @@
|
|||||||
|
|
||||||
package pp.monopoly.game.server;
|
package pp.monopoly.game.server;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.jme3.math.ColorRGBA;
|
||||||
|
|
||||||
|
import pp.monopoly.model.FieldVisitor;
|
||||||
|
import pp.monopoly.model.Figure;
|
||||||
|
import pp.monopoly.model.fields.BuildingProperty;
|
||||||
|
import pp.monopoly.model.fields.EventField;
|
||||||
|
import pp.monopoly.model.fields.FoodField;
|
||||||
|
import pp.monopoly.model.fields.GateField;
|
||||||
|
import pp.monopoly.model.fields.GoField;
|
||||||
|
import pp.monopoly.model.fields.GulagField;
|
||||||
|
import pp.monopoly.model.fields.PropertyField;
|
||||||
|
import pp.monopoly.model.fields.TestStreckeField;
|
||||||
|
import pp.monopoly.model.fields.WacheField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class representing a player
|
* Class representing a player
|
||||||
*/
|
*/
|
||||||
public class Player {
|
public class Player implements FieldVisitor<Void>{
|
||||||
|
private String name;
|
||||||
|
private ColorRGBA color;
|
||||||
|
private int accountBalance = 0;
|
||||||
|
private Figure figure;
|
||||||
|
private List<PropertyField> properties;
|
||||||
|
private int getOutOfJailCard;
|
||||||
|
private int fieldID;
|
||||||
|
|
||||||
|
Player(String name, ColorRGBA color) {
|
||||||
|
this.name = name;
|
||||||
|
this.color = color;
|
||||||
|
figure = new Figure();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int move(int steps){
|
||||||
|
return fieldID += steps;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void buyProperty(PropertyField property) {
|
||||||
|
properties.add(property);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sellProperty(PropertyField property) {
|
||||||
|
properties.remove(property);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void payRent(int amount) {
|
||||||
|
accountBalance -= amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void earnMoney(int amount) {
|
||||||
|
accountBalance += amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addJailCard() {
|
||||||
|
getOutOfJailCard++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeJailCard() {
|
||||||
|
if (getOutOfJailCard ==0) {
|
||||||
|
throw new IllegalStateException("Has no JailCard to remove");
|
||||||
|
}
|
||||||
|
getOutOfJailCard--;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(BuildingProperty field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(FoodField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(GateField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(GulagField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(TestStreckeField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(EventField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(WacheField field) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'visit'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(GoField field) {
|
||||||
|
accountBalance += 4000;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user