Example #1
0
 /// <summary>
 /// add een punt aan de winnaar.
 /// </summary>
 /// <param name="speler">hudige speler.</param>
 public virtual void UkrijgtEenPunt(Speler speler)
 {
 }
Example #2
0
 public Speler TegenSpeler(Speler huidigeSpeler)
 {
     return(this._spel.TegenSpeler(huidigeSpeler));
 }
Example #3
0
 /// <summary>
 /// De winner.
 /// </summary>
 /// <param name="huidigeSpeler">Huidige speler.</param>
 /// <param name="spelers">Spelers.</param>
 public virtual void DeWinner(Speler huidigeSpeler, IList <Speler> spelers)
 {
 }
Example #4
0
 /// <summary>
 /// Wie heeft verloren.
 /// </summary>
 /// <param name="tegenspeler">Tegenspeler.</param>
 public virtual void UHeeftVerloren(Speler tegenspeler)
 {
 }
Example #5
0
        /// <summary>
        /// Vraag de speler of hij een ander rondje wil doen.
        /// </summary>
        /// <param name="stopDeSpel">true als ja . false als nee.</param>
        /// <param name="huidigeBord">huidigeBord.</param>
        /// <param name="vraagEenRondje">True of false. Wil je nog een rondje.</param>
        /// <param name="speler">De speler.</param>
        /// <param name="spelers">De spelers.</param>
        public void VraagNieuwRond(ref bool stopDeSpel, Bord huidigeBord, ref bool vraagEenRondje, Speler speler, IList <Speler> spelers)
        {
            Console.WriteLine("Wil je nog een rondje , J of N?");
            string nieuwRondjes = Console.ReadLine();

            nieuwRondjes.ToLower();
            while ((nieuwRondjes != "j") && (nieuwRondjes != "n"))
            {
                Console.WriteLine("Geef J of N !");
                nieuwRondjes = Console.ReadLine();
            }

            if (nieuwRondjes == "j")
            {
                stopDeSpel = false;
                huidigeBord.ResetBord();
                this.spel.NeiuwRondje(huidigeBord, spelers);
            }
            else
            {
                stopDeSpel     = true;
                vraagEenRondje = false;
                this.DeWinner(speler, spelers);
            }
        }
Example #6
0
        /// <inheritdoc/>
        public override void UkrijgtEenPunt(Speler speler)
        {
            base.UkrijgtEenPunt(speler);

            Console.WriteLine(speler.Naam + " Je hebt : " + speler.Punten + " Punt !!");
        }
Example #7
0
 /// <summary>
 /// Andre speler.
 /// </summary>
 /// <param name="huidigeSpeler">huidige speler.</param>
 /// <param name="spelers">spelers.</param>
 /// <returns>De tegen speler.</returns>
 public Speler TegenSpeler(Speler huidigeSpeler, IList <Speler> spelers)
 {
     return(this.spel.TegenSpeler(huidigeSpeler, spelers));
 }
Example #8
0
        /// <summary>
        /// bepaal een vrij vak en kies dat.
        /// Kun je winnen? bepalen.
        /// </summary>
        /// <param name="bord">het bord waarp gespeeld wordt. </param>
        /// <returns>index van het veld op het bord. </returns>
        public override short BepaalZet(Bord bord)
        {
            // todo
            // welke vakjes zijn nog leeg?
            // vragen aan bord om aan te geven wat leeg is
            // loop door de lege velden.
            List <short> vrijeVelden = bord.VrijVelden();

            foreach (short index in vrijeVelden)
            {
                bord.DoeZet(this, index);

                // als ik mijn teken daar invul, win ik dan.
                // of wint de tegenstander dan?
                if (bord.HeeftTekenGewonnen(this.TeGebruikenTeken))
                {
                    bord.ResetVeld(index);
                    return(index);
                }
                else
                {
                    // ik heb niet gewonnen, reset het veld en laat de tegespeler de zet doen
                    Speler tegenSpeler = bord.TegenSpeler(this);

                    bord.DoeZet(tegenSpeler, index);
                    if (bord.HeeftTekenGewonnen(tegenSpeler.TeGebruikenTeken))
                    {
                        // tegenstander heeft gewonnen
                        bord.ResetVeld(index);
                        return(index);
                    }
                }

                // altijd weer het bord resetten
                bord.ResetVeld(index);
            }

            // als ik hier kom,
            return(vrijeVelden[0]);

            // is er een volgende zet
            // ja, probeer die dan
            // nee,
            //  loop dan weer door de mogelijke zetten heen
            // nee, is er dan een volgende
            // ja, kijk daar dan mee
            // nee
            // dan kies ik de eerste uit de mogelijke zetten

            // kan ik winnen?
            // ja, dan dat vakje kiezen
            // nee
            // kan de tegenstander winnen?
            // ja
            // dan dat vakje kiezen
            // anders kies de eerste
            Random random        = new Random();
            int    bepaalHetBord = bord.Dimension * bord.Dimension;
            int    result        = random.Next(0, bepaalHetBord);

            short i = (short)result;

            return(i);
        }
Example #9
0
        /// <summary>
        /// Zet een teken op het bord.
        /// </summary>
        /// <param name="speler">Speler.</param>
        /// <param name="indexOpHetBord">Index op het bord.</param>
        public void DoeZet(Speler speler, short indexOpHetBord)
        {
            this.ConvertIndexToArray(indexOpHetBord, out short column, out short row);

            this.veldenOphetBord[column, row] = speler.TeGebruikenTeken;
        }
Example #10
0
 /// <inheritdoc/>
 public override void UkrijgtEenPunt(Speler speler)
 {
 }
Example #11
0
 /// <summary>
 /// Bepaal wie is de speler op dit moment.
 /// </summary>
 /// <param name="speler">Huidige Speler.</param>
 /// <returns>De spelr.</returns>
 public Speler WieIsSpeler(Speler speler) => speler;
Example #12
0
 /// <summary>
 /// Bepaalt wie wil starten.
 /// </summary>
 public void WieStart()
 {
     this.speler = this.WieIsSpeler(this.spelers[this.wieStart]);
     this.speler.WieStart(ref this.wieStart);
 }
Example #13
0
        /// <summary>
        /// Vraag om niuwe spel te doen .
        /// </summary>
        /// <param name="huidigeSpeler">huidigeSpeler.</param>
        private void VraagNieuwRondje(Speler huidigeSpeler)
        {
            HumanSpeler speler = new HumanSpeler(huidigeSpeler.Naam);

            speler.VraagNieuwRond(ref this.stopDeSpel, this.huidigeBord, ref this.vraagEenRondje, huidigeSpeler, this.spelers);
        }