public void moveBoulders()
	{
		boolean test=false;
		Point point=new Point(0,0);
		Point point2=new Point(0,0);

		//Above Player
		if(direction==90&&currentArea[location.x][location.y-1]==257||currentArea[location.x][location.y-1]==258)
		{
			test=true;
			point.x=location.x;
			point.y=location.y-1;
			point2.x=location.x;
			point2.y=location.y-2;
		}
		//Below Player
		else if(direction==270&&currentArea[location.x][location.y+1]==257||currentArea[location.x][location.y+1]==258)
		{
			test=true;
			point.x=location.x;
			point.y=location.y+1;
			point2.x=location.x;
			point2.y=location.y+2;
		}
		//Left of Player
		else if(direction==180&&currentArea[location.x-1][location.y]==257||currentArea[location.x-1][location.y]==258)
		{
			test=true;
			point.x=location.x-1;
			point.y=location.y;
			point2.x=location.x-2;
			point2.y=location.y;
		}
		//Right of Player
		else if(direction==0&&currentArea[location.x+1][location.y]==257||currentArea[location.x+1][location.y]==258)
		{
			test=true;
			point.x=location.x+1;
			point.y=location.y;
			point2.x=location.x+2;
			point2.y=location.y;
		}

		if(!test)
			return;

		Point temp=new Point(location.x,location.y);
		location.x=point.x;
		location.y=point.y;

		if(canMove())
		{
			location.x=temp.x;
			location.y=temp.y;
			currentArea[point2.x][point2.y]=257;
			currentArea[point.x][point.y]=231;
		}
		else
		{
			location.x=temp.x;
			location.y=temp.y;
			return;
		}

		messageBox=new ErrorWindow();
		messageBox.addMessage("You push the boulder!","Hidden Move: Strength");
		messageBox.repaint();
		while(messageBox.isVisible())
		{
			try
			{
				repaint();
				Thread.sleep(10);
			}
			catch(Exception ignored){}
		}

		jf.toFront();
		performingAction=false;
	}