SAIL - Funkcje losujące
Posted: Wed Sep 09, 2015 11:33 pm
Author: SerpentSerpent wrote:Funkcja losująca to funkcja która zwraca losową liczbę z podanego zbioru liczb.
Najprostszą tego typu funkcją jest funkcja Rand:Nieco bardziej rozbudową funkcją jest MultiRand:Code: Select all
Rand(min, max); // gdzie min oznacza dolny przedział liczb, a max górny.
Schemat działania tej funkcji wygląda następująco:Code: Select all
MultiRand(min, max, c); // gdzie c oznacza ilość obrotów maszyny losującej :D
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:Schemat działania funkcji Prob: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
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ąć.
Topic: https://forum.original-war.net/viewtopi ... =42&t=4490