Jak to jest z koordami

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Jak to jest z koordami

Post by MasterKiller »

UWAGA SPOILERY JAK KTOŚ CHCE KIEDYŚ CZERPAĆ 100% PRZYJEMNOŚCI Z MOJEGO MODA KTÓRY KIEDYŚTAM WYJDZIE NIE CZYTAĆ!!!!!!!!!!!!! :D

Kto grał w H-L pewnie pamięta, że któregoś tam wielkiego mecha rozwalało się wychodząc na taki silos, a z niego nawigowało się dwoma wajchami czymś niby radarem - jedna odpowiadala za oś pionowa, druga za pozioma, a w punkcie przeciecia spuszczała się bomba :D

Postanowiłem podobny mechanizm zaimplementować w jednej z misji, ale jest pewien problem, otóż o ile w większości położeń działa to dobrze:

Image
Image

to gdy jeden z pojazdów - wyznaczników ma dir = 0 lub 3(czyli lezy na osi y = ax+b);
to wybuchy są dziwnie przesunięte, albo w lewo, albo prawo, na osi X:

Image

Tak wyglada zwrot koordynantów:

Code: Select all

export function TryGetXY;
var a1, a2, b1, b2, x, y;
begin
     Case (GetDir(przek1)) of
     0:begin
            a1 = -1;
            b1 = GetY(przek1) - (a1 * GetX(przek1));
     end;
     1:begin
            a1 = 0;
            b1 = GetY(przek1);
     end;
     2:begin
            a1 = 1;
            b1 = GetY(przek1) - (a1 * GetX(przek1));
     end;
     3:begin
            a1 = -1;
            b1 = GetY(przek1) - (a1 * GetX(przek1));
     end;
     4:begin
            a1 = 0;
            b1 = GetY(przek1);
     end;
     5:begin
            a1 = 1;
            b1 = GetY(przek1) - (a1 * GetX(przek1));
     end;
     end;

     Case (GetDir(przek2)) of
     0:begin
            a2 = -1;
            b2 = GetY(przek2) - (a2 * GetX(przek2));
     end;
     1:begin
            a2 = 0;
            b2 = GetY(przek2);
     end;
     2:begin
            a2 = 1;
            b2 = GetY(przek2) - (a2 * GetX(przek2));
     end;
     3:begin
            a2 = -1;
            b2 = GetY(przek2) - (a2* GetX(przek2));
     end;
     4:begin
            a2 = 0;
            b2 = GetY(przek2);
     end;
     5:begin
            a2 = 1;
            b2 = GetY(przek2) - (a2*GetX(przek2));
     end;
     end;

    if not (a1 = a2) then //and IsInUnit(przek1) and IsInUnit(przek2) then
       begin
            x = (b2 - b1)/(a1 - a2);
            //if (GetDir(przek1) = 0 or GetDir(przek2) = 0) and
                    
            y = (a1 * x) + b1;

             if x > 1 and y > 1 then
             Result := [x, y] else
             Result := [0, 0];
       end else
             Result := [0, 0];
end;
przek1 i przek2 to oczywiscie 2 czolgi. Próbowałem coś korygować iksa(to zakomentowane) i zrobilem nawet funkcje dajaca odleglosc punktu od prostej, ale nie bardzo to wychodzilo.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
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:

Re: Jak to jest z koordami

Post by Serpent »

Wybuchy są przesunięte bo mapa OW jest skonstruowana inaczej niż może to się wydawać. Kiedyś Gwren dokładnie opisał jak rozłożone są hexy na mapie w OW.

Musisz jeszcze nad tym posiedzieć :P
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
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Jak to jest z koordami

Post by MasterKiller »

Aha, ok, tylko gdzie i kiedy? Bo nie znajduje mi takiego użytkownika jak Gwren(on tam jakoś inaczej sie chyba nazywal, ale nie pamietam :D)
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
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:

Re: Jak to jest z koordami

Post by Serpent »

Gwren1 na OWS (albo jakoś tak), a o tych hexach to chyba pisał na grupie OW na FB.
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
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Jak to jest z koordami

Post by MasterKiller »

Tak w ogóle nie zauważyłem że porypałem działy :D można przenieść, jak się da, panie Moderatorze.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
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:

Re: Jak to jest z koordami

Post by Serpent »

Naszkicowałem ci jak to mniej więcej wygląda.

Linie X'ów idą normalnie w poziomie od lewej do prawej. Natomiast Y'ki wychodzą pod kątem ostrym (mniej więcej 45 stopni) do linii X'ów (patrz rysunek).

Image
Attachments
Untitled-1.png
(113.96 KiB) Not downloaded yet
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
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Jak to jest z koordami

Post by MasterKiller »

Szaleństwo :D Że też chciało im się tak robić zamiast normalnego układu współrzędnych. Jakby tego było mało, zaczyna się w prawym górnym zamiast jak zazwyczaj, w prawym dolnym :) Ale dzięki za pomoc, aktualnie sie ucze, to jutro mam nadzieje, ze uda mi sie to ogarnac :)
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
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:

Re: Jak to jest z koordami

Post by Serpent »

Hmm, a jak inaczej byś ułożył hexagony? xD

Jeżeli dać je jeden pod drugim tak to wtedy nie stykały by się ze sobą żadną ścianą i wszystkie algorytmy w grze trzeba by było inaczej napisać :P
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
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Jak to jest z koordami

Post by MasterKiller »

Chodziło mi o to, żeby w ogóle czemu stosowali hexy zamiast kwadratów :D
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Xander
Soldier level 6
Soldier level 6
Posts: 359
Joined: Sun Jan 05, 2014 10:48 pm

Re: Jak to jest z koordami

Post by Xander »

bo nie potrafili zrobić, aby postać się obracała w północny-wschód.

gdyby były kwadraty zamiast hexów, postacie by obracały się tylko w 4 strony, zamiast w 6. jak i ułożenie wieżyczek też by mogły być w 4 strony, a nie w 6.

zresztą, sześciokąty były wtedy modne.
Creative wrote:Chodziło mi o to że sam przerabiam zrobione mapy. (budynki, ludki itd)
A co do saila to przecież sam muszę wklejać.
Image

https://trello.com/b/QkpOj7p7/nefarems-history
Post Reply