Update of /cvsroot/rails/18xx/rails/ui/swing
In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv14735/rails/ui/swing
Modified Files:
ORPanel.java
Log Message:
Initial experimental version of revenue calculation
Index: ORPanel.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** ORPanel.java 4 Apr 2010 22:02:53 -0000 1.51
--- ORPanel.java 12 Apr 2010 17:37:33 -0000 1.52
***************
*** 584,589 ****
protected void executeNetworkInfo(String companyName) {
!
! MapManager mapManager = orUIManager.getGameUIManager().getGameManager().getMapManager();
NetworkGraphBuilder nwGraph = new NetworkGraphBuilder();
--- 584,589 ----
protected void executeNetworkInfo(String companyName) {
! GameManagerI gm = orUIManager.getGameUIManager().getGameManager();
! MapManager mapManager = gm.getMapManager();
NetworkGraphBuilder nwGraph = new NetworkGraphBuilder();
***************
*** 592,603 ****
graph = nwGraph.getMapGraph();
! if (!companyName.equals("All")) {
! CompanyManagerI cm = orUIManager.getGameUIManager().getGameManager().getCompanyManager();
PublicCompanyI company = cm.getCompanyByName(companyName);
graph = nwGraph.getRailRoadGraph(company);
}
- NetworkGraphBuilder.visualize(graph, "Network of " + companyName);
- NetworkGraphBuilder.optimizeGraph(graph);
- NetworkGraphBuilder.visualize(graph, "Optimized Network of " + companyName);
}
--- 592,640 ----
graph = nwGraph.getMapGraph();
! if (companyName.equals("All")) {
! NetworkGraphBuilder.visualize(graph, "Map Network");
! NetworkGraphBuilder.optimizeGraph(graph);
! NetworkGraphBuilder.visualize(graph, "Optimized Map Network");
! } else {
! CompanyManagerI cm = gm.getCompanyManager();
PublicCompanyI company = cm.getCompanyByName(companyName);
graph = nwGraph.getRailRoadGraph(company);
+
+ NetworkGraphBuilder.visualize(graph, "Network of " + companyName);
+ NetworkGraphBuilder.optimizeGraph(graph);
+ NetworkGraphBuilder.visualize(graph, "Optimized Network of " + companyName);
+
+ // revenue calculation example
+ RevenueAdapter ra = new RevenueAdapter(graph);
+
+ // get trains
+ company.getPortfolio().getTrainList();
+ for (TrainI train:company.getPortfolio().getTrainList())
+ ra.addTrain(train);
+
+ boolean anotherTrain = true;
+ while (anotherTrain) {
+ // create results
+ ra.populateRevenueCalculator(company, gm.getCurrentPhase());
+ log.info("Revenue Adapter:" + ra);
+
+ int revenueValue = ra.calculateRevenue();
+ log.info("Revenue Value:" + revenueValue);
+ log.info("Revenue run:" + ra.getOptimalRun());
+ JOptionPane.showMessageDialog(orWindow, "RevenueValue = " + revenueValue +
+ "\n RevenueRun = " + ra.getOptimalRun());
+
+ String trainsToAdd =
+ JOptionPane.showInputDialog(orWindow, "Another train",
+ "Add another train to run?",
+ JOptionPane.QUESTION_MESSAGE);
+ if (trainsToAdd.equals("")) {
+ anotherTrain = false;
+ } else {
+ ra.addTrainByString(trainsToAdd);
+ ra.refreshRevenueCalculator();
+ }
+ }
}
}
|