Avatar billede jakob/cosmo Nybegynder
04. marts 2002 - 14:46 Der er 2 kommentarer

Gentage canvas :=HASTER:=

hej

Hvordan kan jeg køre denne procedure flere gange unden at k forbliver den samme for hver gentagelse

alså hver gang den kører skal variablen k have forskellige værdier.

den ser sådan ud:

Xu,Yu er erklæret globalt og Xu er sat til 0 og Yu er sat til 161 under Form1.onActivate


var k,i,X: Integer;
begin

    Randomize;
    k:=Random(3);
    if Xu >= 253 then
    begin
        Exit;
    end;
    if k = 2 then
    begin
        if Yu = 161 then
        begin
            Exit;
        end;
    end;
  case k of
    0: begin
          i:= Random(3);
          case i of
          0: X:= 10;
          1: X:= 25;
          2: X:= 40;
          end;
          IGraf.Canvas.MoveTo(Xu,Yu);
          IGraf.Canvas.LineTo(Xu + X,Yu - 20);
          Xu:= Xu + X;
          Yu:= Yu - 20;
          X:= 0;
        end;
    1: begin
          if Yu > 100 then
          begin
              Exit;
          end;
          i:= Random(3);
          case i of
          0: X:= 10;
          1: X:= 25;
          2: X:= 40;
          end;
          IGraf.Canvas.MoveTo(Xu,Yu);
          IGraf.Canvas.LineTo(Xu + X,Yu + 20);
          Xu:= Xu + X;
          Yu:= Yu + 20;
          X:= 0;
        end;
    2: begin
          IGraf.Canvas.MoveTo(Xu,Yu);
          IGraf.Canvas.LineTo(Xu + 20,Yu);
          Xu:= Xu + 20;
          Yu:= Yu;
        end;
  end;
end;
Avatar billede martinlind Nybegynder
04. marts 2002 - 14:54 #1
Flyt Randomize; ud i din OnActivate så den kun bliver kørt en gang

/Martin
Avatar billede hebo Nybegynder
04. marts 2002 - 16:57 #2
Hver gang du kører randomize vil den sætte den første random værdi til det samme...læs op på randomize i help så kan du se hvordan den fungerer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester