Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Chris Kasongo Lazarius Mukengeshayi "Entelect BlackJack 21"
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 /* Attention !!!!! In the below code, I have pasted 3 different classes, I didn't know where to past eache file on the site, however I have separate them with a comment line and the name of the class. Before you compile this code, please create 2 defferent class as stated at the begining of eache code, the two classes which need to be created are: Dealer.cs and player.cs past the code in separate file and complile the main class called "Program" */ using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { static Player ThePlayer; static void Main(string[] args) { Console.WriteLine("\n\n\t\tWelcome to blackjack 21"); Console.WriteLine("\n Rules of the game: "); Console.WriteLine("\n\t* Card in a hand are summed to determine the hand's value."); Console.WriteLine("\n\t* An ace can be equal to 1 or 11, based on the other cards in the hand.\n\tThe goal is to not exceed 21."); Console.WriteLine("\n\t* Any player who is hand consist of 5 cards without the hand exceeding\n\t21 automaticaly beats the dealer."); Console.WriteLine("\n\t* Any player whose hand exceeds the dealer's hand and is less than or\n\tequal to 21 beats the dealer.\n\n"); Console.WriteLine("--------------------------------------------------------------------------------"); Console.WriteLine("Card Vlaues:"+ "\n\t* Ace of (Spades, Hearts, Clubs, Diamonds) = 1 or 11." + "\n\t* 2 of (Spades, Hearts, Clubs, Diamonds) = 2." + "\n\t* 3 of (Spades, Hearts, Clubs, Diamonds) = 3." + "\n\t* 4 of (Spades, Hearts, Clubs, Diamonds) = 4." + "\n\t* 5 of (Spades, Hearts, Clubs, Diamonds) = 5." + "\n\t* 6 of (Spades, Hearts, Clubs, Diamonds) = 6." + "\n\t* 7 of (Spades, Hearts, Clubs, Diamonds) = 7." + "\n\t* 8 of (Spades, Hearts, Clubs, Diamonds) = 8." + "\n\t* 9 of (Spades, Hearts, Clubs, Diamonds) = 9." + "\n\t* 10 of (Spades, Hearts, Clubs, Diamonds) = 10." + "\n\t* J of (Spades, Hearts, Clubs, Diamonds) = 10." + "\n\t* K of (Spades, Hearts, Clubs, Diamonds) = 10." + "\n\t* Q of (Spades, Hearts, Clubs, Diamonds) = 10."); Console.WriteLine("--------------------------------------------------------------------------------"); Console.Write("Enter the number of player who will participe in this game: "); int iPlayerNumb = Convert.ToInt32(Console.ReadLine()); /* for(int i = 0; i < iPlayerNumb; i++) { } */ Console.WriteLine("--------------------------------------------------------------------------------"); Dealer TheDealer = new Dealer(); TheDealer.InsertDealerCards(); Console.WriteLine("--------------------------------------------------------------------------------"); Console.WriteLine("\nPlayers's cards:\n"); for (int i = 0; i < iPlayerNumb; i++) { ThePlayer = new Player(iPlayerNumb); Console.Write("Player {0}'s cards: ", i+1); ThePlayer.PlayerCardsAndCalulation(TheDealer.INumberOfCardsInDealerHand, TheDealer.IValueOfCardsInDealerHand); for (int a = 0; a < ThePlayer.INumberOfCardsInPlayerHand; a++) { Console.Write("{0}, ", ThePlayer.sCardsInPlayerHand[a]); } Console.WriteLine("\n"); } Console.WriteLine("--------------------------------------------------------------------------------"); Console.WriteLine("Players Results: \n"); for (int i = 0; i < iPlayerNumb; i++) { Console.WriteLine(ThePlayer.PrintResult(i + 1)); } Console.WriteLine("--------------------------------------------------------------------------------\n\n"); Console.ReadLine(); } } } //------------------- Dealer.cs class should be put in separate file, please create a new file, create a file called Dealer and past the below code. ------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _21BlackJack { public class Dealer { #region Fields Random rnd; private int iNumberOfCardsInDealerHand; private string[] sCardsInDealerHand; private int iValueOfCardsInDealerHand; private int iCard; private int iCardType; #endregion public int INumberOfCardsInDealerHand { get { return iNumberOfCardsInDealerHand; } } public int IValueOfCardsInDealerHand { get { return iValueOfCardsInDealerHand; } } public Dealer() { rnd = new Random(); iNumberOfCardsInDealerHand = rnd.Next(2, 6); sCardsInDealerHand = new string[iNumberOfCardsInDealerHand]; } public void InsertDealerCards() { rnd = new Random(); do { iValueOfCardsInDealerHand = 0; for (int i = 0; i < iNumberOfCardsInDealerHand; i++) { iCard = rnd.Next(1, 15); switch (iCard) { case 1: iValueOfCardsInDealerHand += 1; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "1 Spades"; break; case 2: sCardsInDealerHand[i] = "1 Heart"; break; case 3: sCardsInDealerHand[i] = "1 Clubs"; break; case 4: sCardsInDealerHand[i] = "1 Diamond"; break; default: break; } break; case 2: iValueOfCardsInDealerHand += 2; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "2 Spades"; break; case 2: sCardsInDealerHand[i] = "2 Heart"; break; case 3: sCardsInDealerHand[i] = "2 Clubs"; break; case 4: sCardsInDealerHand[i] = "2 Diamond"; break; default: break; } break; case 3: iValueOfCardsInDealerHand += 3; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "3 Spades"; break; case 2: sCardsInDealerHand[i] = "3 Heart"; break; case 3: sCardsInDealerHand[i] = "3 Clubs"; break; case 4: sCardsInDealerHand[i] = "3 Diamond"; break; default: break; } break; case 4: iValueOfCardsInDealerHand += 4; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "4 Spades"; break; case 2: sCardsInDealerHand[i] = "4 Heart"; break; case 3: sCardsInDealerHand[i] = "4 Clubs"; break; case 4: sCardsInDealerHand[i] = "4 Diamond"; break; default: break; } break; case 5: iValueOfCardsInDealerHand += 5; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "5 Spades"; break; case 2: sCardsInDealerHand[i] = "5 Heart"; break; case 3: sCardsInDealerHand[i] = "5 Clubs"; break; case 4: sCardsInDealerHand[i] = "5 Diamond"; break; default: break; } break; case 6: iValueOfCardsInDealerHand += 6; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "6 Spades"; break; case 2: sCardsInDealerHand[i] = "6 Heart"; break; case 3: sCardsInDealerHand[i] = "6 Clubs"; break; case 4: sCardsInDealerHand[i] = "6 Diamond"; break; default: break; } break; case 7: iValueOfCardsInDealerHand += 7; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "7 Spades"; break; case 2: sCardsInDealerHand[i] = "7 Heart"; break; case 3: sCardsInDealerHand[i] = "7 Clubs"; break; case 4: sCardsInDealerHand[i] = "7 Diamond"; break; default: break; } break; case 8: iValueOfCardsInDealerHand += 8; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "8 Spades"; break; case 2: sCardsInDealerHand[i] = "8 Heart"; break; case 3: sCardsInDealerHand[i] = "8 Clubs"; break; case 4: sCardsInDealerHand[i] = "8 Diamond"; break; default: break; } break; case 9: iValueOfCardsInDealerHand += 9; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "9 Spades"; break; case 2: sCardsInDealerHand[i] = "9 Heart"; break; case 3: sCardsInDealerHand[i] = "9 Clubs"; break; case 4: sCardsInDealerHand[i] = "9 Diamond"; break; default: break; } break; case 10: iValueOfCardsInDealerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "10 Spades"; break; case 2: sCardsInDealerHand[i] = "10 Heart"; break; case 3: sCardsInDealerHand[i] = "10 Clubs"; break; case 4: sCardsInDealerHand[i] = "10 Diamond"; break; default: break; } break; case 11: iValueOfCardsInDealerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "J Spades"; break; case 2: sCardsInDealerHand[i] = "J Heart"; break; case 3: sCardsInDealerHand[i] = "J Clubs"; break; case 4: sCardsInDealerHand[i] = "J Diamond"; break; default: break; } break; case 12: iValueOfCardsInDealerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "Q Spades"; break; case 2: sCardsInDealerHand[i] = "Q Heart"; break; case 3: sCardsInDealerHand[i] = "Q Clubs"; break; case 4: sCardsInDealerHand[i] = "Q Diamond"; break; default: break; } break; case 13: iValueOfCardsInDealerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "K Spades"; break; case 2: sCardsInDealerHand[i] = "K Heart"; break; case 3: sCardsInDealerHand[i] = "K Clubs"; break; case 4: sCardsInDealerHand[i] = "K Diamond"; break; default: break; } break; case 14: iValueOfCardsInDealerHand += 11; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInDealerHand[i] = "Ace Spades"; break; case 2: sCardsInDealerHand[i] = "Ace Heart"; break; case 3: sCardsInDealerHand[i] = "Ace Clubs"; break; case 4: sCardsInDealerHand[i] = "Ace Diamond"; break; default: break; } break; default: iValueOfCardsInDealerHand += 0; break; } } } while (iValueOfCardsInDealerHand > 21); Console.Write("Dealer's cards: "); for (int i = 0; i < iNumberOfCardsInDealerHand; i++) { Console.Write("{0}, ", sCardsInDealerHand[i]); } Console.WriteLine("\n"); } } } //------------------- Player.cs class should be put in separate file, please create a new file, create a file called Player and past the below code. ------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _21BlackJack { public class Player { #region Fields Random rnd; private int iNumberOfCardsInPlayerHand; public string[] sCardsInPlayerHand; private int iValueOfCardsInPlayerHand; private int iCard; private int iCardType; private string sMsg; private int iPlayerNo; private string[] sPlayerEndResult; private int iDealerNumbCards_2; #endregion private int iCount = 0; public int INumberOfCardsInPlayerHand { get { return iNumberOfCardsInPlayerHand; } } public int IValueOfCardsInPlayerHand { get { return iValueOfCardsInPlayerHand; } } public string SMsg { get { return sMsg; } } public Player(int iNumberOfPlayer) { rnd = new Random(); iNumberOfCardsInPlayerHand = rnd.Next(2, 6); sCardsInPlayerHand = new string[iNumberOfCardsInPlayerHand]; iPlayerNo = iNumberOfPlayer; sPlayerEndResult = new string[iPlayerNo]; } public void PlayerCardsAndCalulation(int iDealerNumbCards, int iDealerCardValues) { iDealerNumbCards_2 = iDealerNumbCards; rnd = new Random(); iValueOfCardsInPlayerHand = 0; for (int i = 0; i < iNumberOfCardsInPlayerHand; i++) { #region iCard = rnd.Next(1, 15); switch (iCard) { case 1: iValueOfCardsInPlayerHand += 1; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "1 Spades"; break; case 2: sCardsInPlayerHand[i] = "1 Heart"; break; case 3: sCardsInPlayerHand[i] = "1 Clubs"; break; case 4: sCardsInPlayerHand[i] = "1 Diamond"; break; default: break; } break; case 2: iValueOfCardsInPlayerHand += 2; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "2 Spades"; break; case 2: sCardsInPlayerHand[i] = "2 Heart"; break; case 3: sCardsInPlayerHand[i] = "2 Clubs"; break; case 4: sCardsInPlayerHand[i] = "2 Diamond"; break; default: break; } break; case 3: iValueOfCardsInPlayerHand += 3; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "3 Spades"; break; case 2: sCardsInPlayerHand[i] = "3 Heart"; break; case 3: sCardsInPlayerHand[i] = "3 Clubs"; break; case 4: sCardsInPlayerHand[i] = "3 Diamond"; break; default: break; } break; case 4: iValueOfCardsInPlayerHand += 4; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "4 Spades"; break; case 2: sCardsInPlayerHand[i] = "4 Heart"; break; case 3: sCardsInPlayerHand[i] = "4 Clubs"; break; case 4: sCardsInPlayerHand[i] = "4 Diamond"; break; default: break; } break; case 5: iValueOfCardsInPlayerHand += 5; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "5 Spades"; break; case 2: sCardsInPlayerHand[i] = "5 Heart"; break; case 3: sCardsInPlayerHand[i] = "5 Clubs"; break; case 4: sCardsInPlayerHand[i] = "5 Diamond"; break; default: break; } break; case 6: iValueOfCardsInPlayerHand += 6; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "6 Spades"; break; case 2: sCardsInPlayerHand[i] = "6 Heart"; break; case 3: sCardsInPlayerHand[i] = "6 Clubs"; break; case 4: sCardsInPlayerHand[i] = "6 Diamond"; break; default: break; } break; case 7: iValueOfCardsInPlayerHand += 7; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "7 Spades"; break; case 2: sCardsInPlayerHand[i] = "7 Heart"; break; case 3: sCardsInPlayerHand[i] = "7 Clubs"; break; case 4: sCardsInPlayerHand[i] = "7 Diamond"; break; default: break; } break; case 8: iValueOfCardsInPlayerHand += 8; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "8 Spades"; break; case 2: sCardsInPlayerHand[i] = "8 Heart"; break; case 3: sCardsInPlayerHand[i] = "8 Clubs"; break; case 4: sCardsInPlayerHand[i] = "8 Diamond"; break; default: break; } break; case 9: iValueOfCardsInPlayerHand += 9; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "9 Spades"; break; case 2: sCardsInPlayerHand[i] = "9 Heart"; break; case 3: sCardsInPlayerHand[i] = "9 Clubs"; break; case 4: sCardsInPlayerHand[i] = "9 Diamond"; break; default: break; } break; case 10: iValueOfCardsInPlayerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "10 Spades"; break; case 2: sCardsInPlayerHand[i] = "10 Heart"; break; case 3: sCardsInPlayerHand[i] = "10 Clubs"; break; case 4: sCardsInPlayerHand[i] = "10 Diamond"; break; default: break; } break; case 11: iValueOfCardsInPlayerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "J Spades"; break; case 2: sCardsInPlayerHand[i] = "J Heart"; break; case 3: sCardsInPlayerHand[i] = "J Clubs"; break; case 4: sCardsInPlayerHand[i] = "J Diamond"; break; default: break; } break; case 12: iValueOfCardsInPlayerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "Q Spades"; break; case 2: sCardsInPlayerHand[i] = "Q Heart"; break; case 3: sCardsInPlayerHand[i] = "Q Clubs"; break; case 4: sCardsInPlayerHand[i] = "Q Diamond"; break; default: break; } break; case 13: iValueOfCardsInPlayerHand += 10; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "K Spades"; break; case 2: sCardsInPlayerHand[i] = "K Heart"; break; case 3: sCardsInPlayerHand[i] = "K Clubs"; break; case 4: sCardsInPlayerHand[i] = "K Diamond"; break; default: break; } break; case 14: iValueOfCardsInPlayerHand += 11; iCardType = rnd.Next(1, 5); switch (iCardType) { case 1: sCardsInPlayerHand[i] = "Ace Spades"; break; case 2: sCardsInPlayerHand[i] = "Ace Heart"; break; case 3: sCardsInPlayerHand[i] = "Ace Clubs"; break; case 4: sCardsInPlayerHand[i] = "Ace Diamond"; break; default: break; } break; default: iValueOfCardsInPlayerHand += 0; break; } #endregion iCount += 1; } } public string PrintResult(int iCount_2) { if (iNumberOfCardsInPlayerHand == 5) if (iValueOfCardsInPlayerHand <= 21) sMsg = " Beats dealer."; else sMsg = " Loses."; if (iNumberOfCardsInPlayerHand >= iDealerNumbCards_2) if (iValueOfCardsInPlayerHand <= 21) sMsg = " Beats dealer."; else sMsg = " Loses."; return "Player " + iCount_2 + sMsg; } } }
Show compiler warnings
[
+
]
Show input
Compilation time: 0,03 s
edit mode
|
history
|
discussion