ПредишенСледващото

В тази статия ще се опитам да ви кажа какво е генератор на случайни числа, как да го използвате и как винаги да разгледаме примери за използването на случайни числа в Делфи.

При тази процедура се инициализира (да го кажем просто стартира) с генератор на случайни числа. Трябва също да се отбележи, че генераторът на случайни номера могат да бъдат не само инициира чрез позоваване на Случаен. но също така и чрез възлагане променлива RandSeed (говорим за това по-долу).

Без да се задейства генератор на случайни числа се отнасят за съответните роли на избора на случайни числа винаги ще даде същия резултат.

Получаване на случайни числа

За да се получи случайно число, трябва да използвате функцията Random. Това е неговото заглавие:

функционира Произволни [(обхват: цяло число)];

Позовавайки се на функцията без параметри, тя връща стойност от тип Real в интервала:

Ако параметърът е посочено като цяло число к, функцията връща стойност цяло число в границите:

или, за по-голяма яснота, може да се изписва така:

Важно е, че изпълнението на произволен функция може да се промени в зависимост от версията на компилатор, така че не е препоръчително да използвате тази функция, например, за да кодира.

Пример на Произволни функция.

Можете лесно да се съберат малко стрелбище, с помощта на таймер и образ на изображението, и разбира се Генераторът на случайни числа.

Ние влагаме във формуляра таймер 1 таймер и картина Image1 (не забравяйте да изтеглите образа в него) и пишат на събитието манипулатор OnTimer

процедура TForm1.Timer1Timer (Sender: TObject);
започвам
Случаен; // започне Генераторът на случайни числа
Image1.left: = Произволни (Form1.width);
Image1.top:=Random(Form1.height);
приключи;

Ние просто всеки път, когато случайно координати на изображението, което започва да се движи под формата на случаен принцип. Въпреки, че няма да има по-логично да се обадя Randomize веднъж, когато товарите форма.

Сега, нека да е реакция на класирането им на снимката. Естествено, това OnClick събитие за картинката:

процедура TForm1.Image1Click (Sender: TObject);
започвам
Timer1.Enabled: = фалшива; // спрете таймера
Showmessage ( "Хит на целта! '); Timer1.Enabled: = вярно; // тече обратно си край;

може да има поддържат регистър на точките, което намалява живота линия изображения и дори някои игри финтове на. Увеличаване на скоростта на играта, можете просто да се намали функцията Интервал таймер

Тук е готов проста игра.

Напълнете масива с Random

Случаен;
// запълване на масива
защото: = 1 до 10 направи [Ь]: = Произволни (10);

// Посочете масива на платно на формуляра
защото: = 1 до 10 направи Canvas.TextOut (10 + 10 * I, 10, IntToStr (а [Ь]));

Array във всеки случай ще съдържа не-отрицателни елементи за запълване на масив от не-отрицателни елементи и все още трябва да напишете това:

защото: = 1 до 10 направи [Ь]: = Произволни (20) -10;

Така масив от стойности ще варира (-10. 9)

Получаване на случайното число използване RandSeed

Започнете генератор на случайни може да се получи без да се поставя процедура Randomize. Това се прави с помощта на променливата RandSeed. Ето един пример, който показва това:

процедура TForm1.Button1Click (Sender: TObject);
Var RandSeed: LongInt;
започвам
RandSeed: = случаен (10);
ShowMessage (IntToStr (RandSeed));
приключи;

Така че ние говорихме за случайни числа в Делфи. Надявам се, че всеки може да получи поне малко ново за себе си в тази статия.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!