Update of /cvsroot/rails/18xx/rails/algorithms
In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv9545/rails/algorithms
Modified Files:
NetworkVertex.java NetworkGraphBuilder.java
Log Message:
Added Tile and Token location hints
Some minor fixes
Index: NetworkVertex.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/algorithms/NetworkVertex.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** NetworkVertex.java 4 Apr 2010 22:02:53 -0000 1.1
--- NetworkVertex.java 9 Apr 2010 07:20:27 -0000 1.2
***************
*** 37,41 ****
this.side = 0;
! if (station.getBaseSlots() == 0){
this.tokenable = false;
} else {
--- 37,42 ----
this.side = 0;
! String t = station.getType();
! if (t.equals(Station.TOWN)){
this.tokenable = false;
} else {
***************
*** 52,59 ****
}
}
! if (tokens == null)
! this.companiesHaveToken = null;
! else {
! this.companiesHaveToken = new HashSet<PublicCompanyI>();
for (TokenI token:tokens) {
if (token instanceof BaseToken) {
--- 53,58 ----
}
}
! this.companiesHaveToken = new HashSet<PublicCompanyI>();
! if (tokens != null) {
for (TokenI token:tokens) {
if (token instanceof BaseToken) {
Index: NetworkGraphBuilder.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/algorithms/NetworkGraphBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** NetworkGraphBuilder.java 8 Apr 2010 21:23:14 -0000 1.2
--- NetworkGraphBuilder.java 9 Apr 2010 07:20:27 -0000 1.3
***************
*** 208,211 ****
--- 208,233 ----
}
+ public static List<MapHex> getMapHexes(Graph<NetworkVertex, NetworkEdge> graph){
+ List<MapHex> hexes = new ArrayList<MapHex>();
+ for(NetworkVertex vertex:graph.vertexSet()) {
+ if (vertex.isStation() || vertex.isSide()) {
+ hexes.add(vertex.getHex());
+ }
+ }
+ return hexes;
+ }
+
+ public static List<MapHex> getStationHexes(Graph<NetworkVertex, NetworkEdge> graph,
+ boolean tokenable){
+ List<MapHex> hexes = new ArrayList<MapHex>();
+ for(NetworkVertex vertex:graph.vertexSet()) {
+ if (vertex.isStation() && !(tokenable && vertex.isFullyTokened())) {
+ hexes.add(vertex.getHex());
+ }
+ }
+ return hexes;
+ }
+
+
public static void optimizeGraph(Graph<NetworkVertex, NetworkEdge> graph) {
while (removeVertexes(graph));
|