| Class TTETRIS (unit T_TETRIS) |
TGraphicControl
| Constructors |
Constructor Create(AOwner:TComponent);*********************************************
| Functions |
FUNCTION GET_FREE_LINES(SEE:BOOLEAN):INTEGER;
PROCEDURE INSERT_LINE(X:INTEGER;C:TCOLOR);
FUNCTION MOVE_DOWN:INTEGER;RESTITUISCE 0 SE IL PEZZO E' STATO ABBASSATO 1 SE SI E' FERMATO 2 SE DOPO CHE SI E' FERMATO E' FINITA LA PARTITA
FUNCTION MOVE_LEFT:BOOLEAN;
PROCEDURE MOVE_PREVIEW(X,Y:INTEGER);
FUNCTION MOVE_RIGHT:BOOLEAN;
PROCEDURE NEW_GAME;INIZIALIZZA LA NUOVA PARTITA
PROCEDURE ROTATE_LEFT;
PROCEDURE ROTATE_RIGHT;
FUNCTION SEND_BOTTOM:INTEGER;
PROCEDURE SET_PIECE(X,Y:INTEGER;C:TCOLOR);QUADRATO(X,Y) AGGIUNGE UN QUADRETTO DI COLORE C NELLA POSIZIONE X,Y.
procedure Paint;
FUNCTION CAN_MOVE(CONST DOVE,X,Y:INTEGER):BOOLEAN;
PROCEDURE DISEGNA_PEZZO(CONST X,Y:INTEGER;CONST VEDI:BOOLEAN);
FUNCTION FULL_LINES(DA:INTEGER):INTEGER;
procedure MakeObj(const N:integer);
PROCEDURE MAKE_SCREEN;
PROCEDURE NOT_DELETED_COUNT(VALUE:INTEGER);
PROCEDURE NOT_PIECE_COUNT(VALUE:INTEGER);
PROCEDURE P(X,Y:INTEGER;C:TCOLOR);
FUNCTION POSI(KX,KY,JX,JY:INTEGER):BOOLEAN;
PROCEDURE QUADRATO(X,Y:INTEGER;C:TCOLOR);
PROCEDURE RUOTA_PEZZO(CONST N,X,Y:INTEGER;VAR PEZZ:PEZZO);
PROCEDURE SALVA_PEZZO(KX,KY:INTEGER);
PROCEDURE SET_BK_COLOR(VALUE:TCOLOR);
PROCEDURE SET_BLOCK_TYPE(VALUE: TBLOCKTYPE);
PROCEDURE SET_CAPTION(VALUE:TCAPTION);
PROCEDURE SET_NEXT_PIECE(VALUE:INTEGER);
PROCEDURE SET_N_TYPE(VALUE:INTEGER);
PROCEDURE SET_P_SIZE(S:INTEGER);
PROCEDURE SET_SCREEN(VALUE:INTEGER);
PROCEDURE SET_SFC(VALUE:BOOLEAN);
PROCEDURE SET_SIL(VALUE:BOOLEAN);
PROCEDURE SET_SNP(VALUE:BOOLEAN);
PROCEDURE SET_SQUARE_DIM(VALUE:INTEGER);
PROCEDURE SHOW_NEXT;| Properties |
property BackGroundColor : TCOLOR
property Blocktype : TBLOCKTYPE
property LastDeletedLine : INTEGER
property NextPiece : INTEGER
property NumberOfPieces : INTEGER
property NumberOfType : INTEGER
property PreviewCaption : TCAPTION
property PreviewSize : INTEGER
property ScreenNumber : INTEGER
property ShowBorderColor : BOOLEAN
property ShowFillColor : BOOLEAN
property ShowNextpiece : BOOLEAN
property SquareDimension : INTEGER| Events |
| Variables |
BLOCK_TYPE : TBLOCKTYPE;
CX : INTEGER;
CY : INTEGER;
DELETED_L : INTEGER;
F_PREW : TFORM;
NULL_COLOR : TCOLOR;
N_TYPE : INTEGER;
PEZ : PEZZO;
Piece : ARRAY[1..2] OF integer;
P_CAPT : TCAPTION;
P_COUNT : INTEGER;
P_SIZE : INTEGER;
SCR_N : INTEGER;
SFC : BOOLEAN;
SIL : BOOLEAN;
SIZEX : INTEGER;
SIZEY : INTEGER;
SNP : BOOLEAN;
SQX : INTEGER;
Vet : array[0..TETRIS_COLUMNS,0..TETRIS_LINES] of TCOLOR;| Constructors |
Constructor Create(AOwner:TComponent);Public declarations
*********************************************
| Functions |
FUNCTION GET_FREE_LINES(SEE:BOOLEAN):INTEGER;TRUE SE IL PEZZO VIENE SPOSTATO
PROCEDURE INSERT_LINE(X:INTEGER;C:TCOLOR);
FUNCTION MOVE_DOWN:INTEGER;INIZIALIZZA IL GIOCO RUNTIME PER MUOVERE IL PEZZO
RESTITUISCE 0 SE IL PEZZO E' STATO ABBASSATO 1 SE SI E' FERMATO 2 SE DOPO CHE SI E' FERMATO E' FINITA LA PARTITA
FUNCTION MOVE_LEFT:BOOLEAN;TRUE SE IL PEZZO VIENE SPOSTATO
PROCEDURE MOVE_PREVIEW(X,Y:INTEGER);
FUNCTION MOVE_RIGHT:BOOLEAN;TRUE SE IL PEZZO VIENE SPOSTATO
PROCEDURE NEW_GAME;destructor Destroy; override;
INIZIALIZZA LA NUOVA PARTITA
PROCEDURE ROTATE_LEFT;
PROCEDURE ROTATE_RIGHT;
FUNCTION SEND_BOTTOM:INTEGER;
PROCEDURE SET_PIECE(X,Y:INTEGER;C:TCOLOR);RUNTIME PER MODIFICARE LE IMPOSTAZIONI DELLO SCHERMO
QUADRATO(X,Y) AGGIUNGE UN QUADRETTO DI COLORE C NELLA POSIZIONE X,Y. SE Y=-1 VIENE AGGIUNTO NELL'ULTIMA POSIZIONE LIBERA PARTENDO DALL'ALTO.
procedure Paint;Protected declarations
FUNCTION CAN_MOVE(CONST DOVE,X,Y:INTEGER):BOOLEAN;RESTITUISCE TRUE SE E' POSSIBILE MUOVERE IL PEZZO NELLA DIREZIONE INDICATA DA DOVE (BASSO, DESTRA, SINISTRA
PROCEDURE DISEGNA_PEZZO(CONST X,Y:INTEGER;CONST VEDI:BOOLEAN);SE ESCE DALLO SCHERMO NON E' VALIDO
FUNCTION FULL_LINES(DA:INTEGER):INTEGER;CONTROLLA (ED ELIMINA) LE RIGHE PIENE
procedure MakeObj(const N:integer);
PROCEDURE MAKE_SCREEN;PAINT;
PROCEDURE NOT_DELETED_COUNT(VALUE:INTEGER);
PROCEDURE NOT_PIECE_COUNT(VALUE:INTEGER);
PROCEDURE P(X,Y:INTEGER;C:TCOLOR);CONTROLLA CE NON SIA SU UN PEZZO ESISTENTE
FUNCTION POSI(KX,KY,JX,JY:INTEGER):BOOLEAN;CONTROLLA CHE DOPO LA TRASLAZIONE IL CORRISPONDENTE DELLA MATRICE PRINCIPALE SIA VUOTO
PROCEDURE QUADRATO(X,Y:INTEGER;C:TCOLOR);INVALIDATE;
PROCEDURE RUOTA_PEZZO(CONST N,X,Y:INTEGER;VAR PEZZ:PEZZO);If fBitmap<>nil then Canvas.StretchDraw(ClientRect,fbitmap);
PROCEDURE SALVA_PEZZO(KX,KY:INTEGER);SALVA LA POSIZIONE DEL PEZZO DOVE SI E' FERMATO
PROCEDURE SET_BK_COLOR(VALUE:TCOLOR);
PROCEDURE SET_BLOCK_TYPE(VALUE: TBLOCKTYPE);
PROCEDURE SET_CAPTION(VALUE:TCAPTION);
PROCEDURE SET_NEXT_PIECE(VALUE:INTEGER);INSERISCE LA LINEA
PROCEDURE SET_N_TYPE(VALUE:INTEGER);
PROCEDURE SET_P_SIZE(S:INTEGER);
PROCEDURE SET_SCREEN(VALUE:INTEGER);
PROCEDURE SET_SFC(VALUE:BOOLEAN);
PROCEDURE SET_SIL(VALUE:BOOLEAN);procedure fSetBitmap(Value: TBitmap);
PROCEDURE SET_SNP(VALUE:BOOLEAN);
PROCEDURE SET_SQUARE_DIM(VALUE:INTEGER);
PROCEDURE SHOW_NEXT;procedure TTETRIS.fSetBitmap(Value: TBitmap); Begin FBitmap.Assign(Value); Invalidate; End;
| Properties |
property BackGroundColor : TCOLOR
property Blocktype : TBLOCKTYPE
property LastDeletedLine : INTEGER
property NextPiece : INTEGER
property NumberOfPieces : INTEGERPublished declarations
property NumberOfType : INTEGER
property PreviewCaption : TCAPTION
property PreviewSize : INTEGER
property ScreenNumber : INTEGER
property ShowBorderColor : BOOLEAN
property ShowFillColor : BOOLEAN
property ShowNextpiece : BOOLEAN
property SquareDimension : INTEGER| Events |
| Variables |
BLOCK_TYPE : TBLOCKTYPE;
CX : INTEGER;
CY : INTEGER;
DELETED_L : INTEGER;TIPO SCHERMO
F_PREW : TFORM;
NULL_COLOR : TCOLOR;
N_TYPE : INTEGER;
PEZ : PEZZO;
Piece : ARRAY[1..2] OF integer;DIMENSIONI PREW
P_CAPT : TCAPTION;Private declarations
P_COUNT : INTEGER;VISUALIZZA IL COLORE DI RIEMPIMENTO
P_SIZE : INTEGER;FORM PREW
SCR_N : INTEGER;
SFC : BOOLEAN;WISUALIZZA IL CONTORNO DEL PEZZO
SIL : BOOLEAN;VISUALIZZA IL PROSSIMO PEZZO
SIZEX : INTEGER;CONTATORE PEZZI
SIZEY : INTEGER;
SNP : BOOLEAN;NUMERO DI PEZZI fBitmap: TBitmap;
SQX : INTEGER;ULTIME RIGHE CANCELLATE. <0 PER NUOVO PEZZ0
Vet : array[0..TETRIS_COLUMNS,0..TETRIS_LINES] of TCOLOR;POSIZIONE DEL PEZZO