pondělí 15. února 2010

Opravdová grafika

Následující program využívá jednotku GRAPH. To jsou příkazy, které nebyly součástí původního Pascalu. Byly dopsány z pohodlnosti, protože ne každému se chce malovat čáru tak, že naprogramuje cyklus pokládající do řady za sebe bod po bodu. Jednodušší jistě je napsat něco jako LINE (souradnice zacatku, souradnice konce).
Tato ukázka namaluje 5 soustředných kružnic



program grafika;
uses CRT,Graph;
var  Ovladac,Rezim: integer;

       Gd, Gm: Integer;
       Radius: Integer;


begin
  Ovladac:=0;                      {autodetekce typu a rezimu gr.ovladace}
  InitGraph(Ovladac,Rezim,'G:\Software\Jazyky\TURBO7\BGI');
(* tohle je nutno modifiovat dle konkrétní instalace Pascalu *)
  cleardevice;


  if GraphResult <> grOk then
    Halt(1);



(* tady je vlastní část zadávající příkazy pro grafiku*)


{Circle.PAS}

{Vzorový příklad pro proceduru Circle.}

  for Radius := 1 to 5 do
    Circle(100, 100, Radius * 10);



   readkey;
   closegraph;
end.

----
level 1:
úkol na počest zlaté olympijské medaile Martiny Sáblíkové:
Modifikujte tento program tak, aby namaloval olympijské kruhy. Šplhouni to budou mít ve správných barvách kružnic.

---
level 2:
Pomocí pascalího helpu vymyslete a namalujte zelený čtvereček, modrý obdélníček, žlutý trojúhelníček.

nápověda:


var
  GraphDriver, GraphMode: Integer;
  X1, Y1, X2, Y2: Integer;


  Randomize;
  repeat
    X1 := Random(GetMaxX);
    Y1 := Random(GetMaxY);
    X2 := Random(GetMaxX - X1) + X1;
    Y2 := Random(GetMaxY - Y1) + Y1;
    Rectangle(X1, Y1, X2, Y2);
  until KeyPressed;

PS:
RANDOMIZE je "zamíchání kostek" (tedy generátoru náhodných čísel)
RANDOM je vyvolání náhodného čísla z rozsahu 0 až maximální možné X či Y



Žádné komentáře:

Okomentovat