Merge remote-tracking branch 'origin/main'
This commit is contained in:
		
						commit
						f327273462
					
				| 
						 | 
				
			
			@ -1,13 +1,29 @@
 | 
			
		|||
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 {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 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) {
 | 
			
		||||
        super(faction, position);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Overrides toString method to show faction name in uppercase.
 | 
			
		||||
     *
 | 
			
		||||
     * @return String Faction in uppercase
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public String toString() {
 | 
			
		||||
        return super.getFaction().toString().toUpperCase();
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,10 @@
 | 
			
		|||
package ch.zhaw.catan;
 | 
			
		||||
 | 
			
		||||
//TODO:JavaDoc
 | 
			
		||||
/**
 | 
			
		||||
 * This enum is used to define the Commandwords.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Leonardo Brandenberger
 | 
			
		||||
 */
 | 
			
		||||
public enum Command {
 | 
			
		||||
    NEXT_PLAYER("next player"), BUILD_SETTLEMENT("build settlement"), BUILD_CITY("build city"),
 | 
			
		||||
    BUILD_ROAD("build road"), TRADE_WITH_BANK("trade with bank"), QUIT("quit");
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +16,12 @@ public enum Command {
 | 
			
		|||
        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() {
 | 
			
		||||
        return commandWord;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,24 +2,50 @@ package ch.zhaw.catan;
 | 
			
		|||
 | 
			
		||||
import ch.zhaw.hexboard.Label;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Field Class stores Land and Label in Corresponding Field.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Roman Schenk
 | 
			
		||||
 */
 | 
			
		||||
public class Field {
 | 
			
		||||
 | 
			
		||||
    private final Config.Land land;
 | 
			
		||||
    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) {
 | 
			
		||||
        this.land = land;
 | 
			
		||||
        this.label = label;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the Resource type of the field.
 | 
			
		||||
     *
 | 
			
		||||
     * @return Config.Resource of the field
 | 
			
		||||
     */
 | 
			
		||||
    public Config.Resource getResource() {
 | 
			
		||||
        return land.getResource();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Land type of the field.
 | 
			
		||||
     *
 | 
			
		||||
     * @return Config.Land of the field
 | 
			
		||||
     */
 | 
			
		||||
    public Config.Land getLand() {
 | 
			
		||||
        return land;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the label of the field.
 | 
			
		||||
     *
 | 
			
		||||
     * @return Label of the field
 | 
			
		||||
     */
 | 
			
		||||
    public Label getLabel() {
 | 
			
		||||
        return label;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,7 +75,7 @@ public class Parser {
 | 
			
		|||
    public HashMap<String, Integer> gameStart() {
 | 
			
		||||
        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("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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -134,6 +134,7 @@ public class Parser {
 | 
			
		|||
     * @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
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    public Config.Resource trade(boolean give) {
 | 
			
		||||
        String output = "give";
 | 
			
		||||
        if (!give) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,11 +2,12 @@ package ch.zhaw.catan;
 | 
			
		|||
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
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,
 | 
			
		||||
 * 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 {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +113,6 @@ public class Player {
 | 
			
		|||
     * @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.
 | 
			
		||||
     */
 | 
			
		||||
    //returns true if player has enough resources else false
 | 
			
		||||
    private boolean checkResourceToBuild(List<Config.Resource> list) {
 | 
			
		||||
        HashMap<Config.Resource, Integer> costs = new HashMap<>();
 | 
			
		||||
        for (Config.Resource resource : list) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue