Contributor: JONAS EMIL M. ENRIQUEZ
program Macarena;
{
Programmed by: Jonas Emil M. Enriquez (jeme@gsilink.com)
Based from the text graphics of Buhrnheim (buhrn@DADOSNET.COM.BR)
}
uses crt,dos;
type STR03 = STRING[3];
const Dance : array[1..3,1..16] of STR03 =
((' o ', ' o ', ' o ', ' o ', ' o ', ' o ', '', ' o>', ' o ', ' o ', ' o ', ' o ', ' o ', ' o ', ' o '),
('^|\', '^|^', 'v|^', 'v|v', '|/v', '|X|', ' \|', ' | ', ' \ ', ' x ', ' ', '<|>', '>', '<\>', '<)>', ' |\'),
(' /\', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', ' >>', ' L '));
var x : byte;
Reg : registers;
procedure Norm_Cursor;
begin
Reg.AH := $01;
Reg.CH := $06;
Reg.CL := $07;
intr($10, Dos.registers(Reg));
end;
procedure Cursor_Off;
begin
Reg.AH := $01;
Reg.CH := $0F;
Reg.CL := $00;
intr($10, Dos.registers(Reg));
end;
begin
Clrscr;
Cursor_Off;
GotoXY(27,14); Write('Mr. Ascii dancing Macarena...');
repeat
x := 1;
repeat
GotoXY(39,10); Write(Dance[1,x]);
GotoXY(39,11); Write(Dance[2,x]);
GotoXY(39,12); Write(Dance[3,x]);
Delay(500);
x := x + 1;
until keypressed or (x>16);
until keypressed;
Norm_Cursor;
end.