SAIL - GetFacExtDir (pobieranie rozbudów nieistniejącej fb.)

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

SAIL - GetFacExtDir (pobieranie rozbudów nieistniejącej fb.)

Post by Serpent »

Napisałem funkcję która podaje nam wszystkie niezbędne informacje potrzebne do budowy 5 rozbudów do fabryki.

Code: Select all

Export Function GetFacExtDir(x, y, dir);
var list, i;
begin
list := [];

     Case dir of
     0: begin
        list := [[x-4, y-4, 2], [x-3, y, 1], [x+4, y, 4], [x+3, y+3, 5], [x, y+4, 0]];
        end;
     1: begin
        list := [[x, y-4, 3], [x-3, y-3, 2], [x-3, y, 1], [x, y+3, 0], [x+4, y+4, 5]];
        end;
     2: begin
        list := [[x, y-3, 3], [x+3, y, 4], [x, y+4, 0], [x-3, y, 1], [x-4, y-4, 2]];
        end;
     3: begin
        list := [[x+3, y, 4], [x+4, y+4, 5], [x-4, y, 1], [x, y-4, 3], [x-3, y-3, 2]];
        end;
     4: begin
        list := [[x, y+4, 0], [x+3, y+3, 5], [x+3, y, 4], [x, y-3, 3], [x-4, y-4, 2]];
        end;
     5: begin
        list := [[x-4, y, 1], [x, y-4, 3], [x+4, y+4, 5], [x+3, y, 4], [x, y+3, 0]];
        end;
     End;

result := list;
End;
Jako parametry funkcja przyjmuje koordynaty fabryki oraz jej kierunek. Zwraca natomiast listę z koordynatami i kierunkami dla rozbudów.

Fabryka nie musi istnieć żeby zostały zwrócone koordynaty rozbudów.


Poniżej funkcja testująca:

Code: Select all

Export Function CreateFactoryWithExt(x, y, d); // test function
var i, list, fac;
begin
list := GetFacExtDir(x, y, d);


    uc_side := 1;
    uc_nation := 1;
    bc_type = b_factory;
    fac = CreateAndPlaceBuildingXYD(x, y, d);
        

    for i = 1 to 5 do
        begin
        bc_type = [b_ext_laser, b_ext_gun, b_ext_radar, b_ext_noncombat, b_ext_rocket][i];
        CreateAndPlaceBuildingXYD(list[i][1], list[i][2], list[i][3]);
        display_strings := list[i];
        Wait(0$01);
        end;
End;
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Post Reply