public double run(int iterations, int sleeptime)
	{
		c.reset();
		hit_obstacle = false;
		boolean successful_last_move = true;
		for (int i = 0; i < iterations; i++){
			try {
				Thread.sleep(sleeptime);
			} catch (InterruptedException e) {
				// Auto-generated catch block
				e.printStackTrace();
			}
			//System.out.println("Iteration: "+i);
			boolean successful_move = step(successful_last_move);
			v.repaint();
			if(!successful_move && !successful_last_move && c.request_next_move(false).done ==null){
				System.out.println("Robot Action Error. May result from trying to move out of bounds.");
				System.out.println("Robot:  x="+robot_x+" y="+robot_y);
				System.out.println("Bounds: x=0,"+snow_model.length+" y=0,"+snow_model[0].length);
				break;
			}
			if(!successful_move && !successful_last_move)
			{
				break;
			}
			successful_last_move = successful_move;
		}
		return evaluation_function(true);
	}