{ KURZOR.PAS } { Editor na kreslenie pomocou hviezdiciek. } { Pohyb kurzora sipkami. } { 0-9 - zmena farby, sift+sipky - kresli, enter - koniec. } { } { Author: Juraj Pupak } { Date : 27.10.2006 http://www.trsek.com } program Kurzor; uses crt,drivers; var x,y : integer; Quit : Boolean; farba : integer; KeyChar : Char; Procedure zobraz(Var x,y,farba : integer); begin gotoxy(x,y); textcolor(farba); write('*'); end; Procedure zmaz(Var x,y : integer); begin gotoxy(x,y); textcolor(0); write('*'); end; begin clrscr; x := 1; y := 3; farba := 7; textcolor(15); writeln('Pohyb kurzora sipkami. 0-9 - zmena farby, sift+sipky - kresli, enter - koniec'); writeln('-----------------------------------------------------------------------------'); Repeat KeyChar := ReadKey; Quit := False; Case Ord(KeyChar) OF 0 : begin KeyChar := ReadKey; Case Ord(KeyChar) Of 72:begin if GetShiftState and kbLeftShift = 0 then zmaz(x,y); y := y - 1; IF y <= 1 THEN y := 1; zobraz(x,y,farba); end; 80:begin if GetShiftState and kbLeftShift = 0 then zmaz(x,y); y := y + 1; IF y >= 50 THEN y := 50; zobraz(x,y,farba); end; 75:begin if GetShiftState and kbLeftShift = 0 then zmaz(x,y); x := x - 1; IF x <= 1 THEN x := 1; zobraz(x,y,farba); end; 77:begin if GetShiftState and kbLeftShift = 0 then zmaz(x,y); x := x + 1; IF x >= 79 THEN x := 79; zobraz(x,y,farba); end; end; end; 13 : Quit := True; 48 : farba := 0; 49 : farba := 1; 50 : farba := 2; 51 : farba := 3; 52 : farba := 4; 53 : farba := 5; 54 : farba := 6; 55 : farba := 7; 56 : farba := 8; 57 : farba := 9; end; until Quit; end.