first draft of foundigPhase Method
This commit is contained in:
@@ -4,22 +4,79 @@ import org.beryx.textio.TextIO;
|
||||
import org.beryx.textio.TextIoFactory;
|
||||
import org.beryx.textio.TextTerminal;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Siedler {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
//Spiel erstellen
|
||||
SiedlerGame game = new SiedlerGame(3, 2);
|
||||
Parser parser = new Parser();
|
||||
SiedlerGame game = foundingPhase(parser);
|
||||
|
||||
parser.getAction();
|
||||
|
||||
|
||||
//Spielfeld ausgeben
|
||||
TextIO textIO = TextIoFactory.getTextIO();
|
||||
TextTerminal<?> textTerminal = textIO.getTextTerminal();
|
||||
textTerminal.println(game.getBoard().getTextView());
|
||||
Parser parser = new Parser();
|
||||
parser.getAction();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static SiedlerGame foundingPhase(Parser parser) {
|
||||
HashMap<String, Integer> gameInfo = parser.gameStart();
|
||||
SiedlerGame game = new SiedlerGame(gameInfo.get("NumberOfWinPoints"), gameInfo.get("NumberOfPlayers"));
|
||||
for(int player = 1; player <= gameInfo.get("NumberOfPlayers"); player++){
|
||||
buildStructuresInFoundingPhase(game, parser, false);
|
||||
if(player < gameInfo.get("NumberOfPlayers")){
|
||||
game.switchToPreviousPlayer();
|
||||
}
|
||||
}
|
||||
for(int player = 1; player <= gameInfo.get("NumberOfPlayers"); player++){
|
||||
buildStructuresInFoundingPhase(game, parser, true);
|
||||
game.switchToNextPlayer();
|
||||
}
|
||||
return game;
|
||||
}
|
||||
|
||||
|
||||
private static void buildStructuresInFoundingPhase(SiedlerGame game, Parser parser, Boolean payout){
|
||||
|
||||
parser.displayGameboard(game.getBoard().getTextView());
|
||||
parser.playerTurn(game.getCurrentPlayerFaction());
|
||||
|
||||
|
||||
//build Settlement
|
||||
parser.giveCoordinatesForStructures(Config.Structure.SETTLEMENT);
|
||||
boolean sucessful = false;
|
||||
do{
|
||||
if(game.placeInitialSettlement(parser.getPoint(), payout)) {
|
||||
sucessful = true;
|
||||
}
|
||||
else{
|
||||
parser.errorMessage();
|
||||
}
|
||||
} while(!sucessful);
|
||||
|
||||
//build Road
|
||||
parser.displayGameboard(game.getBoard().getTextView());
|
||||
parser.giveCoordinatesForStructures(Config.Structure.ROAD);
|
||||
sucessful = false;
|
||||
do{
|
||||
if(game.placeInitialRoad(parser.getPoint(), parser.getPoint())) {
|
||||
sucessful = true;
|
||||
}
|
||||
else{
|
||||
parser.errorMessage();
|
||||
}
|
||||
} while(!sucessful);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user