Esempio 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);
        }
Esempio n. 2
0
 /// <summary>
 /// fubnctuie om de fiches te printen.
 /// </summary>
 /// <param name="fiches"> de fiches die ik wil printen.</param>
 public static void PrintFiches(Fiches fiches)
 {
     foreach (Fiche fiche in fiches.ReadOnlyFiches)
     {
         Console.WriteLine($"{fiche.Kleur} € {fiche.Waarde}");
     }
 }
Esempio n. 3
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();
        }
        public FicheClientsViewModel()
        {
            fiches = new ObservableCollection <Client>();

            FicheSelectionnee = new Client()
            {
                Nom    = "Dupont",
                Prenom = "Pierre",
                Age    = 32,
                Sexe   = "M"
            };
            Fiches.Add(FicheSelectionnee);
        }
Esempio n. 5
0
        /// <summary>
        /// De speler zet een fiche in bij de hand in.
        /// </summary>
        /// <param name="hand">De hand van de speler.</param>
        /// <param name="waarde">De waarde die de speler wil bij de hand .</param>
        /// <returns>Heeft fiches of niet.<returns>
        public bool ZetFichesBijHandIn(SpelerHand hand, int waarde)
        {
            Fiches fiches = hand.Speler.Fiches.GeefMeFischesTerWaardeVan(waarde, 50, true);

            if (fiches == null)
            {
                return(false);
            }
            else
            {
                hand.Inzet.Add(fiches);
                return(true);
            }
        }
Esempio n. 6
0
            /// <summary>
            /// Create nieuwe fiches.
            /// </summary>
            /// <param name="waarde">De waarde van een fiche.</param>
            /// <returns>De fiche.</returns>
            public static Fiches CreateFiches(int waarde)
            {
                Fiches returnFiches = new Fiches();

                while (returnFiches.WaardeVanDeFiches < waarde)
                {
                    if (returnFiches.WaardeVanDeFiches < waarde)
                    {
                        FichesKleur kleur = FichesKleur.IsDefined;
                        int[]       lijstVanWaardeVanDeFiches = new int[] { 1, 5, 10, 20, 100 };
                        Random      random         = new Random();
                        int         randomWaarde   = random.Next(lijstVanWaardeVanDeFiches.Length - 1);
                        int         waardeVanFiche = lijstVanWaardeVanDeFiches[randomWaarde];

                        switch (waardeVanFiche)
                        {
                        case 1:
                            kleur = FichesKleur.Wit;
                            break;

                        case 5:
                            kleur = FichesKleur.Groen;
                            break;

                        case 10:
                            kleur = FichesKleur.Blue;
                            break;

                        case 20:
                            kleur = FichesKleur.Geel;
                            break;

                        case 100:
                            kleur = FichesKleur.Rood;
                            break;

                        default:
                            break;
                        }

                        returnFiches.Add(CreateFiche(kleur, waardeVanFiche, false));
                    }
                }

                return(returnFiches);
            }
Esempio n. 7
0
 /// <summary>
 /// Printe de waarde van de fiche.
 /// </summary>
 /// <param name="fiches">De fiche.</param>
 public static void PrintWaardeFiches(Fiches fiches)
 {
     Console.WriteLine($"De waarde is € {fiches.WaardeVanDeFiches}");
 }
Esempio n. 8
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();
        }