I really appreciate your efforts.
Sorry, but the first time I tried to compile I got the following number of warnings:
Harbour 3.2.0 (r2607071000)
Copyright (c) 1999-2026,
https://harbour.github.io/tetris_piece.prg(68) Warning W0001 Ambiguous reference 'TTETROMINO'
No code generated.
tetris_board.prg(229) Warning W0001 Method <ShiftLinesDown( nRow )> not declared or declaration mismatch in class <TBoard>
No code generated.
tetris.prg(43) Warning W0006 Procedure returns value
i18n.prg(266) Warning W0005 RETURN statement with no return value in function
tetris.prg(222) Warning W0006 Procedure returns value
tetris.prg(255) Warning W0006 Procedure returns value
tetris.prg(285) Warning W0006 Procedure returns value
tetris.prg(304) Warning W0006 Procedure returns value
tetris.prg(323) Warning W0006 Procedure returns value
tetris.prg(342) Warning W0006 Procedure returns value
tetris.prg(361) Warning W0006 Procedure returns value
No code generated.
hbmk2[demo]: Error: Running Harbour compiler job #1. 1
No code generated.
tetris_game.prg(267) Warning W0003 Variable 'HDC' declared but not used in function 'TTETRISGAME_CHANGEBACKCOLOR(238)'
tetris_game.prg(267) Warning W0003 Variable 'BTSTRUCT' declared but not used in function 'TTETRISGAME_CHANGEBACKCOLOR(238)'
tetris_game.prg(509) Warning W0005 RETURN statement with no return value in function
No code generated.
Hope this helps improve the code.