public class test
{
	public static void main(String[] args)
	{
		int numGens = 34;
		int numGensPerPlayer = 1;
		int numInputs = 6;
		int internalSize = 12;
		FileIn ppl = new FileIn("annTraining");
		annPlayer[] players = new annPlayer[(int) (numGens/numGensPerPlayer)];
		int[] numWins = new int[numGens];
		double[][] w1 = new double[numInputs][internalSize];
		double[] w2 = new double[internalSize];
		NeuralNet net;
		for(int p = 0; p < (int) (numGens / numGensPerPlayer); p++)
		{
			for(int i = 0; i < numInputs; i++)
			{
				for(int j = 0; j < internalSize; j++)
				{			
					w1[i][j] = ppl.getNum();					
					System.out.print(w1[i][j]);
					System.out.print(" ");
				}
				System.out.print("\n");
			}
			for(int i = 0; i < internalSize; i++)
			{
				w2[i] = ppl.getNum();
				System.out.print(w2[i]);
				System.out.print(" ");
			}
			System.out.print("\n\n");
			net = null;
			net = new NeuralNet(numInputs, internalSize, w1, w2);
			players[p] = new annPlayer(net);
			
			for(int i = 0; i < (39 * numGensPerPlayer - 1) * 84; i++)
			{
				ppl.getNum();
			}
		}
		ppl.close();	

		for(int i = 0; i < (int) (numGens/numGensPerPlayer); i++)
		{
			for(int j = 0; j < (int) (numGens/numGensPerPlayer); j++)
			{
				System.out.print(i);
				System.out.print(" ");
				System.out.print(j);
				if(i != j)
				{	
					if(Game.runGame(players[i], players[j]))
					{
						numWins[i] = numWins[i] + 1;
						System.out.println("First");
					}
					else
					{
						numWins[j] = numWins[j] + 1;
						System.out.println("Second");
					}
				}
			}
		}
		
		for(int i = 0; i < numGens; i++)
		{
			System.out.print("Generation ");
			System.out.print(numGens - i);
			System.out.print(": ");
			System.out.print(numWins[i]);
			System.out.print("\n");
		}
	}
}