program SIMPLETRON;
uses LMS, crt;
var sn:char;
procedure MAIN; forward;
procedure redo; forward;
procedure randomcolor; forward;
procedure redo;
begin
writeln;writeln;
writeln('*** PRESS: ***');
writeln('*** ''0'' TO CLOSE SIMPLETRON ***');
writeln('*** ''1'' TO REPEAT THE EXECUTION ***');
writeln('*** ANY KEY TO LOAD A NEW PROGRAM ***');
sn:=readkey;
if sn = '1' then
begin
writeln;writeln;writeln;writeln;
ExeInstr;
redo;
end
else
begin
if (sn<>'0') then
begin
MAIN;
end;
end;
end;
procedure MAIN;
begin
randomcolor;
Caption;
GetInstr;
if InstrOK then
begin
ExeInstr;
redo;
if (sn<>'0') AND (sn<>'1') then
begin
MAIN;
end;
end
else
begin
writeln;writeln;
writeln('*** PRESS: ***');
writeln('*** ''0'' TO CLOSE SIMPLETRON ***');
writeln('*** ANY KEY TO LOAD A NEW PROGRAM ***');
sn:=readkey;
if (sn <> '0') then MAIN;
end;
clrscr;
end;
procedure randomcolor;
var color:byte;
begin
randomize;
repeat
color := random(16); //SELEZIONE CASUALE DEL COLORE
randomize;
until color<>7; //PER EVITARE CHE IL TESTO SIA DEL COLORE DELLO SFONDO DEL TERMINALE (BIANCO) 'COLOR' DEVE ESSERE DIVERSO DA 7
textcolor(color);
end;
begin
MAIN;
NormVideo;
end.