+#define mswap(m) {(m)->D0 ^= (m)->D1; (m)->D1 ^= (m)->D0; (m)->D0 ^= (m)->D1; (m)->d0 = 1-(m)->d0;}
+#define swap suck it
+
+struct move {
+ int dice[2]; /* value of dice */
+ int mvlim; /* 'move limit': max. number of moves */
+ int p[5]; /* starting position of moves */
+ int g[5]; /* ending position of moves (goals) */
+ int h[4]; /* flag for each move if a man was hit */
+ int d0; /* flag if dice have been reversed from
+ original position */
+};
+
+extern struct move gm;