// 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); } }