#include int order[256] = { ['2'] = 0, ['3'] = 1, ['4'] = 2, ['5'] = 3, ['6'] = 4, ['7'] = 5, ['8'] = 6, ['9'] = 7, ['T'] = 8, ['J'] = 9, ['Q'] = 10, ['K'] = 11, ['A'] = 12}; char *border = "23456789TJQKA"; int colors[256] = {['C'] = 0, ['D'] = 1, ['S'] = 2, ['H'] = 3}; char *bcol = "CDSH"; int dorder[256] = {['N'] = 0, ['E'] = 1, ['S'] = 2, ['W'] = 3}; int dealer; unsigned long long cards[4]; char b1[1000], b2[1000]; char *desig[] = {"South", "West", "North", "East"}; int oorder[] = {2,3,0,1}; #define CV(CD) (colors[(CD)[0]]*13 + order[(CD)[1]]) #define DEAL(CD) {dealer++; dealer &= 3;cards[dealer] |= (1ull << CV(CD)) ; } void print_values (unsigned long long c) { char ch, i; printf("|"); for (i = 0; i < 52; i++) if (c & (1ull<