changes in Siedler Board. Usage of Field Class added.
This commit is contained in:
parent
7c913089b5
commit
b38e24b612
|
@ -1,11 +1,15 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
|
import ch.zhaw.hexboard.Label;
|
||||||
|
|
||||||
public class Field {
|
public class Field {
|
||||||
|
|
||||||
private Config.Land land;
|
private Config.Land land;
|
||||||
|
private Label label;
|
||||||
|
|
||||||
public Field(Config.Land land){
|
public Field(Config.Land land, Label label){
|
||||||
this.land = land;
|
this.land = land;
|
||||||
|
this.label = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Config.Resource getResource(){
|
public Config.Resource getResource(){
|
||||||
|
@ -15,4 +19,8 @@ public class Field {
|
||||||
public Config.Land getLand() {
|
public Config.Land getLand() {
|
||||||
return land;
|
return land;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Label getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,38 +10,37 @@ import java.util.*;
|
||||||
|
|
||||||
public class SiedlerBoard extends HexBoard<Land, Settlement, Road, String> {
|
public class SiedlerBoard extends HexBoard<Land, Settlement, Road, String> {
|
||||||
|
|
||||||
Map<Point, ch.zhaw.hexboard.Label> lowerFieldLabel = new HashMap<>();
|
Map<Point, Field> lowerFieldLabel = new HashMap<>();
|
||||||
|
|
||||||
public void createFixGamefield(){
|
public void createFixGamefield(){
|
||||||
Map<Point,Land> resourcePlacement = Config.getStandardLandPlacement();
|
Map<Point,Land> resourcePlacement = Config.getStandardLandPlacement();
|
||||||
Map<Point, Integer> dicePlacement = Config.getStandardDiceNumberPlacement();
|
Map<Point, Integer> dicePlacement = Config.getStandardDiceNumberPlacement();
|
||||||
for (Map.Entry<Point,Land> resourceField : resourcePlacement.entrySet()) {
|
for (Map.Entry<Point,Land> resourceField : resourcePlacement.entrySet()) {
|
||||||
addField(resourceField.getKey(),resourceField.getValue());
|
addField(resourceField.getKey(),resourceField.getValue());
|
||||||
}
|
if(dicePlacement.get(resourceField.getKey()) != null){
|
||||||
for (Map.Entry<Point,Integer> diceField : dicePlacement.entrySet()) {
|
String numberAsString = dicePlacement.get(resourceField.getKey()).toString();
|
||||||
String numberAsString = diceField.getValue().toString();
|
|
||||||
char[] numbersInChar = numberAsString.toCharArray();
|
char[] numbersInChar = numberAsString.toCharArray();
|
||||||
if (numberAsString.length() < 2) {
|
if (numberAsString.length() < 2) {
|
||||||
lowerFieldLabel.put(diceField.getKey(), new Label('0', numbersInChar[0]));
|
lowerFieldLabel.put(resourceField.getKey(), new Field(resourceField.getValue(), new Label('0', numbersInChar[0])));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lowerFieldLabel.put(diceField.getKey(), new Label(numbersInChar[0],numbersInChar[1]));
|
lowerFieldLabel.put(resourceField.getKey(), new Field(resourceField.getValue(), new Label(numbersInChar[0],numbersInChar[1])));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private int getDiceNumber(Point field) {
|
private int getDiceNumber(Point field) {
|
||||||
Label label = lowerFieldLabel.get(field);
|
Label label = lowerFieldLabel.get(field).getLabel();
|
||||||
return Integer.parseInt(label.toString());
|
return Integer.parseInt(label.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getTextView () {
|
public String getTextView () {
|
||||||
SiedlerBoardTextView view = new SiedlerBoardTextView(this);
|
SiedlerBoardTextView view = new SiedlerBoardTextView(this);
|
||||||
for (Map.Entry<Point, Label> e : lowerFieldLabel.entrySet()) {
|
for (Map.Entry<Point, Field> e : lowerFieldLabel.entrySet()) {
|
||||||
view.setLowerFieldLabel(e.getKey(), e.getValue());
|
view.setLowerFieldLabel(e.getKey(), e.getValue().getLabel());
|
||||||
}
|
}
|
||||||
return view.toString();
|
return view.toString();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue