From: <ev...@us...> - 2011-07-07 12:59:01
|
Revision: 1609 http://rails.svn.sourceforge.net/rails/?rev=1609&view=rev Author: evos Date: 2011-07-07 12:58:55 +0000 (Thu, 07 Jul 2011) Log Message: ----------- Fixed: 1856 THB home hex: if there is a foreign token on L15 when THB starts, home hex was not laid in first OR. Modified Paths: -------------- trunk/18xx/rails/game/PublicCompany.java Modified: trunk/18xx/rails/game/PublicCompany.java =================================================================== --- trunk/18xx/rails/game/PublicCompany.java 2011-07-07 04:56:55 UTC (rev 1608) +++ trunk/18xx/rails/game/PublicCompany.java 2011-07-07 12:58:55 UTC (rev 1609) @@ -1818,9 +1818,24 @@ Map<Integer, List<Track>> tracks = homeHex.getCurrentTile().getTracksPerStationMap(); if (tracks == null || tracks.isEmpty()) { + // No tracks, then it doesn't matter homeCityNumber = 1; } else { - return false; + // Cover the case that there already is another token. + // Allowing this is optional for 1856 Hamilton (THB home) + List<City> cities = homeHex.getCities(); + List<City> openCities = new ArrayList<City>(); + for (City city : cities) { + if (city.hasTokenSlotsLeft()) openCities.add (city); + } + if (openCities.size() == 1) { + // Just one spot: lay the home base there. + homeCityNumber = openCities.get(0).getNumber(); + } else { + // ?? + // TODO Will player be asked?? + return false; + } } } log.debug(name + " lays home base on " + homeHex.getName() + " city " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |