virtual public Flota SloziFlotu(int redaka, int stupaca, int[] duljineBrodova) { // sve cemo pokusati par puta za slucaj da naletimo na gresku ako brodovi ne stanu na mrezu int count = 5; while (count > 0) { try { Flota flota = new Flota(); this.Mreza = new Mreza(redaka, stupaca); // Gradimo brodove pocevsi od najduljeg -> da se ne upucamo u nogu i // zauzmemo previse slobodnih polja s malim brodovima pa veliki ne stanu nigdje Array.Sort(duljineBrodova); duljineBrodova.Reverse(); foreach (int duljina in duljineBrodova) { Brod b = SagradiBrod(duljina); flota.DodajBrod(b); PostaviBrodNaMrezu(b); } return(flota); } catch (Exception) { count--; } } return(null); }
public TaktikaUnistavanjeRazmak(AITemplate.Zapovijedi zap, Mreza mreza, List <int> flota) : base(zap, mreza, flota) { // ako smjer jos nije odredjen, racunamo ga iz pogodaka Polje prviPogodak = zap.trenutnaMeta.First(); Polje zadnjiPogodak = zap.trenutnaMeta.Last(); if (zap.pronadjeniSmjer == smjer.nepoznato) { zap.pronadjeniSmjer = OdrediSmjer(prviPogodak, zadnjiPogodak); } }
public TaktikaTemplate(AITemplate.Zapovijedi zap, Mreza mreza, List <int> flota) { this.zap = zap; this.mreza = mreza; this.flota = flota; }
public TaktikaTrazenjeSmjeraRazmak(AITemplate.Zapovijedi zap, Mreza mreza, List <int> flota) : base(zap, mreza, flota) { }
public TaktikaNapipavanjeRazmak(AITemplate.Zapovijedi zap, Mreza mreza, List <int> flota) : base(zap, mreza, flota) { }