Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
char CARD[52][128] = {
"AH","AC","AS","AD","2H","2C","2S","2D",
"3H","3C","3S","3D","4H","4C","4S","4D",
"5H","5C","5S","5D","6H","6C","6S","6D",
"7H","7C","7S","7D","8H","8C","8S","8D",
"9H","9C","9S","9D","TH","TC","TS","TD",
"JH","JC","JS","JD","QH","QC","QS","QD",
"KH","KC","KS","KD"
};
char DECK[52][128];
char HAND1[52][128];
char HAND2[52][128];
int player1Points = 0;
int player2Points = 0;
int difference = 0;
int shuffle() {
for (int i=0;i<=51;i++) {
int place = (rand() % (51 - 0 + 1)) + 0;
if (strcmp(DECK[place],"null") == 0) {
strcpy(DECK[place],CARD[i]);
strcpy(CARD[i],"null");
} else {
for (int ai=0;ai<=51;ai++) {
if (strcmp(DECK[ai],"null") == 0) {
strcpy(DECK[ai],CARD[i]);
strcpy(CARD[i],"null");
break;
}
}
}
}
}
int deal(int amount) {
int c = 0;
for (int j=0;j<=(amount-1);j++) {
strcpy( HAND1[j] , DECK[c++] );
strcpy( DECK[c-1], "null" );
strcpy( HAND2[j] , DECK[c++] );
strcpy( DECK[c-1], "null" );
}
}
int getValueOf(char type) {
if (type == 'A') return 14;
if (type == '2') return 2;
if (type == '3') return 3;
if (type == '4') return 4;
if (type == '5') return 5;
if (type == '6') return 6;
if (type == '7') return 7;
if (type == '8') return 8;
if (type == '9') return 9;
if (type == 'T') return 10;
if (type == 'J') return 11;
if (type == 'Q') return 12;
if (type == 'K') return 13;
return 0;
};
int playWar() {
for (int i=0;i<25;i++) {
int p1 = getValueOf(HAND1[i][0]);
int p2 = getValueOf(HAND2[i][0]);
if (p1 > p2) player1Points += 1;
if (p2 > p1) player2Points += 1;
//printf("%i/%i, ", p1, p2 );
};
printf("Player 1: %i \nPlayer 2: %i \n", player1Points, player2Points );
}
int main(int argc, char *argv[]) {
srand( time(0) );
for (int i=0;i<=51;i++) {
sprintf(DECK[i], "null");
sprintf(HAND1[i], "null");
sprintf(HAND2[i], "null");
}
shuffle(); deal( 26 ); playWar();
return 0;
}