program liikumine; uses crt; var x,y, kiirusx, kiirusy: integer; procedure kirjutaA(kx, ky: integer); begin gotoxy(kx, ky ); writeln(' * '); gotoxy(kx, ky+1); writeln(' *** '); gotoxy(kx, ky+2); writeln(' ***** '); gotoxy(kx, ky+3); writeln(' ******* '); gotoxy(kx, ky+4); writeln(' ********* '); gotoxy(kx, ky+5); writeln(' *********** '); gotoxy(kx, ky+6); writeln('*************'); gotoxy(kx, ky+7); writeln(' * '); gotoxy(kx, ky+8); writeln(' * '); end; procedure kirjutaB(kx, ky: integer); begin gotoxy(kx, ky+8); writeln('* * * * * * * '); gotoxy(kx, ky+8); writeln(' * * * * * * '); gotoxy(kx, ky ); writeln('* * * * * * * '); gotoxy(kx, ky+1); writeln(' * * * * * * '); gotoxy(kx, ky+2); writeln('* * * * * * '); gotoxy(kx, ky+3); writeln(' * * * * '); gotoxy(kx, ky+4); writeln('* * * * '); gotoxy(kx, ky+5); writeln(' * * * * '); gotoxy(kx, ky+6); writeln('* * * * '); gotoxy(kx, ky+7); writeln(' * * * * * * '); gotoxy(kx, ky+8); writeln('* * * * * * * '); gotoxy(kx, ky+8); writeln(' * * * * * * '); gotoxy(kx, ky+8); writeln('* * * * * * * '); end; begin clrscr; x:=35; y:=13; kiirusx:=2; kiirusy:=1; repeat if x<25 then kiirusx:=abs(kiirusx); if x>45 then kiirusx:=-abs(kiirusx); x:=x+kiirusx; if y<5 then kiirusy:=abs(kiirusy); if y>13 then kiirusy:=-abs(kiirusy); sound(400-10*y); y:=y+kiirusy; textcolor(green); kirjutaA(x,y); delay(80); textcolor(black); kirjutaA(x,y); textcolor(round(random(250))); kirjutaB(x-7,y); delay(40); until keypressed; TextMode(LastMode); Nosound; end.