This commit is contained in:
Immanuel Alvaro Bhirawa 2023-05-09 10:53:47 +10:00
commit dd4e360d8e
2 changed files with 7 additions and 7 deletions

View File

@ -243,10 +243,11 @@ public class Player {
// Check if the player has placed all their settlers or villages // Check if the player has placed all their settlers or villages
int numSettlers = 30 - ((state.getNumPlayers() - 2) * 5); int numSettlers = 30 - ((state.getNumPlayers() - 2) * 5);
boolean hasSettler = (settlers.length < numSettlers); boolean hasSettler = (settlers.length < numSettlers);
boolean hasVillage = (settlers.length < 5); boolean hasVillage = (villages.length < 5);
if (state.getCurrentPhase() != 'E'){
if (!hasSettler && !hasVillage) return false; if (!hasSettler && !hasVillage) return false;
} // if (state.getCurrentPhase() != 'E'){
// if (!hasSettler && !hasVillage) return false;
// }
// Add used coords // Add used coords
@ -302,13 +303,13 @@ public class Player {
else if(y > state.boardHeight - 1) continue; else if(y > state.boardHeight - 1) continue;
switch (state.getCurrentPhase()) { switch (state.getCurrentPhase()) {
case 'E' -> { case 'E' -> {
if (!islandCoords.contains(cord)) return true; if (!islandCoords.contains(cord) && hasSettler) return true;
if ((isAdjacent(cord, playerVillageCoords) || isAdjacent(cord, playerSettlerCoords))) return true; if ((isAdjacent(cord, playerVillageCoords) || isAdjacent(cord, playerSettlerCoords))) return true;
} }
// Settlement Phase // Settlement Phase
case 'S' -> { case 'S' -> {
// if the settler is adjacent with any of the pieces return true // if the settler is adjacent with any of the pieces return true
if ((isAdjacent(cord, playerVillageCoords) || isAdjacent(cord, playerSettlerCoords))) return true; if ((isAdjacent(cord, playerVillageCoords) || isAdjacent(cord, playerSettlerCoords)) && hasSettler) return true;
} }
} }
} }

View File

@ -406,7 +406,6 @@ public class State {
/** /**
* is the phase over? * is the phase over?
* Defaults to simple mode
*/ */
public boolean isPhaseOver() { public boolean isPhaseOver() {
boolean resourcesLeft = false; boolean resourcesLeft = false;