Name: Anonymous 2013-03-16 11:42
boolean correct2 = false;
while(!correct2)
{
numberOfTeams = Integer.parseInt(JOptionPane.showInputDialog(null,"Please enter the number of " + playerTeam + "s you want to have in your league \nMust be between 4 and 32"));
if(numberOfTeams >=4 && numberOfTeams <= 32)
{
correct2 = true;
}
else
{
JOptionPane.showMessageDialog(null,"Please enter a number between 4 and 32");
}
}
for(int i =1; i<=numberOfTeams; i++)
{
namesOfTeams = i + ",";
namesOfTeams += JOptionPane.showInputDialog(null,"Please enter the names of the " + playerTeam +"s.");
outLeagueTeamsPlayers.println(namesOfTeams);
}
outLeagueTeamsPlayers.close();
LeagueTeamsPlayers.close();
int totalNumberOfRounds, numberOfMatchesPerRound;
int homeTeamNumber, awayTeamNumber, even, odd, roundNumber, matchNumber;
boolean additionalTeamIncluded = false;
String selection;
String [] [] fixtures;
String [] [] revisedFixtures;
String [] elementsOfFixture;
String fixturesAsText;
//int selection = numberOfTeams1;
//numberOfTeams = Integer.parseInt(selection);
if(numberOfTeams % 2 ==1)
{
numberOfTeams ++;
additionalTeamIncluded = true;
}
totalNumberOfRounds = numberOfTeams -1;
numberOfMatchesPerRound = numberOfTeams / 2;
fixtures = new String[totalNumberOfRounds][numberOfMatchesPerRound];
for(roundNumber =0; roundNumber < totalNumberOfRounds; roundNumber ++)
{
for(matchNumber=0; matchNumber< numberOfMatchesPerRound; matchNumber++)
{
homeTeamNumber = (roundNumber + matchNumber) % (numberOfTeams - 1);
awayTeamNumber = (numberOfTeams - 1 - matchNumber + roundNumber) % (numberOfTeams - 1);
if(matchNumber ==0)
awayTeamNumber = numberOfTeams - 1;
fixtures[roundNumber][matchNumber] = (homeTeamNumber +1) + "," + (awayTeamNumber+1);
}
}
revisedFixtures = new String[totalNumberOfRounds][numberOfMatchesPerRound];
even = 0;
odd = numberOfTeams / 2;
for(int i = 0; i < fixtures.length; i++)
{
if(i % 2 == 0 ) revisedFixtures[i] = fixtures[even++];
else revisedFixtures[i] = fixtures[odd++];
}
fixtures = revisedFixtures;
for(roundNumber = 0; roundNumber < fixtures.length; roundNumber ++)
{
if(roundNumber % 2 ==1)
{
fixturesAsText = fixtures[roundNumber][0];
elementsOfFixture = fixturesAsText.split(",");
fixtures[roundNumber][0] = elementsOfFixture[1] + "," + elementsOfFixture[0];
}
}
String result="",result2="";
FileWriter FixtureToTxt = new FileWriter("FixtureTest.txt");
PrintWriter fixtures1 = new PrintWriter(FixtureToTxt);
int numberOfM =(numberOfTeams-1)*(numberOfTeams/2); // this calculates the 15 games
int counter = 0;
//for(int i=1 ; i<= numberOfM; i++) // im trying to make a counter that counts 1 to 15 for 6 teams
//fixtures.println
for(roundNumber= 0; roundNumber< totalNumberOfRounds; roundNumber ++)
{
for(matchNumber=0; matchNumber< numberOfMatchesPerRound; matchNumber++)
{
result = (fixtures[roundNumber][matchNumber] + "\t");
counter++;
fixtures1.println( counter + ","+result);
}
}
fixtures1.close();
FixtureToTxt.close();
while(!correct2)
{
numberOfTeams = Integer.parseInt(JOptionPane.showInputDialog(null,"Please enter the number of " + playerTeam + "s you want to have in your league \nMust be between 4 and 32"));
if(numberOfTeams >=4 && numberOfTeams <= 32)
{
correct2 = true;
}
else
{
JOptionPane.showMessageDialog(null,"Please enter a number between 4 and 32");
}
}
for(int i =1; i<=numberOfTeams; i++)
{
namesOfTeams = i + ",";
namesOfTeams += JOptionPane.showInputDialog(null,"Please enter the names of the " + playerTeam +"s.");
outLeagueTeamsPlayers.println(namesOfTeams);
}
outLeagueTeamsPlayers.close();
LeagueTeamsPlayers.close();
int totalNumberOfRounds, numberOfMatchesPerRound;
int homeTeamNumber, awayTeamNumber, even, odd, roundNumber, matchNumber;
boolean additionalTeamIncluded = false;
String selection;
String [] [] fixtures;
String [] [] revisedFixtures;
String [] elementsOfFixture;
String fixturesAsText;
//int selection = numberOfTeams1;
//numberOfTeams = Integer.parseInt(selection);
if(numberOfTeams % 2 ==1)
{
numberOfTeams ++;
additionalTeamIncluded = true;
}
totalNumberOfRounds = numberOfTeams -1;
numberOfMatchesPerRound = numberOfTeams / 2;
fixtures = new String[totalNumberOfRounds][numberOfMatchesPerRound];
for(roundNumber =0; roundNumber < totalNumberOfRounds; roundNumber ++)
{
for(matchNumber=0; matchNumber< numberOfMatchesPerRound; matchNumber++)
{
homeTeamNumber = (roundNumber + matchNumber) % (numberOfTeams - 1);
awayTeamNumber = (numberOfTeams - 1 - matchNumber + roundNumber) % (numberOfTeams - 1);
if(matchNumber ==0)
awayTeamNumber = numberOfTeams - 1;
fixtures[roundNumber][matchNumber] = (homeTeamNumber +1) + "," + (awayTeamNumber+1);
}
}
revisedFixtures = new String[totalNumberOfRounds][numberOfMatchesPerRound];
even = 0;
odd = numberOfTeams / 2;
for(int i = 0; i < fixtures.length; i++)
{
if(i % 2 == 0 ) revisedFixtures[i] = fixtures[even++];
else revisedFixtures[i] = fixtures[odd++];
}
fixtures = revisedFixtures;
for(roundNumber = 0; roundNumber < fixtures.length; roundNumber ++)
{
if(roundNumber % 2 ==1)
{
fixturesAsText = fixtures[roundNumber][0];
elementsOfFixture = fixturesAsText.split(",");
fixtures[roundNumber][0] = elementsOfFixture[1] + "," + elementsOfFixture[0];
}
}
String result="",result2="";
FileWriter FixtureToTxt = new FileWriter("FixtureTest.txt");
PrintWriter fixtures1 = new PrintWriter(FixtureToTxt);
int numberOfM =(numberOfTeams-1)*(numberOfTeams/2); // this calculates the 15 games
int counter = 0;
//for(int i=1 ; i<= numberOfM; i++) // im trying to make a counter that counts 1 to 15 for 6 teams
//fixtures.println
for(roundNumber= 0; roundNumber< totalNumberOfRounds; roundNumber ++)
{
for(matchNumber=0; matchNumber< numberOfMatchesPerRound; matchNumber++)
{
result = (fixtures[roundNumber][matchNumber] + "\t");
counter++;
fixtures1.println( counter + ","+result);
}
}
fixtures1.close();
FixtureToTxt.close();