Guest User

Untitled

a guest
May 25th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. /* Dave B's Clock Patience. "pack", "outpack" and "played" arrays are indexed$
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <time.h>
  6.  
  7. #define UPBDECK 52
  8. #define LWBDECK 1
  9. #define FALSE 0
  10. #define TRUE 1
  11.  
  12. void printgame(int CARD, char*outdeck[]);
  13.  
  14. typedef struct {int pipval; char *suit;} CARD;
  15.  
  16. CARD pack[UPBDECK +1], outpack[UPBDECK + 1];
  17. int played [UPBDECK +1]; /* boolean array of 1 and 0 to show if card played */
  18. int cardcount = 0, gamecount = 1, gameswon = 0;
  19.  
  20. char *stars = "****";
  21. char *hearts = "HRTS";
  22. char *clubs = "CLBS";
  23. char *diamonds = "DMDS";
  24. char *spades = "SPDS";
  25. char *cardval = "*A23456789TJQK";
  26.  
  27. void shuffle (CARD *deck)
  28.  
  29. { CARD temp; int i,j;
  30.  
  31. for (i = LWBDECK; i <= UPBDECK; i++)
  32. {
  33. j = i + random() % (UPBDECK -i +1);
  34. temp = deck[i]; deck[i] = deck [j]; deck[j] = temp;
  35. /* printf ("i= %d, j= %d, %c %s\n",
  36. i,j,cardval[deck[i].pipval],deck[i].suit); */
  37. }
  38. }
  39.  
  40.  
  41. void initialise (CARD *deck)
  42. /* initialise the pack and the "played" booleans*/
  43. { int i, j, k = 1; char *suit;
  44. for (j = 1; j <= 4; j++)
  45. { switch (j) {
  46. case 1: suit = hearts; break;
  47. case 2: suit = clubs; break;
  48. case 3: suit = diamonds; break;
  49. case 4: suit = spades; break;
  50. }
  51. for (i = 1; i<= 13; i++)
  52. { deck[k].pipval = i; deck[k].suit = suit;
  53. /* printf ("%c %s\n", cardval[deck[k].pipval],
  54. deck[k].suit); */
  55. outpack[k].pipval =0; outpack[k].suit = stars;
  56. k++;
  57. /* k is incremented within a 1 -> 13 loop inside an outer 1 -> 4 loop Hence it cannot exceed 52 */
  58. }
  59. }
  60. /* printgame(outpack); */
  61. /*initialise the booleans */
  62. for (i = LWBDECK -1; i <= UPBDECK; i++) played[i] = FALSE;
  63. }
  64.  
  65.  
  66.  
  67. int main (char argc, char *argv[])
  68. {
  69. int i, j , kingcount, pointer = UPBDECK;
  70.  
  71. /* uncomment the next line if you want a genuinely random sequence once program is fully working
  72.  
  73. */
  74. /* srandom((unsigned int) time(NULL)); */
  75.  
  76.  
  77. initialise(pack);
  78. shuffle(pack);
  79.  
  80. /* code here to play the game including call of setoutpack for every card turned up */
  81.  
  82.  
  83. printgame(outdeck);
  84.  
  85. {
  86. int i = 1 ;
  87.  
  88. printf ("0UTCOME OF THE GAME WAS AS FOLLOWS");
  89.  
  90. while(i < 13)
  91. {
  92. printf("%c %s %c %s %c %s\n", cardval[outdeck[i].pipval], outdeck[i].suit, ca$
  93.  
  94. i += 3;
  95. }
  96.  
  97. printf("\n\n\n");
  98.  
  99. while (i >= 13 && i <= 20)
  100. {
  101. printf("%c %s %c %s\n", cardval[outdeck[i].pipval], outdeck[i].suit, ca$
  102.  
  103. i += 2;
  104. }
  105. printf("\n\n\n");
  106.  
  107. while(i > 20 && 1 <= 32)
  108. {
  109. printf("%c %s %c %s %c %s\n", cardval[outdeck[i].pipval], outdeck[i].suit, ca$
  110.  
  111. i += 3;
  112. }
  113.  
  114. printf("\n\n\n");
  115.  
  116. while(i > 32 && i <= 40)
  117. {
  118. printf("%c %s %c %s\n", cardval[outdeck[i].pipval], outdeck[i].suit, ca$
  119.  
  120. i += 2;
  121. }
  122.  
  123. printf("\n\n\n");
  124.  
  125. while(i > 40 && i <= 52)
  126. {
  127. printf("%c %s %c %s %c %s\n", cardval[outdeck[i].pipval], outdeck[i].suit, ca$
  128.  
  129. i += 3;
  130. }
  131.  
  132. printf("\n\n\n");
  133. }
  134. }/*end of main */
Add Comment
Please, Sign In to add comment