public void Explore(IPlanet planet, ICollection <IAstronaut> astronauts) { while (true) { IAstronaut astronaut = astronauts.FirstOrDefault(a => a.CanBreath); if (astronaut == null) { break; } while (planet.Items.Count != 0) { string item = planet.Items.FirstOrDefault(); astronaut.Breath(); astronaut.Bag.AddItem(item); planet.RemoveItem(item); if (astronaut.CanBreath == false) { break; } } if (planet.Items.Count == 0) { break; } } }
public void Explore(IPlanet planet, ICollection <IAstronaut> astronauts) { while (true) { IAstronaut currentAstronauth = astronauts.FirstOrDefault(a => a.CanBreath); if (currentAstronauth == null) { break; } while (planet.Items.Count != 0) { var currentItem = planet.Items.FirstOrDefault(); currentAstronauth.Breath(); currentAstronauth.Bag.AddItem(currentItem); planet.RemoveItem(currentItem); if (!currentAstronauth.CanBreath) { break; } } if (planet.Items.Count == 0) { break; } } }