//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
	};
}
 