FYI:
GitHub - royedmund/VMS-Tetris: Tetris written in VMS PASCAL for VT100 and above serial terminals
Tetris written in VMS PASCAL for VT100 and above serial terminals - royedmund/VMS-Tetris
github.com
FYI:
Hübsch, danke!
Kann jemand abschätzen, wieviel Aufwand eine Anpassung auf Turbo Pascal 3 (CP/M 80) wäre?
Kann jemand abschätzen, wieviel Aufwand eine Anpassung auf Turbo Pascal 3 (CP/M 80) wäre?
Puh. Das Tetris ruft folgende spezifischen Module auf:
[INHERIT( 'SYS$LIBRARY:STARLET', 'TETSHAPES', 'INTERACT' )]
Tetshapes ist dabei.
STARLET inthält
"Contains VMS system service definitions, LIB$ messages, MTH$ messages, OTS$ messages, SMG$ data structures and termtable, STR$ messages, RMS routine declarations, system symbolic names, and RMS data structures."
INTERACT vermutlich Dinge zur Terminal Steuerung. Kann aber dazu nichts im Netz finden hans kennst sich vielleicht aus?
Die Dinge die STARLET und INTERACT aufruft, müsste man dann durch die PC Sachen ersetzen.
die ersten zwei Prozeduren sind gute Beispiele.
Posn(6,9) wird wohl den Cursor setzen, wenn das so ist, wird man das wohl durch Turbo-Pascal "GotoXY" ersetzen müssen und so weiter....
PROCEDURE SetUpScreen;
BEGIN
Clear;
Set40Screen;
Box( (21-(grid_width DIV 2)),1, grid_width+2, grid_length+1,0,1 );
Box( 3,5, 12, 14, 0, 1 );
Posn(6,6);
QIO_Write('Score');
Posn(6,9);
QIO_Write('Lines');
Posn(6,12);
QIO_Write('Stage');
Posn(6,15);
QIO_Write('Next');
Posn( 30,8 );
QIO_Write( 'Lines Left:');
Posn(6,2);
QIO_Write( vt100_bright_only+'TETRIS!'+vt100_normal );
END;
{*****************************************************************************
** Message
**
** Write annoying little messages...
}
PROCEDURE Message ( msg : Line_Str_Type; no_clr : BOOLEAN );
BEGIN
IF no_clr THEN
BEGIN
Posn( 20 - ( LENGTH( msg ) DIV 2 ), 23 );
QIO_Write( msg );
END
ELSE
BEGIN
Posn( 1, 23 );
QIO_Write( vt100_esc + '[M'+ vt100_wide );
END;
END;
Kann jemand abschätzen, wieviel Aufwand eine Anpassung auf Turbo Pascal 3 (CP/M 80) wäre?
Für VIM gibt es ein Tetris-Script, vielleicht ist das für dich von Interesse?
Für VIM
Das ist aber sehr sehr weit von Turbo Pascal und/oder CP/M-80 entfernt....