Zdravim. Učíme se programovat v programu Lazarus a zrovna děláme s želvou. Ale mám takový problém. Když udělám jedno tlačítko, které nakreslí dům a druhé, které nakreslí zelenou plochu pod domem, tak se pokaždé nakreslí na novou plochu. Takže když nakreslím dům a pak nakreslim zelenou plochu pod nim, tak se ten dum smaze a vykresli se jen ta zelena plocha a naopak. Nevíte kde je chyba? Zde posílám celý kod pro jistotu.
procedure TForm1.Button1Click(Sender: TObject);
var z: TZelva;
i: Integer;
begin
z:=TZelva.Create;
z.BP:=clGreen;
z.PresunXY(250, 280);
for i:=1 to 4 do
begin
z.Vpred(100);
z.Vlevo(90);
end;
z.Vlevo(90);
z.Vpred(100);
z.Vpravo(90);
for i:=1 to 3 do
begin
z.Vpred(100);
z.Vlevo(120);
end;
z.PN;
z.Vlevo(35);
z.Vpred(12);
z.Vypln(clRed);
z.Vpravo(90);
z.Vpred(25);
z.Vypln(clBlue); // domek
---
procedure TForm1.Button2Click(Sender: TObject);
var z: TZelva;
begin
z:=TZelva.Create;
z.BP:=clGreen;
z.PresunXY(1, 479);
begin
z.Vpred(640);
z.Vlevo(90);
z.Vpred(199);
z.Vlevo(90);
z.Vpred(640);
z.Vlevo(90);
z.Vpred(199);
z.Vlevo(90);
end;
z.PN;
z.Vlevo(35);
z.Vpred(10);
z.Vypln(clGreen); // zelena plocha
Zde jsou soubory pro Lazarus, je tam i ten unit soubor ZelvaUnit.pas
http://www.uloz.to/…871/ukol-rar
Díky předem za rady.