Új hozzászólás Aktív témák

  • Tomi_78

    tag

    Sziasztok!
    Azt hiszem, valami nem jól működik ezekkel a ciklusokkal vagy én értelmezem rosszul. Tehát, van egy 2-dimenziós tömböm:
    terkep: array [0..7,0..7] of byte=(
      (0,0,0,1,0,0,0,0),
      (0,0,0,1,0,0,0,0),
      (0,0,0,1,0,0,0,0),
      (0,0,1,1,0,0,0,0),
      (0,0,1,0,0,0,0,0),
      (0,0,1,0,0,0,0,0),
      (0,0,1,1,0,0,0,0),
      (0,0,0,1,0,0,0,0)
      );

    egy így átméretezett TBitmap-em:
    palyakep.SetSize(Form1.width*2,Form1.height*2);
    és egy talajképem, ami eredetileg 256*256-os méretű volt, de most:
    talajkep.SetSize(palyakep.width div 8,palyakep.height div 8);
    Ebből a 2d-s tömbből rajzolnám ki a 0-s helyekre a talajképet, az 1-esekre pedig egy kék négyzetet (mert az egy folyó lenne mondjuk):
    for psz:=0 to 7 do
                       for pm:=0 to 7 do
                       begin
                       case terkep[pm,psz] of
                            0: begin
            palyakep.canvas.draw(psz*talajkep.width,pm*talajkep.height,talajkep);

    end;
                              1: begin
                                      palyakep.Canvas.Brush.Color:=clBlue;
                                      palyakep.canvas.fillrect(psz*talajkep.width,pm*talajkep.height,psz*talajkep.width+talajkep.width,pm*talajkep.height+talajkep.height);
                                      //palyakep.canvas.textout(iderakx,ideraky,'Sz.: '+inttostr(psz*talajkep.width+talajkep.width)+' M.: '+inttostr(pm*talajkep.height+talajkep.height));
                                 end;
                       end;
                       end;
    Egyrészt nem értem, hogy a case terkep[pm,psz] of kifejezésben miért kell megcserélnem a pm-et a psz-szel, hogy ne fektetve rajzolja ki a dolgokat, másrészt miért vannak fekete helyközök a talajképek között? Mert ha jól számolom, akkor minden talajképnek szorosan egymás mellett kellene lennie: ha pl. 400 a szélessége, akkor psz=0 esetén 0 X helyre rakódik ki és 400 a szélessége, psz=1 esetén 400*1=400-zal arrébb, és 800-nál van a vége (+400), stb. tehát elvileg mindig egymás mellett. De ha futtatom, akkor az a helyzet, mint a képen:

    Miért vannak ezek a fekete foghíjak? Rossz a ciklus? Vagy a mérete rossz a talajképnek?

Új hozzászólás Aktív témák