private boolean outputResults(String zOutputFile, Vector vResults)
	{
		try
		{
			// create the output stream
			BufferedWriter outWriter = new BufferedWriter(new FileWriter(zOutputFile));
			
			// go through each point in the grid and diagram the path
			// Use X for obstacle squares o for clear squares that aren't in the path
			// and v for squares in the path
			for (int y = 0; y < m_nHeight; y++)
			{
				for (int x = 0; x < m_nWidth; x++)
				{
					
					// start and goal squares
					if ((x == m_nStartPointX) && (y == m_nStartPointY))
					{
						outWriter.write("S");
					}
					else if ((x == m_nGoalPointX) && (y == m_nGoalPointY))
					{
						outWriter.write("G");
					}
					// obstacle squares
					else if (m_nMapData[x][y] == 0)
					{
						outWriter.write("X");
					}
					else
					{
						if (isInList(vResults, m_nNodeIDs[x][y]))
						{
							// this is in the list so output a v
							outWriter.write("v");
						}
						else
						{
							// not in the results list
							outWriter.write("o");
						}
					}
					// output a space
					outWriter.write(" ");
				}
				// place a return in the file
				outWriter.newLine();
			}
			
			// flush the stream
			outWriter.flush();
			// close the stream
			outWriter.close();
		}
		catch (IOException e)
		{
			System.err.println("Cannot output to file...");
			return false;
		}
		
		return true;
	}