From: Stefan F. <ste...@us...> - 2010-04-12 17:37:42
|
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(); + } + } } } |