Facebook
From Trivial Lizard, 5 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 277
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. const int CardNum = 52;
  6. void createCard (int card[], int num_of_card) {
  7.         for (int i = 0; i < num_of_card; i++) {
  8.                 card[i] = i;
  9.         }
  10. }
  11. void shuffleCard (int card[], int num_of_card) {
  12.         int a, b, tmp;
  13.         for (int i = 0; i < num_of_card; i++) {
  14.                 a = rand() % 52;
  15.                 b = rand() % 52;
  16.                 if(a != b) {
  17.                         tmp = card[a];
  18.                         card[a] = card[b];
  19.                         card[b] = tmp;
  20.                 }
  21.         }
  22. }
  23. void printCard (int card[], int num_of_card) {
  24.         int color, Num;
  25.         for (int i = 0; num_of_card < 13; i++) {
  26.                 color = (card[i] / 13) + 1;
  27.                 Num = (card[i] % 13) + 1;
  28.                 switch(color) {
  29.                         case 1:
  30.                                 cout << "S";
  31.                                 break;
  32.                         case 2:
  33.                                 cout << "H";
  34.                                 break;
  35.                         case 3:
  36.                                 cout << "D";
  37.                                 break;
  38.                         case 4:
  39.                                 cout << "C";
  40.                                 break; 
  41.                 }
  42.                 switch(Num) {
  43.                         case 1:
  44.                                 cout << "A";
  45.                                 break;
  46.                         case 11:
  47.                                 cout << "J";
  48.                                 break;
  49.                         case 12:
  50.                                 cout << "Q";
  51.                                 break;
  52.                         case 13:
  53.                                 cout << "K";
  54.                                 break; 
  55.                         default:
  56.                                 cout << Num;                   
  57.                 }
  58.                 cout << " ";
  59.         }
  60. }
  61. int dealCard (int card[], int remainCard) {
  62.         int returnCard;
  63.         returnCard = card[remainCard - 1];
  64.         return returnCard;
  65. }
  66. void sortCard (int card[], int num_of_card) {
  67.         int num, color, tmp;
  68.         for (int i = 0; i < num_of_card; i++) {
  69.                 color = card[i] / 13 + 1;
  70.                 min = color;
  71.                 for (int j = i + 1; j < num_of_card; j++) {
  72.                         if (min != color) {
  73.                                 tmp = card[j];
  74.                                 card[i] = card[j];
  75.                                 card[j] = tmp;
  76.                         }
  77.                 }
  78.         }
  79. }
  80. int main (void) {
  81.         srand(time(0));
  82.         int card[CardNum], P1[13], P2[13], P3[13], P4[13],remainCard = 52;
  83.         createCard (card, CardNum);
  84.         shuffleCard (card, CardNum);
  85.         for (int i = 0; i < 13; i++) {
  86.                 P1[i] = dealCard (card,remainCard);
  87.                 remainCard--;
  88.                 P2[i] = dealCard (card,remainCard);
  89.                 remainCard--;
  90.                 P3[i] = dealCard (card,remainCard);
  91.                 remainCard--;
  92.                 P4[i] = dealCard (card,remainCard);
  93.                 remainCard--;
  94.         }
  95.         cout << "P1 : ";
  96.         printCard (P1,13);
  97.         cout << endl << "P2 : ";
  98.         printCard (P2,13);
  99.         cout << endl << "P3 : ";
  100.         printCard (P3,13);
  101.         cout << endl << "P4 : ";
  102.         printCard (P4,13);
  103. }