(************************************) (*Programm m„ng *) (*Programmeerija: Eva Liidaru m-21 *) (*13.12.97 *) (************************************) uses crt; const con = $0607; coff = $FFFF; kiirus : byte = 200; var plate, pikkus, pallix, palliy : byte; pallisuundxtelgepidi, pallisuundytelgepidi : shortint; punktid : word; procedure kursor(w : word); assembler; asm mov ah,1 mov cx,w int $10 end; procedure algus; begin clrscr; gotoxy(5,10); write('Tore, et tulid m„ngima. Kui sa ei taha kaotada, siis tea, et pall '); gotoxy(5,11); write('ei tohi platest allapoole minna. Plate asukohta juhid sina vastavalt'); gotoxy(5,12); write('vajadusele paremale väi vasakule klaviatuuril olevate nooleklahvidega'); gotoxy(5,13); write('Ka plate pikkuse m„„rad sina. Käige v„iksem plate pikkus on 5, käige'); gotoxy(5,14); write('suurem 15. Kui oled suutnud v„ltida palli alla kukkumist, saad 3 punkti'); gotoxy(5,15); write('Edu sulle!'); delay(18000); end; procedure joonista; var i:byte; jama : integer; begin clrscr; write('Kui pikk on plate?'); repeat {$I-} readln(pikkus); {$I+} jama:=ioresult; until (jama=0) and (pikkus in [5..15]); clrscr; kursor(coff); textcolor(lightred); gotoxy(10,1); for i:=1 to 50 do write(#219); for i:=1 to 20 do begin gotoxy(10,i); write(#219); gotoxy(59,i); write(#219); end; plate:=11+(50-pikkus) div 2; gotoxy(plate,21); for i:=1 to pikkus do write(#219); randomize; pallix:=random(48)+11; palliy:=2; pallisuundxtelgepidi:=1; pallisuundytelgepidi:=1; gotoxy(pallix,palliy); write(#15); punktid:=0; gotoxy(62,10); write('Punktid: ',punktid:6); end; procedure tegutse; var i : byte; begin repeat if keypressed then begin gotoxy(plate,21); write('':pikkus); case readkey of #0: case readkey of #77: if plate<(59-pikkus) then inc(plate); #75: if plate>11 then dec(plate); end; #27: break; end; gotoxy(plate,21); for i:=1 to pikkus do write(#219); mem[$41:$a]:=mem[$41:$c]; end else begin gotoxy(pallix,palliy); write(#15); delay(kiirus); gotoxy(pallix,palliy); write(' '); inc(pallix,pallisuundxtelgepidi); inc(palliy,pallisuundytelgepidi); if (pallix>57) or (pallix<12) then pallisuundxtelgepidi:=-pallisuundxtelgepidi; if (palliy<3) then pallisuundytelgepidi:=-pallisuundytelgepidi; if ((palliy>19) and ((pallix>plate) and (pallix<(plate+pikkus)))) then begin pallisuundytelgepidi:=-pallisuundytelgepidi; punktid:=punktid+3; gotoxy(71,10); write(punktid:6); dec(kiirus); end; end; until (palliy>19) and (pallisuundytelgepidi=1); gotoxy(pallix+pallisuundxtelgepidi,palliy+pallisuundytelgepidi); write(#15); sound(300); gotoxy(35,12); Writeln('Paanika....'); delay(900); nosound; readkey; textcolor(7); clrscr; end; begin asm mov al, 05 mov ah, 03 xor bx, bx int 16 end; algus; joonista; tegutse; kursor(con); end.