|
From: <ste...@us...> - 2010-08-18 22:03:07
|
Revision: 1394
http://rails.svn.sourceforge.net/rails/?rev=1394&view=rev
Author: stefanfrey
Date: 2010-08-18 22:03:00 +0000 (Wed, 18 Aug 2010)
Log Message:
-----------
- Fixed display issues on the NetworkInfo->RevenueRun
- Added static modifier for 1856 CGR leased Diesel
Modified Paths:
--------------
trunk/18xx/rails/algorithms/RevenueAdapter.java
trunk/18xx/rails/algorithms/RevenueTrainRun.java
trunk/18xx/rails/game/specific/_1856/PublicCompany_CGR.java
trunk/18xx/rails/ui/swing/ORPanel.java
Modified: trunk/18xx/rails/algorithms/RevenueAdapter.java
===================================================================
--- trunk/18xx/rails/algorithms/RevenueAdapter.java 2010-08-17 20:07:46 UTC (rev 1393)
+++ trunk/18xx/rails/algorithms/RevenueAdapter.java 2010-08-18 22:03:00 UTC (rev 1394)
@@ -635,10 +635,9 @@
StringBuffer runPrettyPrint = new StringBuffer();
for (RevenueTrainRun run:listRuns) {
runPrettyPrint.append(run.prettyPrint(includeDetails));
- if (includeDetails)
- runPrettyPrint.append("<BR>");
- else if (run != listRuns.get(listRuns.size()-1))
- runPrettyPrint.append("; ");
+ if (!includeDetails && run != listRuns.get(listRuns.size()-1)) {
+ runPrettyPrint.append("; ");
+ }
}
if (includeDetails) {
for (RevenueDynamicModifier modifier:dynamicModifiers) {
Modified: trunk/18xx/rails/algorithms/RevenueTrainRun.java
===================================================================
--- trunk/18xx/rails/algorithms/RevenueTrainRun.java 2010-08-17 20:07:46 UTC (rev 1393)
+++ trunk/18xx/rails/algorithms/RevenueTrainRun.java 2010-08-18 22:03:00 UTC (rev 1394)
@@ -195,7 +195,7 @@
int length = runPrettyPrint.length() - initLength;
if (length / PRETTY_PRINT_LENGTH != multiple) {
multiple = length / PRETTY_PRINT_LENGTH;
- runPrettyPrint.append("<BR>");
+ runPrettyPrint.append("\n");
for (int i=0; i < PRETTY_PRINT_INDENT; i++)
runPrettyPrint.append(" ") ;
}
Modified: trunk/18xx/rails/game/specific/_1856/PublicCompany_CGR.java
===================================================================
--- trunk/18xx/rails/game/specific/_1856/PublicCompany_CGR.java 2010-08-17 20:07:46 UTC (rev 1393)
+++ trunk/18xx/rails/game/specific/_1856/PublicCompany_CGR.java 2010-08-18 22:03:00 UTC (rev 1394)
@@ -3,11 +3,13 @@
import java.util.ArrayList;
import java.util.List;
+import rails.algorithms.RevenueAdapter;
+import rails.algorithms.RevenueStaticModifier;
import rails.game.*;
import rails.game.move.*;
import rails.game.state.*;
-public class PublicCompany_CGR extends PublicCompany {
+public class PublicCompany_CGR extends PublicCompany implements RevenueStaticModifier {
public static final String NAME = "CGR";
@@ -29,8 +31,17 @@
// Share price is initially fixed
canSharePriceVary.set(false);
+
}
+
+ @Override
+ public void finishConfiguration(GameManagerI gameManager) throws ConfigurationException {
+ super.finishConfiguration(gameManager);
+ // add revenue modifier for the case that there is no train
+ gameManager.getRevenueManager().addStaticModifier(this);
+ }
+
public boolean hadPermanentTrain() {
return hadPermanentTrain.booleanValue();
}
@@ -149,4 +160,14 @@
public String getExtraShareMarks () {
return (hasTemporaryPresident() ? "T" : "");
}
+
+ public void modifyCalculator(RevenueAdapter revenueAdapter) {
+ // check if the running company is the cgr
+ if (revenueAdapter.getCompany() != this) return;
+
+ // add the diesel train
+ if (runsWithBorrowedTrain()) {
+ revenueAdapter.addTrainByString("D");
+ }
+ }
}
Modified: trunk/18xx/rails/ui/swing/ORPanel.java
===================================================================
--- trunk/18xx/rails/ui/swing/ORPanel.java 2010-08-17 20:07:46 UTC (rev 1393)
+++ trunk/18xx/rails/ui/swing/ORPanel.java 2010-08-18 22:03:00 UTC (rev 1394)
@@ -629,33 +629,18 @@
for (String addTrain:addTrainList) {
ra.addTrainByString(addTrain);
}
- ra.initRevenueCalculator(true);
- log.info("Revenue Adapter:" + ra);
+ ra.initRevenueCalculator(true); // true => multigraph, false => simplegraph
+ log.debug("Revenue Adapter:" + ra);
int revenueValue = ra.calculateRevenue();
- log.info("Revenue Value:" + revenueValue);
- log.info("Revenue Run:" + ra.getOptimalRunPrettyPrint(true));
+ log.debug("Revenue Value:" + revenueValue);
+ log.debug("Revenue Run:" + ra.getOptimalRunPrettyPrint(true));
ra.drawOptimalRunAsPath(orUIManager.getMap());
orUIManager.getMap().repaint();
JOptionPane.showMessageDialog(orWindow, "RevenueValue = " + revenueValue +
"\nRevenueRun = \n" + ra.getOptimalRunPrettyPrint(true));
- // simple
- ra = RevenueAdapter.createRevenueAdapter(gm, company, gm.getCurrentPhase());
- for (String addTrain:addTrainList) {
- ra.addTrainByString(addTrain);
- }
- ra.initRevenueCalculator(false);
- log.info("Revenue Adapter:" + ra);
- revenueValue = ra.calculateRevenue();
- log.info("Revenue Value:" + revenueValue);
- log.info("Revenue Run:" + ra.getOptimalRunPrettyPrint(true));
- ra.drawOptimalRunAsPath(orUIManager.getMap());
- orUIManager.getMap().repaint();
- JOptionPane.showMessageDialog(orWindow, "RevenueValue = " + revenueValue +
- "\nRevenueRun = \n" + ra.getOptimalRunPrettyPrint(true));
-
String trainString =
- JOptionPane.showInputDialog(orWindow, "Another train",
+ JOptionPane.showInputDialog(null, "Enter train string (Examples: 5, 3+3, 4D, 6E, D)",
"Add another train to run?",
JOptionPane.QUESTION_MESSAGE);
if (trainString == null || trainString.equals("")) {
@@ -842,8 +827,8 @@
revenueAdapter.drawOptimalRunAsPath(orUIManager.getMap());
orUIManager.getMap().repaint();
orUIManager.addInformation("Best Run Value = " + bestRevenue +
- " with " + revenueAdapter.getOptimalRunPrettyPrint(false));
- orUIManager.addDetail(revenueAdapter.getOptimalRunPrettyPrint(true));
+ " with " + Util.convertToHtml(revenueAdapter.getOptimalRunPrettyPrint(false)));
+ orUIManager.addDetail(Util.convertToHtml(revenueAdapter.getOptimalRunPrettyPrint(true)));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|