コード例 #1
0
        /// <summary>
        /// Dit start het spel.
        /// </summary>
        /// <param name="dimension">Het formaat van het bord.</param>
        /// <returns>Het getekende bord.</returns>
        public Bord Start(short dimension)
        {
            // maak een bord, met de jusite dimension.
            // hoe bepaal je wie mag beginnen?
            this.huidigeBord = new Bord(dimension, this);

            // wie begint?
            this.huidigeBord.TekenBord();
            Speler huidigeSpeler = this.spelers[this.wieStart];

            this.WieIsSpeler(huidigeSpeler);
            while (!this.stopDeSpel || this.huidigeBord.HeeftTekenGewonnen(huidigeSpeler.TeGebruikenTeken))
            {
                List <short> vrijVelden = this.huidigeBord.VrijVelden();

                // teken het bord
                // vraag aan speler 1 wat hij wil doen
                huidigeSpeler.Zet(this.huidigeBord, this.spelers);
                this.huidigeBord.TekenBord();
                if (this.huidigeBord.HeeftTekenGewonnen(huidigeSpeler.TeGebruikenTeken))
                {
                    huidigeSpeler.UHeeftGewonnen();

                    // todo, vertel de andere speler dat hij heeft verloren.
                    this.TegenSpeler(huidigeSpeler, this.spelers).UHeeftVerloren(huidigeSpeler);

                    huidigeSpeler.BeeindigBord(this.huidigeBord);
                    huidigeSpeler.UkrijgtEenPunt(huidigeSpeler);

                    if (!this.huidigeBord.IsBordFinished())
                    {
                        this.VraagNieuwRondje(huidigeSpeler);
                    }
                }

                if (this.huidigeBord.IsBordFinished())
                {
                    this.stopDeSpel = true;
                    huidigeSpeler.HetBoordIsVol();
                    this.VraagNieuwRondje(huidigeSpeler);
                }

                huidigeSpeler = this.TegenSpeler(huidigeSpeler, this.spelers);
            }

            if (this.vraagEenRondje)
            {
                this.VraagNieuwRondje(huidigeSpeler);
            }

            return(this.huidigeBord);
        }
コード例 #2
0
        /// <summary>
        /// Dit start het spel.
        /// </summary>
        /// <param name="dimension">Het formaat van het bord.</param>
        /// <returns>Het getekende bord.</returns>
        public Bord Start(short dimension)
        {
            // maak een bord, met de jusite dimension
            // hoe bepaal je wie mag beginnen?
            this._huidigeBord = new Bord(dimension, this);
            Teken teken = new Teken();

            // wie begint?
            this._huidigeBord.TekenBord();
            this.WieStart();
            Speler huidigeSpeler = this._spelers[this.wieStart];

            while (!this.stopDeSpel)
            {
                List <short> vrijVelden = this._huidigeBord.VrijVelden();

                // teken het bord
                // vraag aan speler 1 wat hij wil doen
                Console.WriteLine();
                huidigeSpeler.Zet(this._huidigeBord);
                this._huidigeBord.TekenBord();
                if (this._huidigeBord.HeeftTekenGewonnen(huidigeSpeler.TeGebruikenTeken))
                {
                    Console.WriteLine();
                    Console.WriteLine(huidigeSpeler.Naam + " : Hoeraaaa " + huidigeSpeler.Naam + " je bent gewonnen !!!!");
                    Console.WriteLine();
                    huidigeSpeler.BeeindigBord(this._huidigeBord);
                    Console.WriteLine(huidigeSpeler.Naam + " Je hebt : " + huidigeSpeler.Punten + " Punt !!");
                    this.VraagNieuwRondje(huidigeSpeler);
                }

                if (this._huidigeBord.IsBordFinished())
                {
                    this.stopDeSpel = true;
                    Console.WriteLine("Het boord is vol !!!");
                }

                huidigeSpeler = this.TegenSpeler(huidigeSpeler);
            }

            if (this.vraagEenRondje)
            {
                this.VraagNieuwRondje(huidigeSpeler);
            }

            return(this._huidigeBord);
        }