blueLagoon: Use state object for distribute resouces
This commit is contained in:
parent
2179ba5eaa
commit
543a09f548
@ -13,6 +13,7 @@ public class BlueLagoon {
|
||||
public static final String SIDES_GAME = "a 7 2; c 0 E; i 4 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3 4,0 4,1 4,2 4,3 5,0 5,1 5,2 5,3 6,0 6,1 6,2 6,3; i 20 0,5 1,5 1,6 2,5 3,5 3,6 4,5 5,5 5,6 6,5; s 0,0 0,1 0,2 0,3 1,1 1,2 1,3 1,5 1,6 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3 3,5 3,6 4,0 4,1 4,2 4,3 5,1 5,2 5,3 5,5 5,6 6,0 6,1 6,2 6,3; r C B W P S; p 0 0 0 0 0 0 0 S T; p 1 0 0 0 0 0 0 S T;";
|
||||
public static final String SPACE_INVADERS_GAME = "a 23 2; c 0 E; i 6 0,2 0,7 1,3 1,7 2,2 2,3 2,4 2,5 2,6 2,7 3,2 3,4 3,5 3,6 3,8 4,0 4,1 4,2 4,3 4,4 4,5 4,6 4,7 4,8 4,9 5,0 5,1 5,3 5,4 5,5 5,6 5,7 5,9 5,10 6,0 6,2 6,7 6,9 7,3 7,4 7,6 7,7; i 6 0,14 0,19 1,15 1,19 2,14 2,15 2,16 2,17 2,18 2,19 3,14 3,16 3,17 3,18 3,20 4,12 4,13 4,14 4,15 4,16 4,17 4,18 4,19 4,20 4,21 5,12 5,13 5,15 5,16 5,17 5,18 5,19 5,21 5,22 6,12 6,14 6,19 6,21 7,15 7,16 7,18 7,19; i 6 17,9 18,8 18,9 19,6 19,7 19,8 19,9 19,10 19,11 19,12 20,5 20,6 20,7 20,8 20,9 20,10 20,11 20,12 21,5 21,6 21,7 21,8 21,9 21,10 21,11 21,12 21,13 22,5 22,6 22,7 22,8 22,9 22,10 22,11 22,12; i 8 12,3 12,5 13,3 13,4 13,5 13,6 14,1 14,2 14,3 14,4 14,5 15,1 15,2 15,3 16,1 16,2; i 8 12,17 12,18 12,19 13,17 13,18 13,19 13,20 14,17 14,18 14,19 14,20 15,19 15,20 15,21 16,19 16,20; i 8 13,14 14,13 14,14 15,13 15,14 15,15 16,13 16,14; i 8 14,7 15,7 15,8 16,7; i 10 8,9 9,9 10,9 11,9; i 10 8,12 9,13 10,12 11,13; i 10 9,1 10,1 11,1 12,1; i 10 9,22 10,21 11,22 12,21; i 10 13,10 14,10 15,10; i 10 17,0 18,0 19,0 20,0; i 10 17,16 18,16 19,16 20,16; s 0,2 0,7 0,14 0,19 3,5 3,17 6,0 6,9 6,12 6,21 7,4 7,6 7,16 7,18 11,9 11,13 12,1 12,19 12,21 13,10 15,2 15,8 15,14 15,20 17,9 18,8 18,9 20,0 20,16 21,6 21,9 21,12; r C B W P S; p 0 0 0 0 0 0 0 S T; p 1 0 0 0 0 0 0 S T;";
|
||||
|
||||
// region Checks on strings
|
||||
/**
|
||||
* Check if the string encoding of the game state is well-formed.
|
||||
* Note that this does not mean checking that the state is valid
|
||||
@ -84,7 +85,9 @@ public class BlueLagoon {
|
||||
// return false
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region Distribute resources
|
||||
/**
|
||||
* Given a state string which is yet to have resources distributed amongst the stone circles,
|
||||
* randomly distribute the resources and statuettes between all the stone circles.
|
||||
@ -103,7 +106,14 @@ public class BlueLagoon {
|
||||
* @param stateString a string representing a game state without resources distributed
|
||||
* @return a string of the game state with resources randomly distributed
|
||||
*/
|
||||
public static String distributeResources(String stateString){
|
||||
|
||||
public static String distributeResources(String stateString) {
|
||||
State state = new State(stateString);
|
||||
state.distributeResources();
|
||||
return state.toString();
|
||||
}
|
||||
// Old distributeResources method
|
||||
/*
|
||||
// Check if the stateString is well-formed
|
||||
if (!isStateStringWellFormed(stateString)) return stateString;
|
||||
|
||||
@ -182,8 +192,12 @@ public class BlueLagoon {
|
||||
stateString = stateString.replace("r C B W P S", newResourcesState);
|
||||
|
||||
return stateString;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// endregion
|
||||
|
||||
// region Check and generate moves
|
||||
/**
|
||||
* Given a state string and a move string, determine if the move is
|
||||
* valid for the current player.
|
||||
@ -589,6 +603,8 @@ public class BlueLagoon {
|
||||
return allMoves;
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* Given a state string, determine whether it represents an end of phase state.
|
||||
* <p>
|
||||
|
Loading…
Reference in New Issue
Block a user