SAIL - Funkcje losujące

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 - Funkcje losujące

Post by Serpent »

Funkcja losująca to funkcja która zwraca losową liczbę z podanego zbioru liczb.

Najprostszą tego typu funkcją jest funkcja Rand:

Code: Select all

Rand(min, max); // gdzie min oznacza dolny przedział liczb, a max górny.
Nieco bardziej rozbudową funkcją jest MultiRand:

Code: Select all

MultiRand(min, max, c); // gdzie c oznacza ilość obrotów maszyny losującej  :D 
Schemat działania tej funkcji wygląda następująco:

Code: Select all

Export Function MultiRand2(min, max, c);
var i, d;
begin
for i = 1 to c do
     d := Rand(min, max);

result := d;
End;

Inną funkcją losującą jest Prob. Różnica polega jednak na tym że jest to funkcja logiczna (zwraca prawdę lub fałsz).

Przykład:

Code: Select all

if Prob(90) then // prawda jeśli wynik losowania jest większy od 90
if not Prob(90) then // prawda jeśli wynik nie jest większy od 90
Schemat działania funkcji Prob:

Code: Select all

Export Function Prob2(num);
begin
if Rand(0, 100) > num then
   result := true
    else
     result := false;
End;


Powyższe funkcję są bardzo użyteczne w programowaniu misji. Przykładowo jeśli chcemy aby personel bazy miał "różne skille" to bez funkcji losującej ciężko będzie to osiągnąć.
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