/// <summary> /// Postavljanje slijedećeg igrača koji je na potezu /// </summary> private void PostaviSlijedecegIgracaNaPotezu() { var trenutniIgrac = IgracNaPotezu ?? Igraci[_rnd.Next(0, 2)]; var slijdedeciIgracOznaka = (Oznaka)(((int)trenutniIgrac.Oznaka + 1) % 2); IgracNaPotezu = Igraci.FirstOrDefault(igrac => igrac.Oznaka == slijdedeciIgracOznaka); if (IgracNaPotezu == null) { throw new InvalidOperationException("Nije uspjelo postavljanje slijedećeg igrača."); } }
/// <summary> /// Priprema nove igre. /// </summary> public void PripremiNovuIgru() { // Kreira se nova (prazna) ploča Ploca = new KrizicKruzicPloca(); // Kreiraju se i u igru dodaju igrači Igraci = new List <Igrac> { new Igrac("Igrač X", Oznaka.X), new Igrac("Igrač O", Oznaka.O) }; // Slučajnim odabirom odabire se igrač koji igra prvi IgracNaPotezu = Igraci[_rnd.Next(0, 2)]; }