From: Stefan F. <ste...@us...> - 2010-04-20 22:07:17
|
Update of /cvsroot/rails/18xx/rails/algorithms In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv24364/rails/algorithms Modified Files: RevenueCalculator.java NetworkVertex.java Log Message: Some further bug fixes to revenue calculation Index: RevenueCalculator.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/algorithms/RevenueCalculator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RevenueCalculator.java 20 Apr 2010 19:45:40 -0000 1.6 --- RevenueCalculator.java 20 Apr 2010 22:07:09 -0000 1.7 *************** *** 212,216 **** trainTerminated = trainTerminated(trainId); if (trainTerminated == Terminated.WithoutEvaluation || ! trainTerminated == Terminated.NotYet && useRevenuePrediction && predictRevenues(trainId)) { // cannot beat current best value => leave immediately encounterVertex(trainId, vertexId, false); --- 212,217 ---- trainTerminated = trainTerminated(trainId); if (trainTerminated == Terminated.WithoutEvaluation || ! // trainTerminated == Terminated.NotYet && ! useRevenuePrediction && predictRevenues(trainId)) { // cannot beat current best value => leave immediately encounterVertex(trainId, vertexId, false); *************** *** 283,287 **** trainTerminated = trainTerminated(trainId); if (trainTerminated == Terminated.WithoutEvaluation || ! trainTerminated == Terminated.NotYet && useRevenuePrediction && predictRevenues(trainId)) { // cannot beat current best value => leave immediately encounterVertex(trainId, vertexId, false); --- 284,289 ---- trainTerminated = trainTerminated(trainId); if (trainTerminated == Terminated.WithoutEvaluation || ! // trainTerminated == Terminated.NotYet && ! useRevenuePrediction && predictRevenues(trainId)) { // cannot beat current best value => leave immediately encounterVertex(trainId, vertexId, false); *************** *** 480,489 **** trainValue = maxTrainRevenues[j]; } else { // the current train ! if (trainMaxTowns[j] == 0) { // default train trainValue = trainCurrentValue[j] + ! maxCityRevenues[trainMaxCities[j] - trainCities[j]] * trainMultiplyCities[j]; } else { ! // plus trains int townDiff = trainMaxTowns[j] - trainTowns[j]; if (townDiff > 0) { --- 482,495 ---- trainValue = maxTrainRevenues[j]; } else { // the current train ! if (trainIgnoreTowns[j]) { ! // express train ! trainValue = trainCurrentValue[j] + ! maxCityRevenues[trainMaxCities[j] - trainCities[j] ] * trainMultiplyCities[j]; ! } else if (trainMaxTowns[j] == 0) { // default train trainValue = trainCurrentValue[j] + ! maxCityRevenues[trainMaxCities[j] - trainCities[j] - trainTowns[j] ] * trainMultiplyCities[j]; } else { ! // plus trains (or capped default trains) int townDiff = trainMaxTowns[j] - trainTowns[j]; if (townDiff > 0) { Index: NetworkVertex.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/algorithms/NetworkVertex.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** NetworkVertex.java 20 Apr 2010 19:45:40 -0000 1.7 --- NetworkVertex.java 20 Apr 2010 22:07:09 -0000 1.8 *************** *** 15,18 **** --- 15,19 ---- import rails.game.Station; import rails.game.TokenI; + import rails.ui.swing.hexmap.EWHexMap; import rails.ui.swing.hexmap.GUIHex; import rails.ui.swing.hexmap.HexMap; *************** *** 279,283 **** return guiHex.getCenterPoint2D(); } else if (vertex.isSide()) { ! return guiHex.getSidePoint2D(vertex.getSide()); } else { return null; --- 280,287 ---- return guiHex.getCenterPoint2D(); } else if (vertex.isSide()) { ! if (map instanceof EWHexMap) ! return guiHex.getSidePoint2D(5-vertex.getSide()); ! else ! return guiHex.getSidePoint2D((3+vertex.getSide())%6); } else { return null; |