From: Eric S. Raymond Date: Fri, 22 Oct 2010 03:56:22 +0000 (-0400) Subject: ANSIfy the code. X-Git-Tag: 2.3~5 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=ac04b0653394b7a04171e2e70e550800f2756e78;p=tetrix.git ANSIfy the code. --- diff --git a/AdvanceP.c b/AdvanceP.c index f55da4c..9e9c623 100644 --- a/AdvanceP.c +++ b/AdvanceP.c @@ -1,298 +1,297 @@ - +#include #include #include "tet.h" /*********************************************************************/ /* Switch on type of piece, find out if I can move down */ /* If so, then do it and return 1 else return 0 */ /*********************************************************************/ -AdvancePiece(type, col, row) -int type, col, row; +AdvancePiece(int type, int col, int row) { -switch (type) { + switch (type) { /* WHITE PIECES */ - case W_TYPE : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+2) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+1,W_CHAR); - PUTCH(col,row+2,W_CHAR); - PUTCH(col+1,row+1,W_CHAR); - goto out; - } - else goto badout; + case W_TYPE : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+2) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+1,W_CHAR); + PUTCH(col,row+2,W_CHAR); + PUTCH(col+1,row+1,W_CHAR); + goto out; + } + else goto badout; - case W_TYPE-1 : - if (IS_FREE(col,row+2) && - IS_FREE(col+1,row+1)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col,row+2,W_CHAR); - PUTCH(col+1,row+1,W_CHAR); - goto out; - } - else goto badout; + case W_TYPE-1 : + if (IS_FREE(col,row+2) && + IS_FREE(col+1,row+1)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col,row+2,W_CHAR); + PUTCH(col+1,row+1,W_CHAR); + goto out; + } + else goto badout; - case W_TYPE-2 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+1,W_CHAR); - PUTCH(col,row+1,W_CHAR); - PUTCH(col+1,row+1,W_CHAR); - goto out; - } - else goto badout; + case W_TYPE-2 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+1,W_CHAR); + PUTCH(col,row+1,W_CHAR); + PUTCH(col+1,row+1,W_CHAR); + goto out; + } + else goto badout; - case W_TYPE-3 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+2)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col-1,row+1,W_CHAR); - PUTCH(col,row+2,W_CHAR); - goto out; - } - else goto badout; + case W_TYPE-3 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+2)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col-1,row+1,W_CHAR); + PUTCH(col,row+2,W_CHAR); + goto out; + } + else goto badout; /* RED PIECES */ - case R_TYPE : - if (IS_FREE(col-1,row+2) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+2,R_CHAR); - PUTCH(col,row+1,R_CHAR); - PUTCH(col+1,row+1,R_CHAR); - goto out; - } - else goto badout; + case R_TYPE : + if (IS_FREE(col-1,row+2) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+2,R_CHAR); + PUTCH(col,row+1,R_CHAR); + PUTCH(col+1,row+1,R_CHAR); + goto out; + } + else goto badout; - case R_TYPE-1 : - if (IS_FREE(col,row+2) && - IS_FREE(col+1,row+2)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col,row+2,R_CHAR); - PUTCH(col+1,row+2,R_CHAR); - goto out; - } - else goto badout; + case R_TYPE-1 : + if (IS_FREE(col,row+2) && + IS_FREE(col+1,row+2)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col,row+2,R_CHAR); + PUTCH(col+1,row+2,R_CHAR); + goto out; + } + else goto badout; - case R_TYPE-2 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row-1,NO_CHAR); - PUTCH(col-1,row+1,R_CHAR); - PUTCH(col,row+1,R_CHAR); - PUTCH(col+1,row+1,R_CHAR); - goto out; - } - else goto badout; + case R_TYPE-2 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row-1,NO_CHAR); + PUTCH(col-1,row+1,R_CHAR); + PUTCH(col,row+1,R_CHAR); + PUTCH(col+1,row+1,R_CHAR); + goto out; + } + else goto badout; - case R_TYPE-3 : - if (IS_FREE(col-1,row) && - IS_FREE(col,row+2)) - { - PUTCH(col-1,row-1,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col-1,row,R_CHAR); - PUTCH(col,row+2,R_CHAR); - goto out; - } - else goto badout; + case R_TYPE-3 : + if (IS_FREE(col-1,row) && + IS_FREE(col,row+2)) + { + PUTCH(col-1,row-1,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col-1,row,R_CHAR); + PUTCH(col,row+2,R_CHAR); + goto out; + } + else goto badout; /* TAN PIECES */ - case T_TYPE : - case T_TYPE-1 : - case T_TYPE-2 : - case T_TYPE-3 : - if (IS_FREE(col,row+2) && - IS_FREE(col+1,row+2)) - { - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col,row+2,T_CHAR); - PUTCH(col+1,row+2,T_CHAR); - goto out; - } - else goto badout; + case T_TYPE : + case T_TYPE-1 : + case T_TYPE-2 : + case T_TYPE-3 : + if (IS_FREE(col,row+2) && + IS_FREE(col+1,row+2)) + { + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col,row+2,T_CHAR); + PUTCH(col+1,row+2,T_CHAR); + goto out; + } + else goto badout; /* YELLOW PIECES */ - case Y_TYPE : - case Y_TYPE-2 : - if (IS_FREE(col-1,row+2) && - IS_FREE(col,row+2) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+2,Y_CHAR); - PUTCH(col,row+2,Y_CHAR); - PUTCH(col+1,row+1,Y_CHAR); - goto out; - } - else goto badout; + case Y_TYPE : + case Y_TYPE-2 : + if (IS_FREE(col-1,row+2) && + IS_FREE(col,row+2) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+2,Y_CHAR); + PUTCH(col,row+2,Y_CHAR); + PUTCH(col+1,row+1,Y_CHAR); + goto out; + } + else goto badout; - case Y_TYPE-1 : - case Y_TYPE-3 : - if (IS_FREE(col,row+1) && - IS_FREE(col+1,row+2)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col,row+1,Y_CHAR); - PUTCH(col+1,row+2,Y_CHAR); - goto out; - } - else goto badout; + case Y_TYPE-1 : + case Y_TYPE-3 : + if (IS_FREE(col,row+1) && + IS_FREE(col+1,row+2)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col,row+1,Y_CHAR); + PUTCH(col+1,row+2,Y_CHAR); + goto out; + } + else goto badout; /* GREEN PIECES */ - case G_TYPE : - case G_TYPE-2 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+2) && - IS_FREE(col+1,row+2)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col-1,row+1,G_CHAR); - PUTCH(col,row+2,G_CHAR); - PUTCH(col+1,row+2,G_CHAR); - goto out; - } - else goto badout; + case G_TYPE : + case G_TYPE-2 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+2) && + IS_FREE(col+1,row+2)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col-1,row+1,G_CHAR); + PUTCH(col,row+2,G_CHAR); + PUTCH(col+1,row+2,G_CHAR); + goto out; + } + else goto badout; - case G_TYPE-1 : - case G_TYPE-3 : - if (IS_FREE(col-1,row+2) && - IS_FREE(col,row+1)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row+1,G_CHAR); - PUTCH(col-1,row+2,G_CHAR); - goto out; - } - else goto badout; + case G_TYPE-1 : + case G_TYPE-3 : + if (IS_FREE(col-1,row+2) && + IS_FREE(col,row+1)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row+1,G_CHAR); + PUTCH(col-1,row+2,G_CHAR); + goto out; + } + else goto badout; /* BLUE PIECES */ - case B_TYPE : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+2)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+1,B_CHAR); - PUTCH(col,row+1,B_CHAR); - PUTCH(col+1,row+2,B_CHAR); - goto out; - } - else goto badout; + case B_TYPE : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+2)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+1,B_CHAR); + PUTCH(col,row+1,B_CHAR); + PUTCH(col+1,row+2,B_CHAR); + goto out; + } + else goto badout; - case B_TYPE-1 : - if (IS_FREE(col,row+2) && - IS_FREE(col+1,row)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row-1,NO_CHAR); - PUTCH(col,row+2,B_CHAR); - PUTCH(col+1,row,B_CHAR); - goto out; - } - else goto badout; + case B_TYPE-1 : + if (IS_FREE(col,row+2) && + IS_FREE(col+1,row)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row-1,NO_CHAR); + PUTCH(col,row+2,B_CHAR); + PUTCH(col+1,row,B_CHAR); + goto out; + } + else goto badout; - case B_TYPE-2 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+1)) - { - PUTCH(col-1,row-1,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+1,B_CHAR); - PUTCH(col,row+1,B_CHAR); - PUTCH(col+1,row+1,B_CHAR); - goto out; - } - else goto badout; + case B_TYPE-2 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+1)) + { + PUTCH(col-1,row-1,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+1,B_CHAR); + PUTCH(col,row+1,B_CHAR); + PUTCH(col+1,row+1,B_CHAR); + goto out; + } + else goto badout; - case B_TYPE-3 : - if (IS_FREE(col-1,row+2) && - IS_FREE(col,row+2)) - { - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col-1,row+2,B_CHAR); - PUTCH(col,row+2,B_CHAR); - goto out; - } - else goto badout; + case B_TYPE-3 : + if (IS_FREE(col-1,row+2) && + IS_FREE(col,row+2)) + { + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col-1,row+2,B_CHAR); + PUTCH(col,row+2,B_CHAR); + goto out; + } + else goto badout; /* VIOLET PIECES */ - case V_TYPE : - case V_TYPE-2 : - if (IS_FREE(col-1,row+1) && - IS_FREE(col,row+1) && - IS_FREE(col+1,row+1) && - IS_FREE(col+2,row+1)) - { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col+2,row,NO_CHAR); - PUTCH(col-1,row+1,V_CHAR); - PUTCH(col,row+1,V_CHAR); - PUTCH(col+1,row+1,V_CHAR); - PUTCH(col+2,row+1,V_CHAR); - goto out; - } - else goto badout; - - case V_TYPE-1 : - case V_TYPE-3 : - if (IS_FREE(col,row+3)) - { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+3,V_CHAR); - goto out; - } - else goto badout; + case V_TYPE : + case V_TYPE-2 : + if (IS_FREE(col-1,row+1) && + IS_FREE(col,row+1) && + IS_FREE(col+1,row+1) && + IS_FREE(col+2,row+1)) + { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col+2,row,NO_CHAR); + PUTCH(col-1,row+1,V_CHAR); + PUTCH(col,row+1,V_CHAR); + PUTCH(col+1,row+1,V_CHAR); + PUTCH(col+2,row+1,V_CHAR); + goto out; + } + else goto badout; - default : - printf("Advance Piece: illegal piece type=%d!!\n",type); - exit(); + case V_TYPE-1 : + case V_TYPE-3 : + if (IS_FREE(col,row+3)) + { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+3,V_CHAR); + goto out; } + else goto badout; + + default : + printf("Advance Piece: illegal piece type=%d!!\n",type); + exit(0); + } badout: - return(FALSE); + return(FALSE); out: - refresh(); - return(TRUE); + refresh(); + return(TRUE); } diff --git a/Colors.c b/Colors.c index 0ba0ddf..dc24268 100644 --- a/Colors.c +++ b/Colors.c @@ -24,7 +24,7 @@ typedef struct } colorpair; -void init_colors() +void init_colors(void) { start_color(); @@ -61,8 +61,7 @@ void init_colors() #endif /* EGA */ } -void PUTCH(x,y,z) -int x, y, z; +void PUTCH(int x,int y,int z) { switch(z) { diff --git a/DrawP.c b/DrawP.c index 8abc3fb..2c2eef4 100644 --- a/DrawP.c +++ b/DrawP.c @@ -1,4 +1,4 @@ - +#include #include #include "tet.h" /*********************************************************************/ @@ -7,7 +7,7 @@ /*********************************************************************/ /* returns a random number in the set 4 8 16 20 24 or 28 */ -RandomPiece() +RandomPiece(void) { return ((int)(mrand48() % 4) + 4) * 4; } @@ -47,13 +47,12 @@ int type, col, row; default: printf("illegal piece type=%d!!\n",type); - exit(); + exit(0); /*NOTREACHED*/ } } -DrawPiece(type, col, row) -int type, col, row; +DrawPiece(int type, int col, int row) { switch (type) { @@ -108,7 +107,7 @@ int type, col, row; default: printf("illegal piece type=%d!!\n",type); - exit(); + exit(0); } refresh(); } diff --git a/MoveL.c b/MoveL.c index 9894b9e..e288860 100644 --- a/MoveL.c +++ b/MoveL.c @@ -1,12 +1,11 @@ - +#include #include #include "tet.h" /*********************************************************************/ /* Switch on type of piece, find out if I can move left */ /* If so, then do it */ /*********************************************************************/ -MoveLeft(type, col, row) -int type, col, row; +MoveLeft(int type, int col, int row) { switch (type) { /* WHITE PIECES */ @@ -270,7 +269,7 @@ int type, col, row; default: printf("illegal piece type=%d!!\n",type); - exit(); + exit(0); } } diff --git a/MoveR.c b/MoveR.c index 8ba8bd4..34b3b1c 100644 --- a/MoveR.c +++ b/MoveR.c @@ -1,12 +1,12 @@ - +#include #include #include "tet.h" + /*********************************************************************/ /* Switch on type of piece, find out if I can move right */ /* If so, then do it */ /*********************************************************************/ -MoveRight(type, col, row) -int type, col, row; +MoveRight(int type, int col, int row) { switch (type) { /* WHITE PIECES */ @@ -270,7 +270,7 @@ int type, col, row; default: printf("illegal piece type=%d!!\n",type); - exit(); + exit(0); } } diff --git a/Rotate.c b/Rotate.c index f5f0e26..ced2f2b 100644 --- a/Rotate.c +++ b/Rotate.c @@ -1,228 +1,227 @@ - +#include #include #include "tet.h" /*********************************************************************/ /* Switch on type of piece, find out if I can rotate */ /* If so, then do it */ /*********************************************************************/ -Rotate(type, col, row) -int type, col, row; +Rotate(int type, int col, int row) { -switch (type) { + switch (type) { /* WHITE PIECES */ - case W_TYPE : /* checked */ - if (IS_FREE(col,row-1)) { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col,row-1,W_CHAR); - type--; - } - break; - case W_TYPE-1 : /* checked */ - if (IS_FREE(col-1,row)) { - PUTCH(col,row+1,NO_CHAR); - PUTCH(col-1,row,W_CHAR); - type--; - } - break; - case W_TYPE-2 : /* checked */ - if (IS_FREE(col,row+1)) { - PUTCH(col+1,row,NO_CHAR); - PUTCH(col,row+1,W_CHAR); - type--; - } - break; - case W_TYPE-3 : /* checked */ - if (IS_FREE(col+1,row)) { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row,W_CHAR); - type = W_TYPE; - } - break; + case W_TYPE : /* checked */ + if (IS_FREE(col,row-1)) { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col,row-1,W_CHAR); + type--; + } + break; + case W_TYPE-1 : /* checked */ + if (IS_FREE(col-1,row)) { + PUTCH(col,row+1,NO_CHAR); + PUTCH(col-1,row,W_CHAR); + type--; + } + break; + case W_TYPE-2 : /* checked */ + if (IS_FREE(col,row+1)) { + PUTCH(col+1,row,NO_CHAR); + PUTCH(col,row+1,W_CHAR); + type--; + } + break; + case W_TYPE-3 : /* checked */ + if (IS_FREE(col+1,row)) { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row,W_CHAR); + type = W_TYPE; + } + break; /* RED PIECES */ - case R_TYPE : /* checked */ - if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && - IS_FREE(col+1,row+1)) { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col,row-1,R_CHAR); - PUTCH(col,row+1,R_CHAR); - PUTCH(col+1,row+1,R_CHAR); - type--; - } - break; - case R_TYPE-1 : /* checked */ - if (IS_FREE(col-1,row) && IS_FREE(col+1,row-1) && - IS_FREE(col+1,row)) { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col-1,row,R_CHAR); - PUTCH(col+1,row-1,R_CHAR); - PUTCH(col+1,row,R_CHAR); - type--; - } - break; - case R_TYPE-2 : /* checked */ - if (IS_FREE(col-1,row-1) && IS_FREE(col,row-1) && - IS_FREE(col,row+1)) { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col+1,row-1,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row-1,R_CHAR); - PUTCH(col,row-1,R_CHAR); - PUTCH(col,row+1,R_CHAR); - type--; - } - break; - case R_TYPE-3 : /* checked */ - if (IS_FREE(col-1,row) && IS_FREE(col-1,row+1) && - IS_FREE(col+1,row)) { - PUTCH(col-1,row-1,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col-1,row,R_CHAR); - PUTCH(col-1,row+1,R_CHAR); - PUTCH(col+1,row,R_CHAR); - type = R_TYPE; - } - break; + case R_TYPE : /* checked */ + if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && + IS_FREE(col+1,row+1)) { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col,row-1,R_CHAR); + PUTCH(col,row+1,R_CHAR); + PUTCH(col+1,row+1,R_CHAR); + type--; + } + break; + case R_TYPE-1 : /* checked */ + if (IS_FREE(col-1,row) && IS_FREE(col+1,row-1) && + IS_FREE(col+1,row)) { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col-1,row,R_CHAR); + PUTCH(col+1,row-1,R_CHAR); + PUTCH(col+1,row,R_CHAR); + type--; + } + break; + case R_TYPE-2 : /* checked */ + if (IS_FREE(col-1,row-1) && IS_FREE(col,row-1) && + IS_FREE(col,row+1)) { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col+1,row-1,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row-1,R_CHAR); + PUTCH(col,row-1,R_CHAR); + PUTCH(col,row+1,R_CHAR); + type--; + } + break; + case R_TYPE-3 : /* checked */ + if (IS_FREE(col-1,row) && IS_FREE(col-1,row+1) && + IS_FREE(col+1,row)) { + PUTCH(col-1,row-1,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col-1,row,R_CHAR); + PUTCH(col-1,row+1,R_CHAR); + PUTCH(col+1,row,R_CHAR); + type = R_TYPE; + } + break; /* TAN PIECES */ - case T_TYPE : - case T_TYPE-1 : - case T_TYPE-2 : - case T_TYPE-3 : break; + case T_TYPE : + case T_TYPE-1 : + case T_TYPE-2 : + case T_TYPE-3 : break; /* YELLOW PIECES */ - case Y_TYPE : - case Y_TYPE-2 : /* checked */ - if (IS_FREE(col,row-1) && IS_FREE(col+1,row+1)) { - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col,row-1,Y_CHAR); - PUTCH(col+1,row+1,Y_CHAR); - type--; - } - break; - case Y_TYPE-1 : - case Y_TYPE-3 : /* checked */ - if (IS_FREE(col-1,row+1) && IS_FREE(col,row+1)) { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col-1,row+1,Y_CHAR); - PUTCH(col,row+1,Y_CHAR); - type = Y_TYPE; - } - break; + case Y_TYPE : + case Y_TYPE-2 : /* checked */ + if (IS_FREE(col,row-1) && IS_FREE(col+1,row+1)) { + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col,row-1,Y_CHAR); + PUTCH(col+1,row+1,Y_CHAR); + type--; + } + break; + case Y_TYPE-1 : + case Y_TYPE-3 : /* checked */ + if (IS_FREE(col-1,row+1) && IS_FREE(col,row+1)) { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col-1,row+1,Y_CHAR); + PUTCH(col,row+1,Y_CHAR); + type = Y_TYPE; + } + break; /* GREEN PIECES */ - case G_TYPE : - case G_TYPE-2 : /* checked */ - if (IS_FREE(col-1,row+1) && IS_FREE(col,row-1)) { - PUTCH(col,row+1,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col-1,row+1,G_CHAR); - PUTCH(col,row-1,G_CHAR); - type--; - } - break; - case G_TYPE-1 : - case G_TYPE-3 : /* checked */ - if (IS_FREE(col,row+1) && IS_FREE(col+1,row+1)) { - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,G_CHAR); - PUTCH(col+1,row+1,G_CHAR); - type = G_TYPE; - } - break; + case G_TYPE : + case G_TYPE-2 : /* checked */ + if (IS_FREE(col-1,row+1) && IS_FREE(col,row-1)) { + PUTCH(col,row+1,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col-1,row+1,G_CHAR); + PUTCH(col,row-1,G_CHAR); + type--; + } + break; + case G_TYPE-1 : + case G_TYPE-3 : /* checked */ + if (IS_FREE(col,row+1) && IS_FREE(col+1,row+1)) { + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,G_CHAR); + PUTCH(col+1,row+1,G_CHAR); + type = G_TYPE; + } + break; /* BLUE PIECES */ - case B_TYPE : /* checked */ - if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && - IS_FREE(col+1,row-1)) { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col+1,row+1,NO_CHAR); - PUTCH(col,row-1,B_CHAR); - PUTCH(col,row+1,B_CHAR); - PUTCH(col+1,row-1,B_CHAR); - type--; - } - break; - case B_TYPE-1 : /* checked */ - if (IS_FREE(col-1,row-1) && IS_FREE(col-1,row) && - IS_FREE(col+1,row)) { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col+1,row-1,NO_CHAR); - PUTCH(col-1,row-1,B_CHAR); - PUTCH(col-1,row,B_CHAR); - PUTCH(col+1,row,B_CHAR); - type--; - } - break; - case B_TYPE-2 : /* checked */ - if (IS_FREE(col-1,row+1) && IS_FREE(col,row-1) && - IS_FREE(col,row+1)) { - PUTCH(col-1,row-1,NO_CHAR); - PUTCH(col-1,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col-1,row+1,B_CHAR); - PUTCH(col,row-1,B_CHAR); - PUTCH(col,row+1,B_CHAR); - type--; - } - break; - case B_TYPE-3 : /* checked */ - if (IS_FREE(col-1,row) && IS_FREE(col+1,row) && - IS_FREE(col+1,row+1)) { - PUTCH(col-1,row+1,NO_CHAR); - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col-1,row,B_CHAR); - PUTCH(col+1,row,B_CHAR); - PUTCH(col+1,row+1,B_CHAR); - type = B_TYPE; - } - break; + case B_TYPE : /* checked */ + if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && + IS_FREE(col+1,row-1)) { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col+1,row+1,NO_CHAR); + PUTCH(col,row-1,B_CHAR); + PUTCH(col,row+1,B_CHAR); + PUTCH(col+1,row-1,B_CHAR); + type--; + } + break; + case B_TYPE-1 : /* checked */ + if (IS_FREE(col-1,row-1) && IS_FREE(col-1,row) && + IS_FREE(col+1,row)) { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col+1,row-1,NO_CHAR); + PUTCH(col-1,row-1,B_CHAR); + PUTCH(col-1,row,B_CHAR); + PUTCH(col+1,row,B_CHAR); + type--; + } + break; + case B_TYPE-2 : /* checked */ + if (IS_FREE(col-1,row+1) && IS_FREE(col,row-1) && + IS_FREE(col,row+1)) { + PUTCH(col-1,row-1,NO_CHAR); + PUTCH(col-1,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col-1,row+1,B_CHAR); + PUTCH(col,row-1,B_CHAR); + PUTCH(col,row+1,B_CHAR); + type--; + } + break; + case B_TYPE-3 : /* checked */ + if (IS_FREE(col-1,row) && IS_FREE(col+1,row) && + IS_FREE(col+1,row+1)) { + PUTCH(col-1,row+1,NO_CHAR); + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col-1,row,B_CHAR); + PUTCH(col+1,row,B_CHAR); + PUTCH(col+1,row+1,B_CHAR); + type = B_TYPE; + } + break; /* VIOLET PIECES */ - case V_TYPE : - case V_TYPE-2 : /* checked */ - if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && - IS_FREE(col,row+2)) { - PUTCH(col-1,row,NO_CHAR); - PUTCH(col+1,row,NO_CHAR); - PUTCH(col+2,row,NO_CHAR); - PUTCH(col,row-1,V_CHAR); - PUTCH(col,row+1,V_CHAR); - PUTCH(col,row+2,V_CHAR); - type--; - } - break; - case V_TYPE-1 : - case V_TYPE-3 : /* checked */ - if (IS_FREE(col-1,row) && IS_FREE(col+1,row) && - IS_FREE(col+2,row)) { - PUTCH(col,row-1,NO_CHAR); - PUTCH(col,row+1,NO_CHAR); - PUTCH(col,row+2,NO_CHAR); - PUTCH(col-1,row,V_CHAR); - PUTCH(col,row,V_CHAR); - PUTCH(col+1,row,V_CHAR); - PUTCH(col+2,row,V_CHAR); - type = V_TYPE; - } - break; - default : - printf("illegal piece type=%d!!\n",type); - exit(); - } - refresh(); - return(type); + case V_TYPE : + case V_TYPE-2 : /* checked */ + if (IS_FREE(col,row-1) && IS_FREE(col,row+1) && + IS_FREE(col,row+2)) { + PUTCH(col-1,row,NO_CHAR); + PUTCH(col+1,row,NO_CHAR); + PUTCH(col+2,row,NO_CHAR); + PUTCH(col,row-1,V_CHAR); + PUTCH(col,row+1,V_CHAR); + PUTCH(col,row+2,V_CHAR); + type--; + } + break; + case V_TYPE-1 : + case V_TYPE-3 : /* checked */ + if (IS_FREE(col-1,row) && IS_FREE(col+1,row) && + IS_FREE(col+2,row)) { + PUTCH(col,row-1,NO_CHAR); + PUTCH(col,row+1,NO_CHAR); + PUTCH(col,row+2,NO_CHAR); + PUTCH(col-1,row,V_CHAR); + PUTCH(col,row,V_CHAR); + PUTCH(col+1,row,V_CHAR); + PUTCH(col+2,row,V_CHAR); + type = V_TYPE; + } + break; + default : + printf("illegal piece type=%d!!\n",type); + exit(0); + } + refresh(); + return(type); } diff --git a/tet.c b/tet.c index 96fa1ce..0ad4784 100644 --- a/tet.c +++ b/tet.c @@ -1,10 +1,12 @@ /* Tetrix by quentin */ +#include #include #include #include #include #include +#include #include "tet.h" #define HIGHCOUNT 10 /* count of high scorers to show */ @@ -51,7 +53,7 @@ char Temp[BOARD_WIDE][BOARD_HIGH]; /* temp storage for TestRows */ refresh(); } */ #define UPSCORE(x) { ThisScore += x; \ - sprintf((char *)ScoreString,"%-06d",ThisScore); \ + sprintf((char *)ScoreString,"%06d",ThisScore); \ mvaddstr(1,46,ScoreString); } #define NULL_KEY '\0' @@ -69,25 +71,8 @@ char Temp[BOARD_WIDE][BOARD_HIGH]; /* temp storage for TestRows */ #define SCORE_KEY 'h' #define MENU_KEY 'm' -/**************************************************MAIN*****/ -main(argc, argv) -int argc; -char **argv; -{ - if (argc >= 2) - InitPause = atoi(argv[1]); - else - InitPause = 150; - Init(); - for ( ; ; ) { - NewGame(); - Play(); - DrawScore(ScoreIt()); - } -} - /*************************************************************/ -Init() +Init(void) { register char *ttnam, *p; register int x,y,i,fd; @@ -133,7 +118,7 @@ Init() } /**************************************************************/ -NewGame() +NewGame(void) { register int x,y; @@ -163,8 +148,7 @@ NewGame() } /******************************************************************/ -DrawBox(t, l, d, w) -int t, l, d, w; +DrawBox(int t, int l, int d, int w) { register int x, y; @@ -185,7 +169,7 @@ int t, l, d, w; } /******************************************************************/ -DrawMenu() +DrawMenu(void) { register int y; erase(); @@ -224,7 +208,7 @@ DrawMenu() } /**************************************************************/ -Play() +Play(void) { int Type; /* Type specifies rotation, shape and color of blocks */ int Row; /* Row of pivot point of block */ @@ -325,7 +309,7 @@ Play() } /*********************************************************************/ -ScoreIt() +ScoreIt(void) { register int oldmask,fd,i,j; @@ -371,8 +355,7 @@ ScoreIt() } /***********************************************************************/ -DrawScore(highindex) -int highindex; +DrawScore(int highindex) { register int j; @@ -398,7 +381,7 @@ int highindex; } /*********************************************************************/ -Boss() +Boss(void) { register int x,y; clear(); @@ -412,7 +395,7 @@ Boss() } /*********************************************************************/ -GetKey() +GetKey(void) { int c; @@ -433,7 +416,7 @@ int x,y; } /*********************************************************************/ -TestRows() +TestRows(void) { register int x,y,tempy,fullrow; int marked[BOARD_HIGH]; @@ -483,7 +466,7 @@ TestRows() } /***********************************************************/ -Leave() +Leave(void) { erase(); #ifdef CHATTY @@ -495,3 +478,20 @@ Leave() endwin(); exit(0); } + +/**************************************************MAIN*****/ +main(argc, argv) +int argc; +char **argv; +{ + if (argc >= 2) + InitPause = atoi(argv[1]); + else + InitPause = 150; + Init(); + for ( ; ; ) { + NewGame(); + Play(); + DrawScore(ScoreIt()); + } +}