Ejemplo n.º 1
0
        /// <summary>
        /// Create een nieuwe fices bak.
        /// initialiseer de tafel.
        /// Voeg een dealer toe.
        /// Voeg een speler toe.
        /// vraag de speler om fiches te kopen.
        /// </summary>
        public void Initialiseer()
        {
            // fiches
            // de hoofdbak met fiches
            Fiches cassiereFiches = FicheFactory.CreateFiches(5000);

            // tafel
            this.Tafel = Tafel.CreateBlackJackTafel(cassiereFiches.GeefMeFischesTerWaardeVan(2500, 50, false));

            // dealer
            // dealer aanmaken en toewijzen aan een tafel
            Dealer dealer = new Dealer("Dealer");

            dealer.GaAanTafelZitten(this.Tafel);

            // spelers, komen binnen en kopen bij het cassiere fiches.
            this.communicator.TellPersoon(Meldingen.Welkom);
            bool   isLetters  = false;
            Speler speler     = null;
            string naamSpeler = string.Empty;

            while (!isLetters)
            {
                int charIsNotLetter = 0;
                naamSpeler = this.communicator.AskPersoon(Meldingen.DeNaam);
                char[] lettersOfName = naamSpeler.ToCharArray();
                naamSpeler.ToCharArray();
                for (int i = 0; i < naamSpeler.Length; i++)
                {
                    if (!char.IsLetter(lettersOfName[i]))
                    {
                        charIsNotLetter++;
                        break;
                    }
                }

                if (charIsNotLetter == 0 && naamSpeler.Length != 0 && naamSpeler.Length <= 15)
                {
                    isLetters = true;
                }
                else
                {
                    if (naamSpeler.Length == 0)
                    {
                        this.communicator.TellPersoon(Meldingen.Fout);
                        naamSpeler = this.communicator.AskPersoon(Meldingen.DeNaam);
                    }
                }
            }

            speler = new Speler(naamSpeler);
            this.communicator.TellPlayer(speler, Meldingen.Welkom);
            if (!speler.GaatAanTafelZitten(this.Tafel, 1))
            {
                throw new ArgumentOutOfRangeException("Het plek is niet meer beschikbaar.");
            }

            speler.Fiches.Add(this.Tafel.Fiches.GeefMeFischesTerWaardeVan(100, 50, true));
            this.communicator.TellPlayer(speler, Meldingen.Verdienen);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Het creat nieuw spel.
        /// </summary>
        private void NewGame()
        {
            // fiches
            // de hoofdbak met fiches
            Fiches cassiereFiches = FicheFactory.CreateFiches(1000);

            // tafel
            this.Tafel          = Tafel.CreateBlackJackTafel(cassiereFiches.GeefMeFischesTerWaardeVan(500, 50, true));
            blackjackController = new BlackjackController(this.Tafel, new WinFormCommunicator());
            // is   de waarde vban de fiches nu 500?

            // dealer
            // dealer aanmaken en toewijzen aan een tafel
            Dealer dealer = new Dealer("Dealer");

            dealer.GaAanTafelZitten(Tafel);

            // spelers, komen binnen en kopen bij het cassiere fiches
            Console.WriteLine("Speler: A");
            string naamSpelerA = "Speler1";
            Speler spelerA     = new Speler(naamSpelerA);

            if (!spelerA.GaatAanTafelZitten(this.Tafel, 1))
            {
                throw new ArgumentOutOfRangeException("Het plek is niet meer beschikbaar.");
            }
            spelerA.Fiches.Add(cassiereFiches.GeefMeFischesTerWaardeVan(90, 100, true));
            this.AddSpelerBoxToArray();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Main method.
        /// </summary>
        /// <param name="args">args.</param>
        public static void Main(string[] args)
        {
            // fiches
            // de hoofdbak met fiches
            Fiches cassiereFiches = FicheFactory.CreateFiches(5000);

            // FichesConsolePrinter.PrintWaardeFiches(cassiereFiches);

            // tafel
            Tafel tafel = Tafel.CreateBlackJackTafel(cassiereFiches.GeefMeFischesTerWaardeVan(2500, 50, false));

            // FichesConsolePrinter.PrintWaardeFiches(tafel.Fiches);

            // is   de waarde vban de fiches nu 500?
            // FichesConsolePrinter.PrintWaardeFiches(cassiereFiches);

            // dealer
            // dealer aanmaken en toewijzen aan een tafel
            Dealer dealer = new Dealer("Dealer");

            dealer.GaAanTafelZitten(tafel);

            // spelers, komen binnen en kopen bij het cassiere fiches
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Green;

            Console.WriteLine("Leuk dat je Black Jack komt spelen. Wat is je naam?");
            bool   isLetters = false;
            Speler spelerA   = null;

            while (!isLetters)
            {
                Console.WriteLine("Je mag alleen letters typen.");
                int    chetIsNotLetter = 0;
                string naamSpelerA     = Console.ReadLine();

                spelerA = new Speler(naamSpelerA);
                char[] lettersOfName = naamSpelerA.ToCharArray();
                naamSpelerA.ToCharArray();
                for (int i = 0; i < naamSpelerA.Length; i++)
                {
                    if (!char.IsLetter(lettersOfName[i]))
                    {
                        chetIsNotLetter++;
                        break;
                    }
                }

                if (chetIsNotLetter == 0 && naamSpelerA.Length != 0 && naamSpelerA.Length <= 15)
                {
                    isLetters = true;
                }
                else
                {
                    if (naamSpelerA.Length == 0)
                    {
                        Console.WriteLine("Mag niet zonder naam spelen.");
                        Console.WriteLine("Wat is je naam?");
                        Console.WriteLine();
                    }
                    else if (naamSpelerA.Length > 15)
                    {
                        Console.WriteLine("Je mag t/m 15 letters gebruiken.");
                        Console.WriteLine();
                        Console.WriteLine("Je mag geen nummers gebruiken.");
                    }
                    else
                    {
                        Console.WriteLine("Je hebt fout gedaan!");
                        Console.WriteLine("Je mag geen nummers gebruiken.");
                    }
                }
            }

            Console.ResetColor();
            Console.WriteLine();

            /*            Console.ForegroundColor = ConsoleColor.Green;
             *          Console.WriteLine("Speler: B");
             *          Console.ResetColor();
             *          Console.WriteLine("Leuk je komt Black Jack spelen. Wilt je me je naam vertelen?");
             *
             *          // string naamSpelerB = Console.ReadLine();
             *          Speler spelerB = new Speler("B");
             */

            // koopt fiches vbij de cassiere
            Console.WriteLine("Wat zou je de waarde van fiches kopen?");
            Console.WriteLine($"Mag alleen tussen 1 en {tafel.Fiches.WaardeVanDeFiches}");
            string waardeFiches = Console.ReadLine();
            int    waarde;

            while (!int.TryParse(waardeFiches, out waarde) || waarde > tafel.Fiches.WaardeVanDeFiches || waarde <= 0)
            {
                Console.WriteLine();
                Console.WriteLine($"Type maar alleen nummers tussen 1 en {tafel.Fiches.WaardeVanDeFiches} gebruiken.");
                if (!int.TryParse(waardeFiches, out waarde))
                {
                    Console.WriteLine("Je mag geen letters gebruiken.");
                }

                waardeFiches = Console.ReadLine();
            }

            spelerA.Fiches.Add(cassiereFiches.GeefMeFischesTerWaardeVan(waarde, 50, true));
            /*            spelerB.Fiches.Add(cassiereFiches.GeefMeFischesTerWaardeVan(90, 20, true));*/

            Console.WriteLine();
            Console.WriteLine(spelerA.Naam + " Je hebt gekocht");
            FichesConsolePrinter.PrintWaardeFiches(spelerA.Fiches);
            FichesConsolePrinter.PrintFiches(spelerA.Fiches);
            Console.WriteLine();

            /*            Console.WriteLine(spelerB.Naam + " Je hebt gekocht");
             *          FichesConsolePrinter.PrintWaardeFiches(spelerB.Fiches);
             *          FichesConsolePrinter.PrintFiches(spelerB.Fiches);*/

            // FichesConsolePrinter.PrintWaardeFiches(cassiereFiches);
            if (!spelerA.GaatAanTafelZitten(tafel, 1))
            {
                throw new ArgumentOutOfRangeException("Het plek is niet meer beschikbaar.");
            }

            /*            else if (!spelerB.GaatAanTafelZitten(tafel, 2))
             *          {
             *              throw new ArgumentOutOfRangeException("Het plek is niet meer beschikbaar.");
             *          }*/

            BlackjackController blackJackController = new BlackjackController(tafel, new ConsoleCommunicatorBehandelen());

            Console.WriteLine("Er is een fout gegaan.");

            // blackJackController.Start();
        }