@@ -0,0 +1,1625 @@
+package smims.networking.testing;%0A%0Aimport java.util.Collection;%0A%0Aimport smims.networking.model.Character;%0Aimport smims.networking.model.IBoard;%0Aimport smims.networking.model.IPlayer;%0Aimport smims.networking.model.MoveNotAllowedException;%0A%0A/**%0A * This Board implementation is configured to allow as many operations as %0A * possible. It does not manage multiple players.%0A */%0Apublic class PermissiveBoard implements IBoard %7B%0A%09private final Collection%3CCharacter%3E allCharacters;%0A%09private boolean allCharactersInHouse;%0A%09%0A%09public PermissiveBoard(Collection%3CCharacter%3E allCharacters, boolean allCharactersInHouse) %7B%0A%09%09if (allCharacters == null) %7B%0A%09%09%09throw new IllegalArgumentException();%0A%09%09%7D%0A%09%09%0A%09%09this.allCharacters = allCharacters;%0A%09%09this.allCharactersInHouse = allCharactersInHouse;%0A%09%7D%0A%0A%09@Override%0A%09public boolean fieldOccupied(int pFieldNumber) %7B%0A%09%09return false;%0A%09%7D%0A%0A%09@Override%0A%09public Character getCharacterAt(int pDistance, int pPlayerID) %7B%0A%09%09return null;%0A%09%7D%0A%0A%09@Override%0A%09public boolean characterWouldHitTeammate(Character pCharacter, int pDistance) %7B%0A%09%09return false;%0A%09%7D%0A%0A%09@Override%0A%09public boolean characterCanMove(Character character, int pDistance) %7B%0A%09%09return true;%0A%09%7D%0A%0A%09@Override%0A%09public boolean allCharactersInHouse(int pPlayerId) %7B%0A%09%09return allCharactersInHouse;%0A%09%7D%0A%09%0A%09public void setAllCharactersInHouse(boolean value) %7B%0A%09%09allCharactersInHouse = value;%0A%09%7D%0A%0A%09@Override%0A%09public void moveCharacter(Character pCharacter, int distance) throws MoveNotAllowedException %7B%09%09%0A%09%7D%0A%0A%09@Override%0A%09public Collection%3CCharacter%3E getAllCharacters() %7B%0A%09%09return allCharacters;%0A%09%7D%0A%0A%09@Override%0A%09public IPlayer getWinner() %7B%0A%09%09return null;%0A%09%7D%0A%0A%7D%0A

Implement a permissive board