Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
1bbb05ebfd
|
@ -1,11 +1,10 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
public class Bank {
|
public class Bank {
|
||||||
private HashMap<Config.Resource, Integer> resources = new HashMap<>();
|
private final HashMap<Config.Resource, Integer> resources = new HashMap<>();
|
||||||
|
|
||||||
public Bank(){
|
public Bank(){
|
||||||
resources.putAll(Config.INITIAL_RESOURCE_CARDS_BANK);
|
resources.putAll(Config.INITIAL_RESOURCE_CARDS_BANK);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.Point;
|
||||||
|
|
||||||
public class City extends Settlement {
|
public class City extends Settlement {
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
import org.beryx.textio.TextIO;
|
//TODO:JavaDoc
|
||||||
|
|
||||||
public enum Command {
|
public enum Command {
|
||||||
NEXTPLAYER ("next player"), BUILDSETTLEMENT ("build settlement"), BUILDCITY("build city"),
|
NEXTPLAYER ("next player"), BUILDSETTLEMENT ("build settlement"), BUILDCITY("build city"),
|
||||||
BUILDROAD("build road"), TRADEWITHBANK("trade with bank"),QUIT("quit");
|
BUILDROAD("build road"), TRADEWITHBANK("trade with bank"),QUIT("quit");
|
||||||
|
|
||||||
private String commandWord;
|
private final String commandWord;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
package ch.zhaw.catan;
|
|
||||||
|
|
||||||
import ch.zhaw.catan.Config.Land;
|
|
||||||
import ch.zhaw.hexboard.Label;
|
|
||||||
import java.awt.Point;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import org.beryx.textio.TextIO;
|
|
||||||
import org.beryx.textio.TextIoFactory;
|
|
||||||
import org.beryx.textio.TextTerminal;
|
|
||||||
|
|
||||||
public class Dummy {
|
|
||||||
|
|
||||||
public enum Actions {
|
|
||||||
SHOW, QUIT
|
|
||||||
}
|
|
||||||
|
|
||||||
private void run() {
|
|
||||||
TextIO textIO = TextIoFactory.getTextIO();
|
|
||||||
TextTerminal<?> textTerminal = textIO.getTextTerminal();
|
|
||||||
SiedlerBoard board = new SiedlerBoard();
|
|
||||||
board.addField(new Point(2, 2), Land.FOREST);
|
|
||||||
board.setCorner(new Point(3, 3), new Settlement(Config.Faction.RED,new Point(3, 3)));
|
|
||||||
board.setEdge(new Point(2, 0), new Point(3, 1), new Road(Config.Faction.BLUE,new Point(2, 0),new Point(2, 0)));
|
|
||||||
board.addFieldAnnotation(new Point(2, 2), new Point(3, 1), "AA");
|
|
||||||
|
|
||||||
Map<Point, Label> lowerFieldLabel = new HashMap<>();
|
|
||||||
lowerFieldLabel.put(new Point(2, 2), new Label('0', '9'));
|
|
||||||
SiedlerBoardTextView view = new SiedlerBoardTextView(board);
|
|
||||||
|
|
||||||
for (Map.Entry<Point, Label> e : lowerFieldLabel.entrySet()) {
|
|
||||||
view.setLowerFieldLabel(e.getKey(), e.getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean running = true;
|
|
||||||
while (running) {
|
|
||||||
switch (getEnumValue(textIO, Actions.class)) {
|
|
||||||
case SHOW:
|
|
||||||
textTerminal.println(view.toString());
|
|
||||||
break;
|
|
||||||
case QUIT:
|
|
||||||
running = false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new IllegalStateException("Internal error found - Command not implemented.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
textIO.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T extends Enum<T>> T getEnumValue(TextIO textIO, Class<T> commands) {
|
|
||||||
return textIO.newEnumInputReader(commands).read("What would you like to do?");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
new Dummy().run();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -76,7 +76,7 @@ public class Parser {
|
||||||
*/
|
*/
|
||||||
public HashMap<String, Integer> gameStart() {
|
public HashMap<String, Integer> gameStart() {
|
||||||
HashMap<String, Integer> gameStartValues = new HashMap<>();
|
HashMap<String, Integer> gameStartValues = new HashMap<>();
|
||||||
gameStartValues.put("NumberOfPlayers", textIO.newIntInputReader().withMinVal(2).withMaxVal(4).read("Number of players:"));
|
gameStartValues.put("NumberOfPlayers", textIO.newIntInputReader().withMinVal(Config.MIN_NUMBER_OF_PLAYERS).withMaxVal(4).read("Number of players:"));
|
||||||
gameStartValues.put("NumberOfWinPoints", textIO.newIntInputReader().withMinVal(5).withMaxVal(15).read("Winpoints needed for Victory:"));
|
gameStartValues.put("NumberOfWinPoints", textIO.newIntInputReader().withMinVal(5).withMaxVal(15).read("Winpoints needed for Victory:"));
|
||||||
return gameStartValues;
|
return gameStartValues;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* New Class PLayer
|
* New Class PLayer
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package ch.zhaw.catan;
|
package ch.zhaw.catan;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.Point;
|
||||||
|
|
||||||
public class Road extends Structure {
|
public class Road extends Structure {
|
||||||
|
|
||||||
private Point start,end;
|
private final Point start,end;
|
||||||
|
|
||||||
|
|
||||||
public Road(Config.Faction faction,Point start,Point end) {
|
public Road(Config.Faction faction,Point start,Point end) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class SiedlerGame {
|
||||||
* three or players is not between two and four
|
* three or players is not between two and four
|
||||||
*/
|
*/
|
||||||
public SiedlerGame(int winPoints, int numberOfPlayers) {
|
public SiedlerGame(int winPoints, int numberOfPlayers) {
|
||||||
if(winPoints < 3 || numberOfPlayers < 2 || numberOfPlayers > 4) {
|
if(winPoints < 3 || numberOfPlayers < Config.MIN_NUMBER_OF_PLAYERS || numberOfPlayers > 4) {
|
||||||
throw new IllegalArgumentException();
|
throw new IllegalArgumentException();
|
||||||
}
|
}
|
||||||
bank = new Bank();
|
bank = new Bank();
|
||||||
|
@ -246,7 +246,7 @@ public class SiedlerGame {
|
||||||
resourceArrayList.add(resource);
|
resourceArrayList.add(resource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(resourceArrayList.size() > 7){
|
if(resourceArrayList.size() > Config.MAX_CARDS_IN_HAND_NO_DROP){
|
||||||
int resourcesToRemove =resourceArrayList.size() - (resourceArrayList.size() / 2);
|
int resourcesToRemove =resourceArrayList.size() - (resourceArrayList.size() / 2);
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
for(int i = 0; i < resourcesToRemove; i++){
|
for(int i = 0; i < resourcesToRemove; i++){
|
||||||
|
|
Loading…
Reference in New Issue