public void simulateOneStep()
    {
    	Random randomgetal = new Random();
    	step++;
    	
    	if(randomgetal.nextDouble() <= getHunterCreationProb())
    	{
    		createHunter();
    	}
    	createHunter();  
    	
    	
    	
        // Provide space for newborn animals.
        List<Actor> newActors = new ArrayList<Actor>();        
        // Let all rabbits act.
        for(Iterator<Actor> it = actors.iterator(); it.hasNext(); ) {
            Actor actor = it.next();
            actor.act(newActors);
            if(! actor.isAlive()) {
                it.remove();
            }
        }      
               
        // Add the newly born foxes, rabbits, hunters and Korenwolfs to the main lists.
        actors.addAll(newActors);
        
        int Number_of_rabbits = 0;
        int Number_of_foxes = 0;
        int Number_of_korenwolfs = 0;
        int Number_of_hunters = 0;
      
        
        for(Iterator<Actor> it = actors.iterator(); it.hasNext(); ) {
            Actor actor = it.next();
            if(actor instanceof Rabbit){
            	Number_of_rabbits++;
            }
            else if(actor instanceof Fox){
            	Number_of_foxes++;
            }
            else if(actor instanceof Korenwolf){
            	Number_of_korenwolfs++;
            }
            else if(actor instanceof Hunter){
            	Number_of_hunters++;
            }
           
        }            
        
        Rabbit.NUMBER_OF_RABBITS = Number_of_rabbits;
        Fox.NUMBER_OF_FOXES = Number_of_foxes;
        Korenwolf.NUMBER_OF_KORENWOLFS = Number_of_korenwolfs;  
        Hunter.NUMBER_OF_HUNTERS = Number_of_hunters;
        
        view.showStatus(step, field);      
    }