//ver 1.4
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define K 10 // giá trị lá K
#define J 10 // giá trị lá J
#define Q 10 // giá trị lá Q
// hàm này sẽ lần lược rút 3 lá cho 2 bên
//Tham số vào là số nút hiện tại của 2 bên và 2 mảng
// hàm trả về số nút của hai bên sau khi phát xong.
void phatBai(int nut1[], int nut2[], int laBai[], int trangThai[]);
//hàm này sẽ rút 1 lá bài và đánh dấu trạng thái lá bài ấy
//Input: các lá bài và trạng thái của chúng
//trả về lá rút ngẩu nhiên.
int rutBai(int laBai[], int trangThai[]);
//hàm thông báo: sẽ thông báo lá bài rút được
//Input: lá bài đã rút được
//Output: một câu thông báo bình thường
void thongBao(int laBaiRutDuoc);
int tinhNut(int soNut[]);
int main(void)
{
int laBai[13]={1,2,3,4,5,6,7,8,9,10,K,J,Q};
int trangThai[13]={0}; // start with 0,0,0,0,0,...
srand(time(NULL)); //set time random
int nut_1 = 0; // số nút ng chơi 1
int nut_2 = 0; // số nút ng chơi 2
phatBai(&nut_1,&nut_2,laBai,trangThai);
printf("\nRESULT:");
printf("\nComputer scores : %d",nut_1);
printf("\nPlayer scores : %d\n",nut_2);
if(nut_1>nut_2) printf("\n\4 You Lose \4\n");
else
if(nut_1<nut_2) printf("\n\4 You Win \4\n");
else printf("\n\4 Bang nhau \4\n");
printf("\n");
printf("Thoi gian choi: %f",(double)clock()/CLOCKS_PER_SEC);
printf("\n");
return 0;
}
//******************************************************************************//
void phatBai(int *nut_1, int *nut_2, int laBai[], int trangThai[])
{
int la=0; // la bai se phát
for(int i=0; i<=2; i++)
{
//vào game.....
printf("\nDraw %d\n",i);
//rút cho máy
la=rutBai(laBai,trangThai); //rút bài
*nut_1+=laBai[la]; // cập nhật số nút
printf("Computer card: "); //thông báo
thongBao(la);
printf("\n");
//rút cho người chơi
la=rutBai(laBai,trangThai); //rút bài
*nut_2+=laBai[la]; // cập nhật số nút
printf("Player card: "); //thông báo
thongBao(la);
printf("\n");
}
}
//********************************************************************//
int rutBai(int laBai[], int trangThai[])
{
int la=0;
do
{
la =rand()%(13-1+1);// vì lá chỉ là chỉ số thôi. stt mới +1 vào
} while (trangThai[la]==1); // trạng thái lá bài thứ "la" đã phát rồi
trangThai[la]=1;
return la;
}
//********************************************************************//
void thongBao(int laBaiRutDuoc)
{
switch(laBaiRutDuoc)
{
case 10: printf("J"); // thông báo lá J
break;
case 11: printf("Q"); // thông báo lá Q
break;
case 12: printf("K"); // thông báo lá K
break;
default: printf("%d",laBaiRutDuoc+1); // các lá từ 1->10
};
}