public void init() {
		for (int i = 0; i < ID_SIZE; i++) {
			for (int j = 0; j < ACTION_SIZE; j++) {
				String filename = "res/id";
				filename += i;
				filename += '/';
				filename += j;
				filename += ".png";

				this.insert(i, j, filename);
			}
		}
		File datasheet = new File("res/Test_Data/TD_data.csv");
		BufferedReader br = null;
		try {
			br = new BufferedReader(new FileReader(datasheet));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String line;

		try {
			// For king
			Units king = new Units(3000, 0, 1, 0, (int)(250*Speed_Ratio), 50, 1);
			Unit_table.put(0, king);
			// For others
			for (int i = 0; i < ID_SIZE && (line = br.readLine()) != null; i++) {

				String[] nums = line.split(",");
//				for (int j = 0; j < nums.length; j++)
//					System.out.print(j + ":" + nums[j] + " ");
//				System.out.print("\n");

				Units unit = new Units(Integer.parseInt(nums[2]),
						(int) (Double.parseDouble(nums[8])*Speed_Ratio*2), Image_size,
						(int) (500 * Speed_Ratio),
						(int) (Double.parseDouble(nums[7]) * Attack_Ratio),
						(int) Double.parseDouble(nums[3]),
						(int) (Double.parseDouble(nums[4]) * Cool_Down_Ratio));

				Unit_table.put(Integer.parseInt(nums[1]), unit);

			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		try {
			br.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}