|
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.
|