SteelGolem icon

crappy blackjack v1

SteelGolem | PRO | 05/17/21 05:38:03 PM UTC (Edited) | 0 ⭐ | 405 👁️ | Never ⏰ | []
C# |

3.65 KB

|

None

|

0 👍

/

0 👎

// crappy blackjack v1
 
// i can't get anywhere with more complicated projects
// so i went all the way back to teenager-level shit
// and made something as simple as possible
 
// use this simple example and make it better
 
// this is a simple blackjack game
 
// rules:
// https://bicyclecards.com/how-to-play/blackjack/
 
// missing:
// - card faces
// - an actual deck
// - ace rules
// - dealer must stop at 17 or higher
// - ties are no win/loss
// - natural 21 is auto win unless dealer also has 21
// - splitting pairs
// - double down
// - insurance
 
// crappy blackjack v2 https://pastebin.com/edit/LJb2URb5
 
using System;
 
class Program
{
    static Random random = new Random();
 
    static int dealer, player;
 
    static void Main(string[] args)
    {
        Console.WriteLine("welcome to blackjack for babies");
        int money = 100;
        while (money > 0)
        {
            // get bet before cards are dealt
            Console.WriteLine("moneys: " + money);
            int bet = 0;
            while (!(bet > 0 && bet <= money))
            {
                Console.Write("bet (1.." + money + ")? ");
                string input = Console.ReadLine();
                int.TryParse(input, out bet);
            }
            money -= bet;
            // deal cards
            dealer = deal_card() + deal_card();
            player = deal_card() + deal_card();
            show_cards();
            // player hit/stand input
            while (true)
            {
                Console.Write("another card [y/n]? ");
                ConsoleKeyInfo key = Console.ReadKey();
                Console.WriteLine();
                if (key.Key == ConsoleKey.Y)
                {
                    player += deal_card();
                    show_cards();
                    // finish if he busts
                    if (player >= 21) break;
                }
                // finish if he's done
                if (key.Key == ConsoleKey.N) break;
            }
            // let player know if he busted
            if (player > 21)
                Console.WriteLine("YOU BUSTED");
            // do dealer's turn if he didn't bust
            if (player < 21)
            {
                // deal until win or bust
                while (dealer <= player)
                {
                    dealer += deal_card();
                    show_cards();
                }
                // let player know if dealer busted
                if (dealer > 21)
                    Console.WriteLine("DEALER BUSTED");
            }
            // dealer busted, or player won
            if (dealer > 21 || (player <= 21 && player > dealer))
            {
                Console.WriteLine("you win " + (bet * 2) + " moneys!");
                money += bet * 2;
            }
            // player busted, or dealer won
            if (player > 21 || (dealer <= 21 && player < dealer))
            {
                Console.WriteLine("dealer wins.");
            }
            // no ties because the dealer always tries to get higher than player
            if (player <= 21 && dealer <= 21 && player == dealer)
            {
                Console.WriteLine("you tied the dealer. you get your bet back.");
                money += bet;
            }
        }
        Console.WriteLine("you're all out of moneys. see ya next payday, sucker!");
        Console.ReadKey(true);
    }
 
    static void show_cards()
    {
        Console.WriteLine("dealer: " + dealer);
        Console.WriteLine("you: " + player);
    }
 
    static int deal_card()
    {
        return random.Next(1, 11);
    }
}
 

Comments