Code:
procedure TTheProbe.LoadLevel;
var
w,h,x,y: Integer;
c: Char;
sl: TStringList;
begin
sl := TStringList.Create;
try
{
sl.Add('TTTTTTTTTTTTTTTTTTT');
sl.Add('T.................T');
sl.Add('T...O ...........T');
sl.Add('T...OP...C..2C..C.T');
sl.Add('TTTTO TT ..W ....T');
sl.Add('T1OTTT.T. ... ....T');
sl.Add('TT...T.TW ... ..D T');
sl.Add('TT.TTT... ... .. T');
sl.Add('TW.W..............T');
sl.Add('TT.CT...... O.. T');
sl.Add('T...T........O.. DT');
sl.Add('T.......... O....T');
sl.Add('TTTTTTTTTTTTTTTTTTT');}
{ sl.Add('TTTTTTTTTTTTTTTTTTTTTTT');
sl.Add('TO333OO11 O T');
sl.Add('TO111OW12 d O1 T');
sl.Add('TO222OW13 311 T');
sl.Add('TWOOOW11W TWWWWT');
sl.Add('TWWPWW W WRWWWT');
sl.Add('T WRW T');
sl.Add('TOOOOOT WRW T');
sl.Add('TOOOOOT WRW T');
sl.Add('TOOOOOT WRW DT');
sl.Add('TAAAAAT RRRRRRRRRRR CT');
sl.Add('TTTTTTTTTTTTTTTTTTTTTTT');}
sl.Add('TTTTTTTTTTTTTTTTTTTTTTTT');
sl.Add('T T');
sl.Add('T TTTTTTTTTTTTTTTTTTTT T');
sl.Add('T TOOOOOOOOOOOOOOOOOOT T');
sl.Add('T TDDDDDDDDDDDDDDDDDDT T');
sl.Add('T TCCCCCCCCCCCCCCCCCCT T');
sl.Add('T TDDDDDDDDDDDDDDDDDDT T');
sl.Add('T TCCCCCCCCCCCCCCCCCCT T');
sl.Add('T TCCCCCCCCCCCCCCCCCCT T');
sl.Add('T T444444444444444444T T');
sl.Add('T T411122233322211114T T');
sl.Add('T T444444444444444444.PT');
sl.Add('T TTTTTTTTTTTTTTTTTTTT T');
sl.Add('T T');
sl.Add('TTTTTTTTTTTTTTTTTTTTTTTT');
{
sl.Add('TTTTTTTTTTTTTTTTTTT');
sl.Add('TOOOOOOOOOOOOOOOOOT');
sl.Add('TOOOOOOOOOOOOOOOOOT');
sl.Add('TDDDDDDDDDDDDDDDDDT');
sl.Add('TDDDDDDDDDDDDDDDDDT');
sl.Add('TDDDDDDDDDDDDDDDDDT');
sl.Add('TDDDDDDDDDDDDDDDDDT');
sl.Add('TDDDDDDDDDDDDDDDDDT');
sl.Add('T22222222222222222T');
sl.Add('T22222222222222222T');
sl.Add('TP1111111111111111T');
sl.Add('TTTTTTTTTTTTTTTTTTT');
}
w := Length(sl.Strings[0]);
h := sl.Count;
FBDCEngine.SetBounds(3,w,h);
for y := 0 to h - 1 do
for x := 0 to w - 1 do
begin
c := sl.Strings[y][x + 1];
case c of
'.' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjDirt);
'W' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjBrickWall);
'O' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjRockStationary);
'1' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCrystal1Stationary);
'2' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCrystal2Stationary);
'3' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCrystal3Stationary);
'4' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCrystal4Stationary);
'5' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCrystal5Stationary);
'T' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjTitaniumWall);
'A' : FBDCEngine.SetObjectAt(cMaxLayer,Position(x,y),cObjAcidFull);
'd' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjTLSDeflector_u);
'P' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjProbe);
'R' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjRadioactiveStationary);
'V' : FBDCEngine.SetObjectAt(cLowestLayer,Position(x,y),cObjVortex);
'C' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjCruiser_d);
'D' : FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjDrone_u);
else
FBDCEngine.SetObjectAt(cMainLayer,Position(x,y),cObjSpace);
end;
end;
finally
sl.Free;
end;
end;
I will post some more example screenshots later today of some test levels
Bookmarks