C语语言言实实现现斗斗地地主主的的核核心心算算法法
数据结构只选择了顺序表,没有选择链表,灵活性和 象性不足,不能普适。
head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#define MAXLEVEL 15
typedef struct CARD{
int number;
int eve ;
char *f ower;
char point;
}card;//卡
typedef struct DECK{
int top;
int arr[55];
}deck;//牌堆
typedef struct PLAYERS{
int id;
int status;
card handcard[21];
int size;
}p ayers;//玩家
typedef struct GAMES{
int type;
int eve ;
int sum;
int who;
int count;
int arr[16];
}games;//桌面
typedef struct BUFFERS{
int arr[16];
int brr[20];
int sum;
}buffers;//出牌缓冲区
/**/
void game_init();
void turning();
void handcard_sort();
void print();
int win();
void turn_switch();
#endif
op.c
#inc ude
#inc ude
#inc ude"head.h"
#inc ude
static int type_buffer();
static char point[]={'0 ','3','4 ','5','6','7','8','9','X ','J','Q ','K','A ','2','w ','W '};
static char *farr[]={"方片","梅花","红桃","黑桃"};
static char* type_arr[]={"弃权","单张","对子","王炸","骷髅","骷髅单","炸弹","骷髅对","炸带
单","顺子","炸带一对","飞机不带","连对","飞机单","飞机带对"};
static char* sta_arr[2]={"农民","地主"};
static p ayers p ayer[3];//玩家
static games game;
/*洗牌堆*/
static deck* deck_init(){
int i,j;
srand(time(0));
deck *p_deck=(deck*)ma oc(sizeof(deck));
if(!p_deck){
printf("分配内存失败\n");
return NULL;
}
for(i=1;i<=54;i++){
p_deck->a