Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Collections;
- namespace BlackJack
- {
- class Memory
- {
- private List<Card> cards = new List<Card>();
- int cardsleft = 52;
- public void loadDeck()
- {
- System.IO.StreamReader file = new System.IO.StreamReader("Deck.txt");
- while (file.EndOfStream == false)
- {
- String[] line = file.ReadLine().Split(',');
- Card card = new Card(line[1], line[0]);
- cards.Add(card);
- }//while (file.EndOfStream == false)
- file.Close();
- for (int i = 0; i < 52; i++)
- {
- Console.WriteLine(cards[i].Face + " - " + cards[i].Suit);
- }
- Console.Read();
- }//loadDeck
- public void updateDeck(Card drawn)
- {
- cards.Remove(drawn);
- cardsleft--;
- }//updateDeck
- public bool SafeDraw(int total)
- {
- double probability = 0;
- int safe = 21 - total;
- for (int i = 1; i < cardsleft; i++)
- {
- Card c = cards[i];
- if(c.Value(c.Face) <= safe)
- {
- probability++;
- }
- }
- if ((probability/cardsleft) > 0.5)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public int SafeBet()
- {
- int firstTotal;
- int probability = 0;
- double numberOfpossibilties = factorial(cardsleft)/(factorial(2)*factorial(cardsleft-2));
- for (int i = 0; i < cardsleft; i++)
- {
- for (int x = 0; x < cardsleft; x++)
- {
- if(i == x)
- x++;
- firstTotal = x + i;
- if (firstTotal == 21 || firstTotal == 20 || firstTotal == 19)
- probability++;
- }
- }
- double chance = probability / numberOfpossibilties;
- if(chance >= 0.5)
- {
- if(chance < 0.6)
- {
- return 2;
- }
- else if(chance < 0.7)
- {
- return 4;
- }
- else if(chance < 0.8)
- {
- return 6;
- }
- else if (chance <0.9)
- {
- return 8;
- }
- else if (chance < 1)
- {
- return 10;
- }
- else
- {
- return 1;
- }
- }
- else
- {
- return 1;
- }
- }
- static double factorial(int number)
- {
- if (number == 1)
- return 1;
- else
- return number * factorial(number - 1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement