01/10/2018, 14:51
Giả lập dealer chia bài
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define CARD 52
#define FACE 13
#define SUIT 4
void dealer(int deck[][FACE], char* suit[], char* face[], int player)
{
int draw;
int i = 1;
size_t row;
size_t col;
size_t card;
for(card = 1; card <= player*5; ++card){
for(row = 0; row < SUIT; ++row){
for(col = 0; col < FACE; ++col){
if(deck[row][col] == card){
printf("Player %d", i);
printf("%5s %-8s
", face[col], suit[row]);
if(card % 5 == 0){
puts("");
++i;
}
}
}
}
}
}
void shuffle(int deck[][FACE], char* suit[], char* face[]);
int main()
{
srand(time(NULL));
int deck[SUIT][FACE] = {{0}};
char* suit[SUIT] = {"Co", "Ro", "Chuon", "Bich"};
char* face[FACE] = {"Mot", "Hai", "Ba", "Bon", "Nam", "Sau",
"Bay", "Tam", "Chin", "Muoi", "Boi", "Dam", "Gia"};
int player;
shuffle(deck, suit, face);
printf("%s", "Enter number of player: ");
scanf("%d", &player);
dealer(deck, suit, face, player);
}
void shuffle(int deck[][FACE], char* suit[], char* face[])
{
size_t card;
size_t row;
size_t col;
for(card = 1; card <= CARD; ++card){
do{
row = rand() % SUIT;
col = rand() % FACE;
}while(deck[row][col] != 0);
deck[row][col] = card;
}
}
Nếu tôi giải quyết vấn đề về chia bài thế này có ổn không, code nó có quá dài dòng?
Bài liên quan