1 2 /* 3 xskat - a card game for 1 to 3 players. 4 Copyright (C) 2004 Gunter Gerhardt 5 6 This program is free software; you can redistribute it freely. 7 Use it at your own risk; there is NO WARRANTY. 8 9 Redistribution of modified versions is permitted 10 provided that the following conditions are met: 11 1. All copyright & permission notices are preserved. 12 2.a) Only changes required for packaging or porting are made. 13 or 14 2.b) It is clearly stated who last changed the program. 15 The program is renamed or 16 the version number is of the form x.y.z, 17 where x.y is the version of the original program 18 and z is an arbitrary suffix. 19 */ 20 21 #ifndef SKAT_H 22 #define SKAT_H 23 24 #undef EXTERN 25 #ifdef SKAT_C 26 #define EXTERN 27 #else 28 #define EXTERN extern 29 #endif 30 31 #define AS 0 32 #define ZEHN 1 33 #define KOENIG 2 34 #define DAME 3 35 #define BUBE 4 36 #define NEUN 5 37 #define ACHT 6 38 #define SIEBEN 7 39 40 #define BOCK_BEI_60 1 41 #define BOCK_BEI_GRANDHAND 2 42 #define BOCK_BEI_KONTRA 4 43 #define BOCK_BEI_RE 8 44 #define BOCK_BEI_NNN 16 45 #define BOCK_BEI_N00 32 46 #define BOCK_BEI_72 64 47 #define BOCK_BEI_96 128 48 #define BOCK_BEI_LAST 128 49 50 enum { 51 GEBEN, 52 REIZEN, 53 HANDSPIEL, 54 DRUECKEN, 55 ANSAGEN, 56 REVOLUTION, 57 SPIELEN, 58 SCHENKEN, 59 NIMMSTICH, 60 SPIELDICHT, 61 WEITER, 62 RESULT 63 }; 64 65 EXTERN int nullw[] 66 #ifdef SKAT_C 67 = 68 { 69 23,35,46,59,92 70 } 71 #endif 72 ; 73 74 EXTERN int rwert[] 75 #ifdef SKAT_C 76 = 77 { 78 9,10,11,12,24 79 } 80 #endif 81 ; 82 83 EXTERN int reizw[] 84 #ifdef SKAT_C 85 = 86 { 87 18,20,22,23,24,27,30,33,35,36,40,44,45,46,48,50, 88 54,55,59,60,63,66,70,72,77,80,81,84,88,90,96,99, 89 100,108,110,117,120,121,126,130,132,135,140,143, 90 144,150,153,154,156,160,162,165,168,170,171,176, 91 180,187,189,190,192,198,200,204,207,209,210,216, 92 220,228,240,264,999 93 } 94 #endif 95 ; 96 97 EXTERN int cardw[] 98 #ifdef SKAT_C 99 = 100 { 101 11,10,4,3,2,0,0,0 102 } 103 #endif 104 ; 105 106 EXTERN int sortw[] 107 #ifdef SKAT_C 108 = 109 { 110 0,1,2,3 111 } 112 #endif 113 ; 114 115 EXTERN int numsp,numgames; 116 EXTERN int strateg[3],stgset[3]; 117 EXTERN int hints[3],hintsset[3],hintcard[2]; 118 EXTERN int blatt[3],blattset[3]; 119 EXTERN int lang[3],langset[3]; 120 EXTERN int maxrw[3],sort1[3],sort2[3],alternate[3],splfirst[3]; 121 EXTERN int downupset[3],altseqset[3],tdelayset[3],alistset[3]; 122 EXTERN int mbutton[3],mbuttonset[3]; 123 EXTERN int keyboard[3],keyboardset[3]; 124 EXTERN int abkuerz[3],abkuerzset[3]; 125 EXTERN int briefmsg[3],briefmsgset[3]; 126 EXTERN int trickl2r[3],trickl2rset[3]; 127 EXTERN int useoptfile[3]; 128 EXTERN int lastmsaho[3],protsort[3],hatnfb[3][5]; 129 EXTERN int splsum[3][3],sum[3][3],prevsum[3][3],alist[3]; 130 EXTERN int sgewoverl[3][2],cgewoverl[3][2]; 131 EXTERN int nimmstich[3][2],playramsch,ramschset; 132 EXTERN int playsramsch,sramschset,sramschstufe; 133 EXTERN int rskatloser,rskatloserset,rskatsum; 134 EXTERN int playkontra,kontraset,kontrastufe; 135 EXTERN int playbock,bockset,bockevents,bockeventsset; 136 EXTERN int bockspiele,ramschspiele,bockinc; 137 EXTERN int resumebock,resumebockset; 138 EXTERN int spitzezaehlt,spitzezaehltset; 139 EXTERN int revolution,revolutionset; 140 EXTERN int klopfen,klopfenset; 141 EXTERN int schenken,schenkenset,schenkstufe; 142 EXTERN int oldrules,oldrulesset; 143 EXTERN int fastdeal,fastdealset; 144 EXTERN int sagte18[3]; 145 EXTERN int cards[32],gespcd[32]; 146 EXTERN int quit,phase,geber,hoerer,sager,spieler; 147 EXTERN int saho,reizp,gedr,vmh,stich,ausspl; 148 EXTERN int possi[10],possc,stcd[3]; 149 EXTERN int trumpf,handsp,stsum,astsum,gstsum,spcards[12],kannspitze; 150 EXTERN int spgew,spwert,schwz,nullv,spitzeok,nspwert; 151 EXTERN int schnang,schwang,ouveang,spitzeang,revolang; 152 EXTERN struct { int s,r,d,e,g; } splist[360]; 153 EXTERN int splstp,splres; 154 EXTERN int gespfb[4],high[5],shigh[5]; 155 EXTERN int inhand[4][8]; 156 EXTERN int playcd,drkcd; 157 EXTERN int mes1,mes2,mes3,mes4; 158 EXTERN int butternok,sptruempfe; 159 EXTERN int predef,logging,unformatted; 160 EXTERN long seed[2],savseed,gamenr,rotateby; 161 EXTERN char *list_file,*game_file,*prot_file,*opt_file,*cards_file; 162 EXTERN int wieder,vorhandwn; 163 EXTERN int karobubeanz; 164 EXTERN int ndichtw; 165 EXTERN int firstgame,dlhintseen; 166 EXTERN int drbut,umdrueck; 167 EXTERN int pkoption; 168 EXTERN char lanip[3][40]; 169 EXTERN int laninvite[2]; 170 EXTERN char irc_hostname[40]; 171 EXTERN int irc_hostset; 172 EXTERN int theargc; 173 EXTERN char **theargv; 174 EXTERN struct 175 { 176 int stichgem,spieler,trumpf,gereizt,gewonn,augen,ehsso,predef,sramsch; 177 int stiche[10][3],anspiel[10],gemacht[10],skat[4][2],verdopp[3]; 178 long savseed,gamenr; 179 int rotateby,spitze,revolution,schenken,handsp; 180 } prot1,prot2; 181 182 #endif /* SKAT_H */ 183