public void simulate(int x) { // Bracket winners write to simfirst arraylist and move to next array in tournTeams to process. ArrayList<String> simfirst = new ArrayList<String>(); tournTeams = new Team[4][16]; // to reset the wins for new simulation nRegion = new Region[4]; winners = new Team[64]; ReadNCAA(); for (int l = 0; l < x; l++) { // loop for simulations roundOf32 = new Team[4][8]; sweet16 = new Team[4][4]; elite8 = new Team[4][2]; final4 = new Team[4][1]; theFinals = new Team[2]; simfirst = new ArrayList<String>(); // Round of 32 simfirst.add("Winner Bracket " + Integer.toString(1) + " on to Round of 32"); for (int j = 0; j < (tournTeams.length); j++) { // loop for teams in round int countNextb = 0; simfirst.add(" Region: " + nRegion[j].name()); // System.out.println("Region: " + nRegion[j].name()); for (int i = 0; i < tournTeams[j].length - 1; i += 2) { myGame = new Game(tournTeams[j][i], tournTeams[j][i + 1]); if (myGame.winnerIndex() == 1) { simfirst.add( " Team " + tournTeams[j][i].name() + " Wins " + (tournTeams[j][i].wins() + 1)); // System.out.println(" Team "+ tournTeams[k][j][i].name() + " Wins " + // tournTeams[k][j][i].wins()); roundOf32[j][countNextb] = new Team(tournTeams[j][i].name(), tournTeams[j][i].seed(), tournTeams[j][i].wp()); roundOf32[j][countNextb].win(); // System.out.println("k+1="+(k+1)+" j =" + j +" countNextb= "+countNextb + " Team " + // tournTeams[k+1][j][countNextb].name()); } else { simfirst.add( " Team " + tournTeams[j][i + 1].name() + " Wins " + (tournTeams[j][i + 1].wins() + 1)); // System.out.println(" Team "+ tournTeams[k][j][i+1].name() + " Wins " + // tournTeams[k][j][i+1].wins()); roundOf32[j][countNextb] = new Team( tournTeams[j][i + 1].name(), tournTeams[j][i + 1].seed(), tournTeams[j][i + 1].wp()); roundOf32[j][countNextb].win(); // System.out.println("k+1="+(k+1)+" j =" + j +" countNextb= "+countNextb + " Team " + // tournTeams[k+1][j][countNextb].name()); } countNextb++; } } // Sweet 16 simfirst.add("Winner Bracket " + Integer.toString(2) + " on to Sweet 16"); for (int j = 0; j < (roundOf32.length); j++) { // loop for teams in round int countNextb = 0; simfirst.add(" Region: " + nRegion[j].name()); // System.out.println("Region: " + nRegion[j].name()); for (int i = 0; i < roundOf32[j].length - 1; i += 2) { myGame = new Game(roundOf32[j][i], roundOf32[j][i + 1]); if (myGame.winnerIndex() == 1) { simfirst.add( " Team " + roundOf32[j][i].name() + " Wins " + (roundOf32[j][i].wins() + 1)); sweet16[j][countNextb] = roundOf32[j][i]; sweet16[j][countNextb].win(); } else { simfirst.add( " Team " + roundOf32[j][i + 1].name() + " Wins " + (roundOf32[j][i + 1].wins() + 1)); sweet16[j][countNextb] = roundOf32[j][i + 1]; sweet16[j][countNextb].win(); } countNextb++; } } // Elite 8 simfirst.add("Winner Bracket " + Integer.toString(3) + " on to Elite 8"); for (int j = 0; j < (sweet16.length); j++) { // loop for teams in round int countNextb = 0; simfirst.add(" Region: " + nRegion[j].name()); // System.out.println("Region: " + nRegion[j].name()); for (int i = 0; i < sweet16[j].length - 1; i += 2) { myGame = new Game(sweet16[j][i], sweet16[j][i + 1]); if (myGame.winnerIndex() == 1) { simfirst.add( " Team " + sweet16[j][i].name() + " Wins " + (sweet16[j][i].wins() + 1)); elite8[j][countNextb] = sweet16[j][i]; elite8[j][countNextb].win(); } else { simfirst.add( " Team " + sweet16[j][i + 1].name() + " Wins " + (sweet16[j][i + 1].wins() + 1)); elite8[j][countNextb] = sweet16[j][i + 1]; elite8[j][countNextb].win(); } countNextb++; } } // Final 4 simfirst.add("Winner Bracket " + Integer.toString(4) + " on to Final 4"); for (int j = 0; j < (elite8.length); j++) { // loop for teams in round simfirst.add(" Region: " + nRegion[j].name()); // System.out.println("Region: " + nRegion[j].name()); for (int i = 0; i < elite8[j].length - 1; i += 2) { myGame = new Game(elite8[j][i], elite8[j][i + 1]); if (myGame.winnerIndex() == 1) { simfirst.add(" Team " + elite8[j][i].name() + " Wins " + (elite8[j][i].wins() + 1)); final4[j][0] = elite8[j][i]; final4[j][0].win(); } else { simfirst.add( " Team " + elite8[j][i + 1].name() + " Wins " + (elite8[j][i + 1].wins() + 1)); final4[j][0] = elite8[j][i + 1]; final4[j][0].win(); } } } // Final 2 simfirst.add("Winner Bracket " + Integer.toString(5) + " on to Finals"); // loop for teams in round // System.out.println("Region: " + nRegion[j].name()); myGame = new Game(final4[0][0], final4[1][0]); if (myGame.winnerIndex() == 1) { simfirst.add(" Region: " + getRegionTeam(final4[0][0].name())); simfirst.add(" Team " + final4[0][0].name() + " Wins " + (final4[0][0].wins() + 1)); theFinals[0] = final4[0][0]; theFinals[0].win(); } else { simfirst.add(" Region: " + getRegionTeam(final4[1][0].name())); simfirst.add(" Team " + final4[1][0].name() + " Wins " + (final4[1][0].wins() + 1)); theFinals[0] = final4[1][0]; theFinals[0].win(); } myGame = new Game(final4[2][0], final4[3][0]); if (myGame.winnerIndex() == 1) { simfirst.add(" Region: " + getRegionTeam(final4[2][0].name())); simfirst.add(" Team " + final4[2][0].name() + " Wins " + (final4[2][0].wins() + 1)); theFinals[1] = final4[2][0]; theFinals[1].win(); } else { simfirst.add(" Region: " + getRegionTeam(final4[3][0].name())); simfirst.add(" Team " + final4[3][0].name() + " Wins " + (final4[3][0].wins() + 1)); theFinals[1] = final4[3][0]; theFinals[1].win(); } // The Winner simfirst.add("Winner Bracket " + Integer.toString(6) + " on to The Finals"); myGame = new Game(theFinals[0], theFinals[1]); if (myGame.winnerIndex() == 1) { simfirst.add(" Region: " + getRegionTeam(theFinals[0].name())); simfirst.add(" Team " + theFinals[0].name() + " Wins " + (theFinals[0].wins() + 1)); for (int k = 0; k < winners.length; k++) { if (winners[k].name().equals(theFinals[0].name())) winners[k].win(); } } else { simfirst.add(" Region: " + getRegionTeam(theFinals[1].name())); simfirst.add(" Team " + theFinals[1].name() + " Wins " + (theFinals[1].wins() + 1)); for (int k = 0; k < winners.length; k++) { if (winners[k].name().equals(theFinals[0].name())) winners[k].win(); } } totalSim.add(simfirst); // arraylist of the winner array list - all simulations stored together } }