/// <summary> /// Initializes a new instance of the <see cref="Animal"/> class. /// </summary> /// <param name="settings"> /// The settings. /// </param> /// <param name="field"> /// The field. /// </param> protected Animal(IWatorSettings settings, WatorField field) { this.Settings = settings; this.IsMoved = false; this.Lifetime = 0; this.Field = field; this.FoundDirections = new List <Direction>(); this.AnimalRandomizer = new Random(DateTime.Now.Millisecond * field.Position.X); }
/// <summary> /// Initializes the wator world. /// </summary> /// <param name="settings"> /// The settings. /// </param> private void InitializeWatorWorld(IWatorSettings settings) { currentSharkPopluation = settings.InitialSharkPopulation; currentFishPopluation = settings.InitialFishPopulation; this.IsEndReached = false; this.Round = 0; this.WatorWorld = new WatorWorld(settings); }
/// <summary> /// Initializes a new instance of the <see cref="ImageCreator{T}"/> class. /// Initializes a new instance of the <see cref="ImageCreator"/> class. /// </summary> /// <param name="settings"> /// The settings. /// </param> public ImageCreator(IWatorSettings settings) { this.settings = settings; this.InitializeImageFormat(settings); this.width = settings.WorldWidth; this.height = settings.WorldHeight; this.imageSavePath = settings.SaveFolder; this.InitializeObjects(); this.InitializeThread(); }
private void InitializeImageFormat(IWatorSettings settings) { this.imageExtension = settings.ImageExtension; if (imageExtension.ToLower().Equals("png")) { this.imageFormat = ImageFormat.Png; } else { this.imageFormat = ImageFormat.Bmp; } }
/// <summary> /// Initializes a new instance of the <see cref="WatorWorld"/> class. /// </summary> /// <param name="settings"> /// The settings. /// </param> /// <exception cref="System.ArgumentNullException"> /// settings /// </exception> public WatorWorld(IWatorSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } this.Settings = settings; this.InitializeObjects(); this.InitializeWorldFields(); this.PopulateWorld(); }
/// <summary> /// Checks the settings. /// </summary> /// <param name="settings"> /// The settings. /// </param> /// <exception cref="System.ArgumentOutOfRangeException"> /// Please enter a valid Wator Fields Height! /// or /// Please enter a valid Wator Fields Width! /// </exception> private void CheckSettings(IWatorSettings settings) { if (settings.WorldHeight <= 0) { throw new ArgumentOutOfRangeException("settings", "Please enter a valid Wator Fields Height!"); } if (settings.WorldWidth <= 0) { throw new ArgumentOutOfRangeException("settings", "Please enter a valid Wator Fields Width!"); } //// condition for splitting world in "rows/phases" for paralellization // if (settings.WorldHeight % 2 != 0) // { // throw new ArgumentOutOfRangeException("settings", "Please enter a valid even number as Wator Fields Height!"); // } // if ((settings.WorldHeight / (Environment.ProcessorCount * 3)) > 2) // { // throw new ArgumentOutOfRangeException("settings", "Please enter a valid even number as Wator Fields Height!"); // } }
/// <summary> /// Initializes a new instance of the <see cref="Shark"/> class. /// </summary> /// <param name="settings"> /// The settings. /// </param> /// <param name="field"> /// The field. /// </param> public Shark(IWatorSettings settings, WatorField field) : base(settings, field) { this.Starve = 0; // "Hunger" }
/// <summary> /// Initializes a new instance of the <see cref="WatorField"/> class. /// </summary> /// <param name="position"> /// The position. /// </param> /// <param name="settings"> /// The settings. /// </param> public WatorField(Point position, IWatorSettings settings) { this.Position = position; this.settings = settings; }
/// <summary> /// Initializes a new instance of the <see cref="Fish"/> class. /// </summary> /// <param name="settings"> /// The settings. /// </param> /// <param name="field"> /// The field. /// </param> public Fish(IWatorSettings settings, WatorField field) : base(settings, field) { }