示例#1
0
        /// <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.");
            }
        }
示例#2
0
 /// <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)];
 }