/*---------------------------------------------------------------------------
LABORATORIUM 5.
TEMAT: Wprowadzenie do grafiki - wykorzystanie podstawowych funkcji
modulu GRAPH
(*) Elementy animacji - wykorzystanie funkcji modulu GRAPH do uzyskania
ruchomych obrazow
----------------------------------------------------------------------------
ZADANIA:
A. Napisac dowolny program graficzny zawierajacy (przynajmniej) nastepujace
elementy:
1. inicjowanie trybu graficznego (dla roznych rozdzielczosci)
2. rysowanie prostych figur geometrycznych (rozne rodzaje linii,kolorow)
3. rysowanie tekstu (rozne rodzaje czcionek, wielkosci, wyrownania)
To moze byc "Demo" grafiki lub projekt strony tytulowej/autorskiej
wyswietlanej na poczatku programow napisanych przez danego studenta.
B. Napisac program realizujacy losowy (lub sterowany za pomoca klawiszy)
ruch obiektu (obrazka) po ekranie monitora (na podobnej zasadzie jak
w grach komputerowych).
KROK 1. Przygotowanie obrazow zawierajacych wyglad poruszajacego sie
obiektu w kolejnych fazach (klatkach) ruchu.
(Ruch obiektu bedzie animowany za pomoca cyklicznego wyswietlania
tak przygotowanych 'klatek').
KROK 2. Zapamietanie obrazow (utworzonych w poprzednim punkcie) w pamieci
komputera:
a) przydzial pamieci (malloc, imagesize, free)
b) pobieranie i odtwarzanie fragmentow obrazu "do pamieci"
i "z pamieci" za pomoca procedur: getimage, putimage
KROK 3. Animacja -> cykliczne wykonywanie nastepujacych operacji
1) zapamietanie tla
2) wyswietlenie i-tej 'klatki' w zadanym miejscu ekranu
3) opoznienie
4) odtworzenie tla
5) ewentualna modyfikacja tla
6) goto 1)
4. Miejsce wyswietlania kolejnych klatek moze byc zadawane za pomoca
klawiatury. W tym celu trzeba wykorzystac dwie zmienne pomocnicze
np. WSP_X, WSP_Y okreslajace miejsce wyswietlania klatek.
Wartosc zmiennych WSP_X, WSP_Y moze byc zmieniana w trakcie
animacji (zwiekszana lub zmniejszana) w zaleznosci od naciskanych
klawiszy.
np.
if keypressed then
begin
case readkey of
®kod klawiszaÅ» : operacja zmiany wartosci wspolrzednych
end;
end;
5. Aby uniknac "migotania" ekranu w trakcie zmiany jego zawartosci
mozna skorzystac z mozliwosci pracy na dwu "stronach" graficznych.
W takim przypadku na jednej ze stron moze byc przygotowywany
(rysowany) nastepny obraz a na ekranie wyswietlana jest zawartosc
drugiej strony (przygotowanej w poprzednim kroku). Po zakonczeniu
tworzenia obrazu nastepuje zamiana rol. Strona aktualnie widoczna
staje sie strona robocza (do przygotowania nastepnego rysunku)
i odwrotnie.
patrz funkcje: setvisualpage( int strona )
setactivepage( int strona )
--------------------------------------------------------------------------*/
Wyszukiwarka
Podobne podstrony:
LAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 LAB CLAB INF3 PROG LABLab cpplab 2T2 Skrypt do lab OU Rozdział 6 Wiercenie 3IE RS lab 9 overviewlab pkm 3lab chemia korozjalab tsp 3więcej podobnych podstron