112 Turbo Pascal • Ćwiczenia praktyczne
begin
if (X+dX>-l) and (X+dX<-80) and (Y+dY>-l) and (Y+dY<-24) then begin
GoToXY (X, Y); Write (' ');
X X+dX; Y Y+dY;
GoToXY (X, Y); Write ('*'); end else begin
Sound(lOOO); Delay (100); NoSound; end
end; {---------------------------- Przesuń -}
begin
ClrScr;
GotoXY (1, 25);
Write ('W - góra, Z - doi, A - lewo, ',
'S - prawo, K - koniec');
X 1; Y 1;
Przesuń (O, 0);
repeat
Znak ReadKey; case Upcase(Znak) of
‘W' |
Przesuń |
(0, -1); |
• Z • |
Przesuń |
(0, 1); |
'A1 |
Przesuń |
(-1, 0); |
• S ■ |
Przesuń |
(1, 0); |
else | ||
begin |
Sound(lOOO); Delay (100); NoSound; end; end;
until Upcase(Znak)-1K'; end.
Za przesuwanie gwiazdki odpowiedzialna jest procedura Przesuń. Sprawdza ona, czynowe współrzędne będą mieściły się na ekranie (ostatni wiersz pozostawiamy na instrukcję) i jeżeli tak — dokonuje przesunięcia gwiazdki. Gdy wciśnięty jest nieprawidłowy klawisz lub chcemy przesunąć gwiazdkę poza ekran, rozlega się sygnał dźwiękowy.
Bardzo przydatnym typem, który mamy do dyspozycji w Pascalu, jest typ zbiorowy. Służy on do reprezentowania zbioru pewnych wartości istniejącego typu porządkowego, którego liczebność nie przekracza 256 elementów. Zbiory mają w związku z tym ograniczoną pojemność — mogą zawierać do 256 elementów. Na zbiorach można dokonywać operacji: dodawania elementów, usuwania elementów, sumowania zbiorów, znajdowania różnicy zbiorów, ich części wspólnej, sprawdzania, czy element należy do zbioru, czy jeden zbiór zawiera się w drugim, czy dwa zbiory są równe oraz czy są różne.
Deklaracja typu zbiorowego ma postać:
TZbior - set of TypPorzadkowy;