@Override
	public void eInit(GameContainer gc, EGame eg) {		

		smallFont = new TrueTypeFont(new java.awt.Font("Verdana", java.awt.Font.BOLD, 10), true);
	    mediumFont = new TrueTypeFont(new java.awt.Font("Verdana", java.awt.Font.BOLD, 20), true);
		
		players = new Player[7];
		players[0] = new Player("England");
		players[1] = new Player("Austria-Hungary");
		players[2] = new Player("Italy");
		players[3] = new Player("Turkey");
		players[4] = new Player("France");
		players[5] = new Player("Russia");
		players[6] = new Player("Germany");
		
		Image temp = EAnimation.loadImage("/images/ArmyUnit_updated.png");
		landUnit = new SpriteSheet(temp, temp.getWidth()/7, temp.getHeight());
		temp = EAnimation.loadImage("/images/NavyUnit_updated.png");
		waterUnit = new SpriteSheet(temp, temp.getWidth()/7, temp.getHeight());
		
		temp = EAnimation.loadImage("/images/AllyChoiceBackground.png");
		Image[] flags = new Image[8];
		flags[0] = EAnimation.loadImage("/images/EnglandChoice.png");
		flags[1] = EAnimation.loadImage("/images/AustriaHungaryChoice.png");
		flags[2] = EAnimation.loadImage("/images/ItalyChoice.png");
		flags[3] = EAnimation.loadImage("/images/TurkeyChoice.png");
		flags[4] = EAnimation.loadImage("/images/FranceChoice.png");
		flags[5] = EAnimation.loadImage("/images/RussiaChoice.png");
		flags[6] = EAnimation.loadImage("/images/GermanyChoice.png");
		flags[7] = EAnimation.loadImage("/images/NobodyChoice.png");
		allySelector = new ChooseAllyGUI(flags, temp, gc);
		allySelector.setY((gc.getHeight() - temp.getHeight()) / 2);
		allySelector.setX((gc.getWidth() - temp.getWidth()) / 2);
		
		currPhase = new PlanningPhase("Spring/Summer", 1900);
		commandGUI = new CommandGUI();
		
		overlay = new EAnimation(EAnimation.loadImage("/images/overlay.png"));
		sidebar = new EAnimation(EAnimation.loadImage("/images/sidebar.png"));
		adjudicateButton = new SubmitCommand(805, 630);
		adjudicateButton.setEA(new EAnimation(EAnimation.loadImage("/images/Icon_Adjudicate_updated.png")));
		pauseMenuAdjudicate = new PauseMenuAdjudicateGUI(gc);
		pauseMenu = new PauseMenuGUI(gc, EAnimation.loadImage("/images/pauseMenu.png"));
		pauseButton = new PauseButton(5, 5, "/images/Button_Pause.png");
		
		//define territories
		Scanner sc = new Scanner(GameCanvas.class.getResourceAsStream("/docs/terr.csv"));
		sc.nextLine();
		int lines = 0;
		while (sc.hasNextLine()){
			lines++;
			sc.nextLine();
		}
		sc.close();
		sc = new Scanner(GameCanvas.class.getResourceAsStream("/docs/terr.csv"));
		sc.nextLine();
		int i = 0;
		territories = new Territory[lines];
		while (sc.hasNextLine()){
			String s = sc.nextLine();
			String s2[] = s.split("\t");
			SpriteSheet ss = SSFactory(s2[6], new Boolean(s2[1].trim()));
			territories[i] = new Territory(ss, s2[0], new Boolean(s2[1].trim()), 
					new Boolean(s2[2].trim()), new Boolean(s2[3].trim()));
			territories[i].setX(new Integer(s2[4]));
			territories[i].setY(new Integer(s2[5]));
			territories[i].setUnitX(new Integer(s2[7]));
			territories[i].setUnitY(new Integer(s2[8]));
			try{
				territories[i].setSCX(new Integer(s2[9]));
				territories[i].setSCY(new Integer(s2[10]));
				territories[i].setNCX(new Integer(s2[11]));
				territories[i].setNCY(new Integer(s2[12]));
			}
			catch (ArrayIndexOutOfBoundsException e){
				System.out.println("no Coasts for " + s2[0]);
			}
			i++;
		}
		sc.close();
		
		//define adjacent territories
		sc = new Scanner(GameCanvas.class.getResourceAsStream("/docs/adjacentTerr.csv"));
		sc.nextLine();
		while (sc.hasNextLine()){
			String s[] = sc.nextLine().split(",");
			Territory t = getTerritory(s[0]);
			for (i = 1; i < s.length; i++){
				if (s[i].equals("southCoast"))
					break;
				t.addAdjacent(s[i]);
			}
			for (i = i + 1; i < s.length; i++){
				if (s[i].equals("northCoast"))
					break;
				t.addSCAdjacent(s[i]);
			}
			for (i = i + 1; i < s.length; i++){
				t.addNCAdjacent(s[i]);
			}
		}	
		sc.close();

		setBoard();
	    adjustNumSC();	
	}