tdog442

blackjack program

Sep 24th, 2012
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <dos.h>
  5. #include "windows.h"
  6.  
  7. using namespace std;
  8.  
  9. int compVal1;
  10. char compCard1;
  11. char compCard2;
  12. int compVal2;
  13. int hit = 0;
  14. int hit2 = 0;
  15. int compVal;
  16. int plyrVal;
  17. char* ans;
  18. int main()
  19. {
  20. system("color 0d");
  21. cout << "dealing:";
  22. string suit[4];
  23. suit[0] = "clubs";
  24. suit[1] = "spades";
  25. suit[2] = "hearts";
  26. suit[3] = "diamonds";
  27. char face[13];
  28. face[0] = '2';
  29. face[1] = '3';
  30. face[2] = '5';
  31. face[4] = '6';
  32. face[5] = '7';
  33. face[6] = '8';
  34. face[7] = '9';
  35. face[8] = '1';
  36. face[9] = 'J';
  37. face[10] = 'Q';
  38. face [11] = 'K';
  39. face[12] = 'A';
  40. cout << "computer" << endl;
  41. int R1 = rand() %13;
  42. compCard1 = face[R1];
  43. if((R1 >= 0) && (R1 < 8))
  44. {
  45. compVal1 = R1 + 2;
  46. }
  47. if(R1 == 8) compVal1 = 10;
  48. if((R1 > 8) && (R1 < 12)) compVal1 = 10;
  49. else if(R1 == 12) compVal1 = 0;
  50. cout << "self test pass" << endl;
  51. first1:
  52. int R2 = rand() %13;
  53. compCard2 = face[R2];
  54. if(compCard1 == compCard2) goto first1;
  55. if((R2 >= 0) && (R2 < 8))
  56. {
  57. compVal2 = R2 + 2;
  58. }
  59. if(R2 == 8) compVal2 = 10;
  60. if((R2 > 8) && (R2 < 12)) compVal2 = 10;
  61. else if(R2 == 12) compVal2 = 0;
  62. if(((compVal1 || compVal2) == 10) && ((R1 || R2) == 12))
  63. {
  64. cout << "Computer has blackjack." << endl;
  65. system("pause");
  66. exit(1);
  67. }
  68. if((R1 == 12) && (compVal2 < 10)) compVal1 = 11;
  69. if((R2 == 12) && (compVal1 < 10)) compVal2 = 11;
  70. if((R1 == 12) && (R2 == 12))
  71. {
  72. compVal1 = 11;
  73. compVal2 = 1;
  74. }
  75. int compTotal = compVal1+compVal2;
  76. int compfold;
  77. cout << "self test pass" << endl;
  78. next1:
  79. if(compTotal >= 15)
  80. {
  81. compfold = compTotal;
  82. goto next4;
  83. }
  84. while(compTotal < 15){
  85. if(hit >= 5)
  86. {
  87. cout << "Danger! Loop overload!" << endl;
  88. exit(-1);
  89. }
  90. int R0 = rand() %13;
  91. char compCard[hit];
  92. compCard[hit] = face[R0];
  93. if((R0 < 8) && (R0 >= 0)) compVal = R0 + 2;
  94. if((R0 > 8) && (R0 < 12)) compVal = 10;
  95. if(R0 == 8) compVal = 10;
  96. if((compTotal<=10) && (R0 == 12)) compVal = 11;
  97. else if((compTotal>10) && (R0 == 12)) compVal = 1;
  98. compTotal = compTotal + compVal;
  99. if(compTotal >= 15) compfold = compTotal;
  100. if(compTotal <15){
  101. hit++;
  102. goto next1;
  103. }
  104. else if(compTotal > 21)
  105. {
  106. cout << "computer busted! Game Over!" << endl;
  107. exit(0);
  108. }
  109. }
  110. next4:
  111. system("cls");
  112. cout << "player" << endl;
  113. int plyrVal1;
  114. int R3 = rand() %13;
  115. char plyrCard1 = face[R3];
  116. int R4 = rand() %4;
  117. if(plyrCard1 != '1')cout << "Card 1:" << plyrCard1 << suit[R4] << endl;
  118. else if(plyrCard1 == '1') cout << "10" << suit[R4] << endl;
  119. if((0 <= R3) && (R3 < 8))
  120. {
  121. plyrVal1 = R3 + 2;
  122. }
  123. if(R3 == 8)
  124. {
  125. plyrVal1 = 10;
  126. }
  127. if((R3 > 8) && (R3 < 12))
  128. {
  129. plyrVal1 = 10;
  130. }
  131. else if(R3 == 12) plyrVal1 = 0;
  132. int plyrVal2;
  133. first2:
  134. int R5 = rand() %13;
  135. char plyrCard2 = face[R5];
  136. int R6 = rand() %4;
  137. if(plyrCard1 == plyrCard2) goto first2;
  138. if(plyrCard2 != '1')cout << "Card 1:" << plyrCard2 << suit[R6] << endl;
  139. else if(plyrCard2 == '1') cout << "10" << suit[R6] << endl;
  140. if((0 <= R5) && (R5 < 8))
  141. {
  142. plyrVal2 = R5 + 2;
  143. }
  144. if(R5 == 8)
  145. {
  146. plyrVal2 = 10;
  147. }
  148. if((R5 > 8) && (R5 < 12))
  149. {
  150. plyrVal2 = 10;
  151. }
  152. else if(R5 == 12) plyrVal2 = 0;
  153. if(((plyrCard1 || plyrCard2) == ('J' || 'Q' || 'K')) and (R5 == 12))
  154. {
  155. cout << "Player has blackjack." << endl;
  156. system("pause");
  157. exit(0);
  158. }
  159. if((R3 == 12) && (plyrVal2 < 10)) plyrVal1 = 11;
  160. if((R5 == 12) && (plyrVal1 < 10)) plyrVal2 = 11;
  161. if((R3 == 12) && (R5 == 12))
  162. {
  163. plyrVal1 = 11;
  164. plyrVal2 = 1;
  165. }
  166. int plyrTotal = (plyrVal1+plyrVal2);
  167. int plyrfold;
  168. hit2 = 1;
  169. next2:
  170. if(plyrTotal >= 15) plyrfold = plyrTotal;
  171. if(plyrTotal < 15){
  172. cout << "Do you want to hit?" << endl;
  173. cin >> ans;
  174. if(strcmp(ans,"yes")){
  175. next3:
  176. int R7 = rand() % 13;
  177. char plyrCard[hit2];
  178. plyrCard[hit2] = face[R7];
  179. if(plyrCard[hit2] == plyrCard1 || plyrCard2) goto next3;
  180. int R8 = rand() %4;
  181. cout << plyrCard[hit2] << suit[R8] << endl;
  182. if(plyrCard[hit2] == 'J' || 'Q' || 'K') plyrVal = 10;
  183. if(plyrTotal<=10 && plyrCard[hit2] == 'A') plyrVal = 11;
  184. if(plyrTotal>10 && plyrCard[hit2] == 'A') plyrVal = 1;
  185. plyrTotal = plyrTotal + plyrVal;
  186. int R17 = rand() %4;
  187. cout << plyrCard[hit2] << suit[R17] << endl;
  188. cout << plyrTotal << endl;
  189. if(plyrTotal <= 15) plyrfold = plyrTotal;
  190. hit2++;
  191. goto next2;
  192. }
  193. }
  194. else plyrfold = plyrTotal;
  195. cout << "player's fold:" << plyrfold << endl;
  196. cout << "computer's hand" << endl;
  197. int R9 = rand() %4;
  198. int R10 = rand() %4;
  199. if((compCard1 || compCard2) == '1')
  200. {
  201. string display = "10";
  202. cout << display << suit[R9] << endl;
  203. }
  204. if(compCard1 != '1') cout << compCard1 << suit[R9] << endl;
  205. if(compCard2 != '1') cout << compCard2 << suit[R10] << endl;
  206. cout << "computer's fold:" << compfold << endl;
  207. if(compTotal > plyrTotal) cout << "computer wins" << endl;
  208. if(compTotal < plyrTotal) cout << "player wins" << endl;
  209. if(compTotal == plyrTotal) cout << "draw" << endl;
  210. system("pause");
  211. exit(0);
  212. }
Advertisement
Add Comment
Please, Sign In to add comment