/*
 *LevelReader.java
 *Eric Tedjamulia
 */
 
 import java.awt.*;
 
 public class LevelReader {
 	
 	private final int ROWS = 10;
 	private final int COLS = 100;
 	
 	private Levels l = new Levels();
 	private String[] s = new String[10];
 	private Ground[] ground;
 	private Enemies[] enemy;
 	
 	
 	public Ground[] getLevel(int n)
 	{
 		switch(n)
 		{
 			case 1: s = l.level1(); break;
 			case 2: s = l.level2(); break;
 			case 3: s = l.level3(); break;
 		}
 		
 		int numG = 0;
 		
 		for (int i = 0; i < ROWS; i++)
		{
			for (int j = 0; j < COLS; j++)
			{
				if (s[i].charAt(j) == 'g')
					numG++;
			}
		}
		
		ground = new Ground[numG];
		int num = 0;
		
		for (int i = 0; i < ROWS; i++)
		{
			for (int j = 0; j < COLS; j++)
			{
				if (s[i].charAt(j) == 'g')
				{
					ground[num] = new Ground(j*50, i*50);
					num++;
				}
			}
		}
		return ground;
 	}
 	
 	public Enemies[] getEnemies(int n)
 	{
 		switch(n)
 		{
 			case 1: s = l.level1();
 		}
 		
 		int numE = 0;
 		
 		for (int i = 0; i < ROWS; i++)
		{
			for (int j = 0; j < COLS; j++)
			{
				if (s[i].charAt(j) == 'e')
					numE++;
			}
		}
		
		enemy = new Enemies[numE];
		int num = 0;
		
		for (int i = 0; i < ROWS; i++)
		{
			for (int j = 0; j < COLS; j++)
			{
				if (s[i].charAt(j) == 'e')
				{
					enemy[num] = new Enemies(j*50, i*50, 1);
					num++;
				}
			}
		}
		return enemy;	
 	}
 	
 	public Ground getPortal(int n)
 	{
 		for (int i = 0; i < ROWS; i++)
		{
			for (int j = 0; j < COLS; j++)
			{
				if (s[i].charAt(j) == 'p')
				{
					return (new Ground(j*50, i*50));
				}
			}
		}
		return (new Ground(50, 50));
	}
 	
 	public Color getColor(int n)
 	{
 		switch(n)
 		{
 			case 1: return (new Color(0, 64, 128));
 			case 2: return Color.darkGray;
 			case 3: return (new Color(201, 88, 52));
 		}
 		return Color.black;
 	}
 	
 }