SAIL - Operatory

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 - Operatory

Post by Serpent »

Operatory mają za zadanie tworzyć jakąś korelacje pomiędzy warunkami, przykładowo jeśli chcemy aby kod wykonał się dopiero po osiągnięciu kilku warunków to operatory służą właśnie do tego.

Przykład #1:
Niech kod wykona się jeżeli zbadane są 3 technologie.

Code: Select all

Every 0$01 trigger (GetTech(tech_sib1, 1) = state_researched and GetTech(tech_sib2, 1) = state_researched and GetTech(tech_sib3, 1) = state_researched) do
begin
// kod
End;
Użyty tutaj został operator łączenia AND który blokuje kod dopóki wszystkie 3 warunki nie zostaną spełnione.

Przykład #2
Niech kod wykona się jeśli jedna z dwóch osób nie żyje.

Code: Select all

Every 0$01 trigger IsDead(osoba1) or IsDead(osoba2) do 
begin
...
end; 
Operator OR powoduje to że wystarczy spełnić przynajmniej jeden z warunków aby kod się wykonał.

Przykład #3
Niech kod wykona się jeśli żyje osoba1.

Code: Select all

Every 0$01 trigger not IsDead(osoba1) do
Zapis ten można zastąpić takim:

Code: Select all

Every 0$01 trigger IsDead(osoba1) = false do
Podsumowując:
AND - używamy go wtedy kiedy chcemy aby wszystkie warunki nim połączone były spełnione.
OR - spełniony musi być przynajmniej jeden warunek.
NOT - negacja warunku.
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
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: SAIL - Operatory

Post by Serpent »

Update:
Odkryłem że w SAIL'u istnieje również operator XOR.

XOR to alternatywa wykluczająca, zwraca prawdę jeżeli tylko jeden z warunków jest spełniony.

Przykład:

Code: Select all

Every 0$01 trigger IsDead(osoba1) xor IsDead(osoba2) do
Zwróci prawdę tylko w przypadku gdy jedna z osób została zabita. Jeżeli obie postacie żyją lub obie nie żyją wówczas kod nie wykona się.
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