Hi,
das gibts nicht !!
Ich lade ein Level aus einer Textdatei.
Wenn X:='~' dann soll er Strom zeichnen.
Wenn über(j-1), unter(j+1) oder neben(i-1, i+1) dem Strom eine Leerstelle ist (' ') dann soll er auch Boden zeichnen. Das funktioniert immer, außer bei unten(j+1)...
Obwohl das doch alles das gleiche Prinzip ist ...
So sieht z.B eine Textdatei aus (1=Mauer):
Delphi-Quellcode:
1111111111 1111111111
1 1 1 1
1 111 1 1 1~1 1
So klappts nicht -> 1 1~1 1 1 111 1 <- so schon
1 1 1 1
1111111111 1111111111
hier der Quelltext :
Delphi-Quellcode:
if X= '~' then begin
with TStrom.Create(DXSpriteEngine1.Engine) do // Animationsbild bei X,Y platzieren
begin
x:=i*32 -32;
y:=j*32;
end;
if (copy(levell[j],i-1,1) = ' ') or (copy(levell[j],i+1,1) = ' ')
or (copy(levell[j-1],i,1) = ' ') or (copy(levell[j+1],i,1) = ' ') then begin
with TBoden.Create(DXSpriteEngine1.Engine) do // Animationsbild bei X,Y platzieren
begin
x:=i*32 -32;
y:=j*32;
end;
end;
end;
und hier 2 Bilder :