]> thyrsus.com Git - tetrix.git/commitdiff
Initial revision
authorEric S. Raymond <esr@thyrsus.com>
Tue, 29 Nov 1994 03:29:23 +0000 (03:29 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Tue, 29 Nov 1994 03:29:23 +0000 (03:29 +0000)
tet.h [new file with mode: 0644]

diff --git a/tet.h b/tet.h
new file mode 100644 (file)
index 0000000..b65f64a
--- /dev/null
+++ b/tet.h
@@ -0,0 +1,57 @@
+#define NO_TYPE                0
+#define NO_CHAR                ' '
+#define BRITE_CHAR     '$'
+
+/* type numbers 1-3, 4-7, 9-11 etc represent the white, red, blue etc */
+/* pieces at different rotations */
+#define G_TYPE 4               /* Green pieces */
+#define G_CHAR 'G'
+#define R_TYPE 8               /* Red pieces */
+#define R_CHAR 'R'
+#define T_TYPE  12             /* Tan pieces */
+#define T_CHAR 'O'
+#define W_TYPE 16              /* White pieces */
+#define W_CHAR 'W'
+#define V_TYPE 20              /* Violet pieces */
+#define V_CHAR 'V'
+#define B_TYPE 24              /* Blue pieces */
+#define B_CHAR 'B'
+#define Y_TYPE 28              /* Yellow pieces */
+#define Y_CHAR 'Y'
+
+#define MINX 15                /* defines corner screen position */
+#define MINY 1
+
+#define BOARD_WIDE 10
+#define BOARD_HIGH 20
+
+#define MAXX BOARD_WIDE+MINX
+#define MAXY BOARD_HIGH+MINY
+
+#define INBOARD(x, y)  ((y)>=MINY && (x)>=MINX && (x)<MAXX && (y)<MAXY)
+
+#define STARTROW 1             /* defines starting position of pieces */
+#define STARTCOL 5
+
+#define NEXTROW        10
+#define NEXTCOL        27
+#define NEXT_WIDE 5
+#define NEXT_HIGH 3
+
+extern char Board[BOARD_WIDE][BOARD_HIGH];
+
+#ifndef COLOR
+/* Macros */
+/* offset the character on screen by MINX and MINY */
+#define PUTCH(x,y,z) {  mvaddch(y,x,z); if (INBOARD(x, y)) Board[x-MINX][y-MINY]=z; }
+#else
+extern void PUTCH();
+extern void init_colors();
+#endif /* COLOR */
+
+#ifdef BIGCPP
+/* test whether a square is empty and legal */
+#define IS_FREE(x,y)   (INBOARD(x, y) && (Board[x-MINX][y-MINY] == NO_CHAR))
+#else
+extern int IS_FREE();
+#endif /* BIGCPP */