private void init(int version)
	{
		//Initializing Game States according to the given Grid in the Spec
		this.States = new State[6][6];
		//i is horizontal X value, j is vertical Y value
		for(int i = 0; i < this.States.length; i++)
		{
			for(int j = 0; j < this.States[0].length; j++)
			{
				this.States[i][j] = new State(i, j);
			}
		}
		this.StartState = this.States[0][0];
		this.States[2][0].SetReward(-1);		
		this.States[3][0].SetReward(-1);
		this.States[3][1].SetReward(-1);
		this.States[5][1].SetReward(-1);
		this.States[5][0].SetReward(1);
		if(version == 1){
		this.States[5][5].SetReward(1);
		}else
		{
			this.States[5][5].SetReward(10);
		}
//
		this.States[2][0].SetUtility(-1);		
		this.States[3][0].SetUtility(-1);
		this.States[3][1].SetUtility(-1);
		this.States[5][1].SetUtility(-1);
		this.States[5][0].SetUtility(1);
		this.States[5][5].SetUtility(1);
		
		this.States[2][0].IsTerminal = true;		
		this.States[3][0].IsTerminal = true;
		this.States[3][1].IsTerminal = true;
		this.States[5][1].IsTerminal = true;
		this.States[5][0].IsTerminal = true;
		this.States[5][5].IsTerminal = true;
		
		this.States[1][2].IsWall = true;
		this.States[1][3].IsWall = true;
		this.States[1][4].IsWall = true;
		this.States[3][4].IsWall = true;
		this.States[3][5].IsWall = true;	
	}