コード例 #1
0
        public string GetValueToString(Kaart kaart)
        {
            string tekst = "";

            if (kaart.Waarde == 1)
            {
                tekst = "A";
            }
            else if (kaart.Waarde == 11)
            {
                tekst = "J";
            }
            else if (kaart.Waarde == 12)
            {
                tekst = "D";
            }
            else if (kaart.Waarde == 13)
            {
                tekst = "K";
            }
            else
            {
                tekst = kaart.Waarde.ToString();
            }
            return(tekst + " ");

            ;
        }
コード例 #2
0
        public static Kaart TrekEenKaartUitList(List <Kaart> kaartspel)
        {
            Random rand   = new Random();
            int    plaats = rand.Next(0, kaartspel.Count);
            Kaart  kaart  = kaartspel[plaats];

            kaartspel.RemoveAt(plaats);
            return(kaart);
        }
コード例 #3
0
        public string DrawCard(Kaart handKaarten)
        {
            return($@"
		┌─────────┐
		│{waarde}       │
		│         │
		│         │
		│    {Kleur}    │
		│         │
		│         │
		│       {waarde}│
		└─────────┘"        );
        }
コード例 #4
0
        public Stack <Kaart> SchufleDeck(List <Kaart> kaartspel)
        {
            Stack <Kaart> kaartspel2    = new Stack <Kaart>();
            Random        rand          = new Random();
            int           plaats        = rand.Next(0, kaartspel.Count + 1);
            int           aantalKaarten = kaartspel.Count;

            for (int i = 0; i < aantalKaarten; i++)
            {
                Kaart trekKaart = TrekEenKaartUitList(kaartspel);
                kaartspel2.Push(trekKaart);
            }
            return(kaartspel2);
        }
コード例 #5
0
        public void FirstCardBank(Kaart kaart)
        {
            Point startPuntBank = new Point(54, 3);

            string tekst = GetValueToString(kaart);

            TekenWaarde(startPuntBank, tekst);
            startPuntBank.Y += 2;
            startPuntBank.X += 2;
            string kleur = GetSuite(kaart);

            TekenWaarde(startPuntBank, kleur);
            startPuntBank.Y += 2;
            startPuntBank.X += 2;
            TekenWaarde(startPuntBank, tekst);
        }
コード例 #6
0
        public static void DeelDeKaarten(Stack <Kaart> kaartspel, Stack <Kaart> kaartenSpeler, Stack <Kaart> kaartenBank)
        {
            Kaart kaartSpeler1 = TrekEenKaart(kaartspel);

            kaartenSpeler.Push(kaartSpeler1);
            Kaart kaartSpeler2 = TrekEenKaart(kaartspel);

            kaartenSpeler.Push(kaartSpeler2);
            Kaart kaartBank1 = TrekEenKaart(kaartspel);

            kaartenBank.Push(kaartBank1);
            Kaart kaartBank2 = TrekEenKaart(kaartspel);

            kaartenBank.Push(kaartBank2);
            Console.WriteLine($"Speler: {kaartSpeler1}, {kaartSpeler2}");
            Console.WriteLine($"Casino: {kaartBank2}");
        }
コード例 #7
0
 public bool CheckIfSame(Kaart kaart1, Kaart kaart2)
 {
     if (kaart1.waarde == kaart2.waarde)
     {
         if (kaart1.Kleur == kaart2.Kleur)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
コード例 #8
0
        public string GetSuite(Kaart kaart)
        {
            string tekst = "";

            if (kaart.Kleur == SpeelKaarten.Suite.Harten)
            {
                tekst = "♥";
            }
            else if (kaart.Kleur == SpeelKaarten.Suite.Schoppen)
            {
                tekst = "♠";
            }
            else if (kaart.Kleur == SpeelKaarten.Suite.Klaveren)
            {
                tekst = "♣";
            }
            else if (kaart.Kleur == SpeelKaarten.Suite.Ruiten)
            {
                tekst = "♦";
            }
            return(tekst);

            ;
        }
コード例 #9
0
        public static Kaart TrekEenKaart(Stack <Kaart> kaartspel)
        {
            Kaart kaart = kaartspel.Pop();

            return(kaart);
        }
コード例 #10
0
        static void Main(string[] args)
        {
            double kapitaal;

            Console.BufferWidth += 100;
            Console.WriteLine("Wat is je startkapitaal");
            while (!double.TryParse(Console.ReadLine(), out kapitaal))
            {
                Console.WriteLine("geef een getal");
            }
            Stack <Kaart> kaartenSpeler = new Stack <Kaart>();
            Stack <Kaart> kaartenBank   = new Stack <Kaart>();

            //nieuw deck aanmaken
            List <Kaart> kaartspel = new List <Kaart>();
            int          teller    = 0;

            for (int j = 0; j < 4; j++)
            {
                Suite test = Suite.Harten;
                switch (j)
                {
                case 0:
                    test = Suite.Harten;
                    break;

                case 1:
                    test = Suite.Klaveren;
                    break;

                case 2:
                    test = Suite.Ruiten;
                    break;

                case 3:
                    test = Suite.Schoppen;
                    break;
                }
                for (int i = 0; i < 13; i++)
                {
                    Kaart kaart = new Kaart((i + 1), test);
                    kaartspel.Insert(teller, kaart);
                    teller++;
                }
            }

            Stack <Kaart> newDeck = new Stack <Kaart>();

            newDeck = Kaart.SchufleDeck(kaartspel);

            //black jack
            char   keuze      = 'Q';
            double inzet      = -1;
            double waarde     = 0;
            double waardebank = 0;
            string verder     = "";

            while (!(verder == "STOP"))
            {
                inzet = Kaart.InzetBepaler(kapitaal, Kaart.TelKaartenInDeck(newDeck), Kaart.TelTienenInDeck(newDeck));
                Console.WriteLine($"inzet: {inzet}");

                Kaart.DeelDeKaarten(newDeck, kaartenSpeler, kaartenBank);
                Console.WriteLine($"je hebt nu: {Kaart.GeefWaarde(kaartenSpeler)}");
                Template speelVeld       = new Template(kaartenBank);
                int      temperaryPointX = Console.CursorLeft;
                int      temperaryPointY = Console.CursorTop;
                speelVeld.TekenVeld(kaartenBank, true);
                speelVeld.TekenVeld(kaartenSpeler, false);
                speelVeld.FirstCardBank(kaartenBank.Peek());
                speelVeld.TekenInhoud(kaartenSpeler, false);
                Console.SetCursorPosition(temperaryPointX, temperaryPointY);

                do
                {
                    do
                    {
                        Console.WriteLine("X: nieuwe kaart, D: dubble down, C:pass");
                        while (!char.TryParse(Console.ReadLine(), out keuze))
                        {
                            Console.WriteLine("foute ingave, X: nieuwe kaart, D: dubble down, C:pass");
                        }
                        keuze = char.ToUpper(keuze);
                    } while ((keuze != 'X') && (keuze != 'D') && (keuze != 'C'));

                    switch (keuze)
                    {
                    case 'X':
                        Kaart nieuwekaart = Kaart.TrekEenKaart(newDeck);
                        kaartenSpeler.Push(nieuwekaart);
                        Console.WriteLine($"{nieuwekaart} de waarde is nu {Kaart.GeefWaarde(kaartenSpeler)}");
                        temperaryPointX = Console.CursorLeft;
                        temperaryPointY = Console.CursorTop;
                        speelVeld.TekenVeld(kaartenSpeler, false);
                        speelVeld.TekenInhoud(kaartenSpeler, false);
                        Console.SetCursorPosition(temperaryPointX, temperaryPointY);
                        break;

                    case 'D':
                        Kaart nieuwekaartX = Kaart.TrekEenKaart(newDeck);
                        kaartenSpeler.Push(nieuwekaartX);
                        inzet += inzet;
                        Console.WriteLine($"{nieuwekaartX} de waarde is nu {Kaart.GeefWaarde(kaartenSpeler)}");
                        temperaryPointX = Console.CursorLeft;
                        temperaryPointY = Console.CursorTop;
                        speelVeld.TekenVeld(kaartenSpeler, false);
                        speelVeld.TekenInhoud(kaartenSpeler, false);
                        Console.SetCursorPosition(temperaryPointX, temperaryPointY);
                        break;

                    default:
                        break;
                    }
                    waarde = Kaart.GeefWaarde(kaartenSpeler);
                } while ((keuze != 'D') && (keuze != 'C') && (waarde < 21));
                Console.WriteLine($"Casino zijn 2de kaart: {kaartenBank.Peek()}");
                temperaryPointX = Console.CursorLeft;
                temperaryPointY = Console.CursorTop;
                speelVeld.TekenInhoud(kaartenBank, true);
                Console.SetCursorPosition(temperaryPointX, temperaryPointY);
                Console.WriteLine($"het casino heeft: {Kaart.GeefWaarde(kaartenBank)}");
                waardebank = Kaart.GeefWaarde(kaartenBank);
                while (waardebank < 17)
                {
                    Kaart kaartje = Kaart.TrekEenKaart(newDeck);
                    Console.WriteLine($"volgende kaar voor het casino: {kaartje}");
                    kaartenBank.Push(kaartje);
                    temperaryPointX = Console.CursorLeft;
                    temperaryPointY = Console.CursorTop;
                    speelVeld.TekenVeld(kaartenBank, true);
                    speelVeld.TekenInhoud(kaartenBank, true);
                    Console.SetCursorPosition(temperaryPointX, temperaryPointY);
                    waardebank = Kaart.GeefWaarde(kaartenBank);
                }
                ;
                Console.WriteLine("");
                Console.WriteLine($"het casino heeft: {Kaart.GeefWaarde(kaartenBank)}");
                Console.WriteLine($"jij hebt: {Kaart.GeefWaarde(kaartenSpeler)}");
                if (Kaart.GeefWaarde(kaartenSpeler) != Kaart.GeefWaarde(kaartenBank))
                {
                    if (Kaart.checkConditions(kaartenSpeler, kaartenBank))
                    {
                        if (kaartenSpeler.Count == 2)
                        {
                            if (Kaart.GeefWaarde(kaartenSpeler) == 21)
                            {
                                kapitaal += (1.5 * inzet);
                                Console.Write($" je wint {(1.5 * inzet)} ");
                            }
                        }
                        else
                        {
                            kapitaal += inzet;
                            Console.Write($" je wint {(inzet)} ");
                        }
                    }
                    else
                    {
                        kapitaal -= inzet;
                        Console.Write($" je verliest {(inzet)} ");
                    }
                }
                kaartenSpeler = Kaart.ClearStack(kaartenSpeler);
                kaartenBank   = Kaart.ClearStack(kaartenBank);
                Console.WriteLine($"Balans : {kapitaal}");
                Console.WriteLine("");
                Console.WriteLine("Wil je opnieuw spelen? STOP om te stoppen");
                verder = Console.ReadLine();
                verder = verder.ToUpper();
                Console.Clear();
            }
        }