Created
January 9, 2021 18:02
-
-
Save Davidaredding/9d64b02e3a2f8566020d405f48cd1752 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using System.Collections.Generic; | |
| namespace Mikes_Code | |
| { | |
| public class Card | |
| { | |
| public string Face; | |
| public int Value; | |
| public String Suit; | |
| public override string ToString() | |
| { | |
| return $"{Face} of {Suit}: Value: {Value}"; | |
| } | |
| } | |
| class Player | |
| { | |
| public List<Card> Hand { get;set;} | |
| public int HandValue(){ | |
| return 0 ; | |
| } | |
| } | |
| class Deck{ | |
| private List<Card> cards; | |
| public void Shuffle(){ | |
| Console.WriteLine("Shuffling"); | |
| ResetTheDeck(); | |
| ShuffleTheDeck(); | |
| } | |
| private void ResetTheDeck() | |
| { | |
| Console.WriteLine("Resetting the deck"); | |
| cards = new List<Card>(); | |
| var suits = new List<string>{"Diamonds","Hearts","Spades","Clubs"}; | |
| var faces = new List<string>{"2","3","4","5","6","7","8","9","10","Jack","Queen","King","Ace"}; | |
| foreach(var s in suits) | |
| { | |
| for(var i = 0; i<13; i++) | |
| { | |
| int value = 0; | |
| if(i<9) | |
| value = i+2; | |
| else if(i>7 && i<12 ) | |
| value = 10; | |
| else if (i == 12) | |
| value = 11; | |
| var suit = s; | |
| var face = faces[i]; | |
| var card = new Card(); | |
| card.Value = value; | |
| card.Suit = suit; | |
| card.Face = face; | |
| cards.Add(card); | |
| } | |
| } | |
| } | |
| private void ShuffleTheDeck() | |
| { | |
| Console.WriteLine("Fischer Yates Shuffle"); | |
| var numberOfCards = cards.Count; | |
| var randomNumberGenerator = new Random(); | |
| for (var rightIndex = cards.Count - 1; rightIndex >= 1; rightIndex--) | |
| { | |
| var leftIndex = randomNumberGenerator.Next(rightIndex); | |
| var leftCard = cards[leftIndex]; | |
| var rightCard = cards[rightIndex]; | |
| cards[leftIndex] = rightCard; | |
| cards[rightIndex] = leftCard; | |
| } | |
| } | |
| public Card Draw() | |
| { | |
| return null; | |
| } | |
| public void printToConsole(){ | |
| if(cards == null) | |
| ResetTheDeck(); | |
| foreach(var c in cards) | |
| Console.WriteLine(c); | |
| } | |
| } | |
| class Game | |
| { | |
| public Deck Deck{get;set;} | |
| public Player Dealer { get; set; } | |
| public Player Mike { get; set; } | |
| public void PlayGame() | |
| { | |
| Deck.Shuffle(); | |
| Dealer.Hand = new List<Card>(); | |
| Mike.Hand = new List<Card>(); | |
| } | |
| } | |
| class Program | |
| { | |
| static void Main(string[] args) | |
| { | |
| var d = new Deck(); | |
| d.printToConsole(); | |
| d.printToConsole(); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment