Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Collections;
  7.  
  8. namespace BlackJack
  9. {
  10. class Memory
  11. {
  12. private List<Card> cards = new List<Card>();
  13. int cardsleft = 52;
  14. public void loadDeck()
  15. {
  16. System.IO.StreamReader file = new System.IO.StreamReader("Deck.txt");
  17. while (file.EndOfStream == false)
  18. {
  19. String[] line = file.ReadLine().Split(',');
  20. Card card = new Card(line[1], line[0]);
  21. cards.Add(card);
  22. }//while (file.EndOfStream == false)
  23. file.Close();
  24. for (int i = 0; i < 52; i++)
  25. {
  26. Console.WriteLine(cards[i].Face + " - " + cards[i].Suit);
  27. }
  28. Console.Read();
  29. }//loadDeck
  30. public void updateDeck(Card drawn)
  31. {
  32. cards.Remove(drawn);
  33. cardsleft--;
  34. }//updateDeck
  35. public bool SafeDraw(int total)
  36. {
  37. double probability = 0;
  38. int safe = 21 - total;
  39. for (int i = 1; i < cardsleft; i++)
  40. {
  41. Card c = cards[i];
  42. if(c.Value(c.Face) <= safe)
  43. {
  44. probability++;
  45. }
  46. }
  47. if ((probability/cardsleft) > 0.5)
  48. {
  49. return true;
  50. }
  51. else
  52. {
  53. return false;
  54. }
  55. }
  56. public int SafeBet()
  57. {
  58. int firstTotal;
  59. int probability = 0;
  60. double numberOfpossibilties = factorial(cardsleft)/(factorial(2)*factorial(cardsleft-2));
  61. for (int i = 0; i < cardsleft; i++)
  62. {
  63. for (int x = 0; x < cardsleft; x++)
  64. {
  65. if(i == x)
  66. x++;
  67. firstTotal = x + i;
  68. if (firstTotal == 21 || firstTotal == 20 || firstTotal == 19)
  69. probability++;
  70. }
  71. }
  72. double chance = probability / numberOfpossibilties;
  73. if(chance >= 0.5)
  74. {
  75. if(chance < 0.6)
  76. {
  77. return 2;
  78. }
  79. else if(chance < 0.7)
  80. {
  81. return 4;
  82. }
  83. else if(chance < 0.8)
  84. {
  85. return 6;
  86. }
  87. else if (chance <0.9)
  88. {
  89. return 8;
  90. }
  91. else if (chance < 1)
  92. {
  93. return 10;
  94. }
  95. else
  96. {
  97. return 1;
  98. }
  99. }
  100. else
  101. {
  102. return 1;
  103. }
  104. }
  105. static double factorial(int number)
  106. {
  107. if (number == 1)
  108. return 1;
  109. else
  110. return number * factorial(number - 1);
  111. }
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement