Merge remote-tracking branch 'origin/main'

This commit is contained in:
schrom01 2021-12-10 11:03:04 +01:00
commit f327273462
5 changed files with 60 additions and 7 deletions

View File

@ -1,13 +1,29 @@
package ch.zhaw.catan; package ch.zhaw.catan;
import java.awt.Point; import java.awt.*;
/**
* City Class Subclass of Structure to hold city at desired point.
*
* @author Andrin Fassbind
*/
public class City extends Settlement { public class City extends Settlement {
/**
* Constructs a City Object and the desired Position with the desired Faction.
*
* @param faction of the player
* @param position where the city will be placed
*/
public City(Config.Faction faction, Point position) { public City(Config.Faction faction, Point position) {
super(faction, position); super(faction, position);
} }
/**
* Overrides toString method to show faction name in uppercase.
*
* @return String Faction in uppercase
*/
@Override
public String toString() { public String toString() {
return super.getFaction().toString().toUpperCase(); return super.getFaction().toString().toUpperCase();
} }

View File

@ -1,6 +1,10 @@
package ch.zhaw.catan; package ch.zhaw.catan;
//TODO:JavaDoc /**
* This enum is used to define the Commandwords.
*
* @author Leonardo Brandenberger
*/
public enum Command { public enum Command {
NEXT_PLAYER("next player"), BUILD_SETTLEMENT("build settlement"), BUILD_CITY("build city"), NEXT_PLAYER("next player"), BUILD_SETTLEMENT("build settlement"), BUILD_CITY("build city"),
BUILD_ROAD("build road"), TRADE_WITH_BANK("trade with bank"), QUIT("quit"); BUILD_ROAD("build road"), TRADE_WITH_BANK("trade with bank"), QUIT("quit");
@ -12,6 +16,12 @@ public enum Command {
this.commandWord = commandWord; this.commandWord = commandWord;
} }
/**
* Overrides the toString method and lets it give out the commandWord as a string when used.
*
* @return commandWord as a String
*/
@Override
public String toString() { public String toString() {
return commandWord; return commandWord;
} }

View File

@ -2,24 +2,50 @@ package ch.zhaw.catan;
import ch.zhaw.hexboard.Label; import ch.zhaw.hexboard.Label;
/**
* Field Class stores Land and Label in Corresponding Field.
*
* @author Roman Schenk
*/
public class Field { public class Field {
private final Config.Land land; private final Config.Land land;
private final Label label; private final Label label;
/**
* Constructs field object that stores land and label object in Field.
*
* @param land that will be stored in Field
* @param label that will be stored in Field
*/
public Field(Config.Land land, Label label) { public Field(Config.Land land, Label label) {
this.land = land; this.land = land;
this.label = label; this.label = label;
} }
/**
* Returns the Resource type of the field.
*
* @return Config.Resource of the field
*/
public Config.Resource getResource() { public Config.Resource getResource() {
return land.getResource(); return land.getResource();
} }
/**
* Return the Land type of the field.
*
* @return Config.Land of the field
*/
public Config.Land getLand() { public Config.Land getLand() {
return land; return land;
} }
/**
* Return the label of the field.
*
* @return Label of the field
*/
public Label getLabel() { public Label getLabel() {
return label; return label;
} }

View File

@ -75,7 +75,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(Config.MIN_NUMBER_OF_PLAYERS).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(3).read("Winpoints needed for Victory:"));
return gameStartValues; return gameStartValues;
} }
@ -102,7 +102,7 @@ public class Parser {
} }
/** /**
* Outputs which player currently is at turn * Outputs which player currently is at turn.
* *
* @param faction the faction which turn it is * @param faction the faction which turn it is
*/ */
@ -134,6 +134,7 @@ public class Parser {
* @param give if true ask for resource to give if false for resource to receive * @param give if true ask for resource to give if false for resource to receive
* @return Config.Resource the resource the player would like to give or receive * @return Config.Resource the resource the player would like to give or receive
*/ */
public Config.Resource trade(boolean give) { public Config.Resource trade(boolean give) {
String output = "give"; String output = "give";
if (!give) { if (!give) {

View File

@ -2,11 +2,12 @@ package ch.zhaw.catan;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
//TODO Java Doc
/** /**
* This class is here in order to maintain the resources of the players, the amount of structures that they can build, * This class is here in order to maintain the resources of the players, the amount of structures that they can build,
* control to see if a player has enough to build a new structure and to add them into a faction. * control to see if a player has enough to build a new structure and to add them into a faction.
*
* @author Leonardo Brandenberger, Roman Schrom, Andrin Fassbind, Stefan Amador
*/ */
public class Player { public class Player {
@ -112,7 +113,6 @@ public class Player {
* @param list the list that shows how many resources are required. * @param list the list that shows how many resources are required.
* @return true if the player has enough resources to build and return false if he doesn't. * @return true if the player has enough resources to build and return false if he doesn't.
*/ */
//returns true if player has enough resources else false
private boolean checkResourceToBuild(List<Config.Resource> list) { private boolean checkResourceToBuild(List<Config.Resource> list) {
HashMap<Config.Resource, Integer> costs = new HashMap<>(); HashMap<Config.Resource, Integer> costs = new HashMap<>();
for (Config.Resource resource : list) { for (Config.Resource resource : list) {