Class TTETRIS (unit T_TETRIS) |
Inherits from
TGraphicControl
Constructor Create(AOwner:TComponent);
- Public declarations
*********************************************
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 PEZZORESTITUISCE 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.
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.
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.
property BackGroundColor : TCOLOR
property Blocktype : TBLOCKTYPE
property LastDeletedLine : INTEGER
property NextPiece : INTEGER
property NumberOfPieces : INTEGER
Published 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
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.
Vet : array[0..TETRIS_COLUMNS,0..TETRIS_LINES] of TCOLOR;
POSIZIONE DEL PEZZO
Constructor Create(AOwner:TComponent);
Public declarations
*********************************************
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;
property BackGroundColor : TCOLOR
property Blocktype : TBLOCKTYPE
property LastDeletedLine : INTEGER
property NextPiece : INTEGER
property NumberOfPieces : INTEGER
Published 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
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