Ошибка: Failed to parse the Currency Converter XML document.
$38 916.25


Ошибка: Failed to parse the Currency Converter XML document.
$49 372.14


Ошибка: Failed to parse the Currency Converter XML document.
$18 273.38


Поговорим о случайных числах

Процедура Randomize

Эта процедура инициализирует (проще говоря запускает) генератор случайных чисел. Надо также заметить, что генератор случайных чисел может быть инициализирован не только с помощью обращения к Randomize , но и с помощью присвоения переменной RandSeed (об этом поговорим ниже).

Без инициирования генератора случайных чисел обращения к соответствующим функциям выбора случайного числа всегда будут давать один и тот же результат.

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

Для того, чтобы получить случайное число нужно воспользоваться функцией Random. Вот ее заголовок:


function Random [ ( Range: Integer) ];

Если обращаться к функции без параметров, то она вернет значение типа Real в диапазоне:

0 <= X < 1

А если в качестве параметра указано целое число k, то функция вернет целочисленное значение в диапазоне:

0 <= X < k,

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

0 <= X <= k — 1

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

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

Вы легко можете собрать небольшой тир, используя таймер и картинку Image, ну и конечно же генератор случайных чисел.


Поставим на форму таймер Timer1 и картинку Image1 (не забудьте загрузить в нее изображение) и напишем обработчик события OnTimer

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Randomize; //запускаем генератор случайных чисел
Image1.left:=Random(Form1.width);
Image1.top:=Random(Form1.height);
end;

Мы просто каждый раз меняем случайным образом координаты изображения, которое начинает двигаться по форме беспорядочно. Хотя здесь было бы логичнее Randomize вызвать один раз при загрузке формы.

Теперь сделаем реакцию на попадание в картинку. Естественно это событие OnClick для картинки:

procedure TForm1.Image1Click(Sender: TObject);
begin
Timer1.Enabled:=false; //остановим таймер
Showmessage(«Попадание в цель!»); Timer1.Enabled:=true; //запустим его обратно end;

Здесь можно было бы вести учет очков, уменьшение линии жизни картинки и еще какие-нибудь игровые финты. Увеличить скорость игры можно просто уменьшив свойство Interval таймера

Вот и готова простая игра.

Заполним массив с помощью Random

Randomize;
//заполним массив
for i:= 1 to 10 do a[i]:=Random(10);

//Выведем массив на канву формы
for i:= 1 to 10 do Canvas.TextOut(10+10*i,10,IntToStr(a[i]));

Массив в любом случае будет содержать неотрицательные элементы, чтобы заполнить массив еще и неотрицательными элементами надо написать так:

for i:= 1 to 10 do a[i]:=Random(20) — 10;

Таким образом диапазон значений массива будет ( — 10 .. 9)

Получение случайного числа с помощью RandSeed

Запустить генератор случайных можно получить и без вызова процедуры Randomize. Это делается с помощью переменной RandSeed. Вот пример, демонстрирующий это:

procedure TForm1.Button1Click(Sender: TObject);
var RandSeed: LongInt;
begin
RandSeed:=random(10);
ShowMessage(IntToStr(RandSeed));
end;

 

Интересное

Билет в жизнь без наркотиков
Наркомания давно стала проблемой для общества. Следы ее видны на каждом шагу: подъезды домов и дворы усыпаны использованными шприцами. Практически нет такого человека, который бы не встречал на...
Подробнее...
Привлекательные сайты...
Все эти проблемы имеют одно и то же решение – КОНТЕНТ. Контент, имеющий прямое отношение к теме сайта и обновляется регулярно, делает сайт «привлекательным». Привлекательные сайты оправдывают свое...
Подробнее...
Медленная загрузка сайтов
ВступлениеНаверное, любой веб-разработчик хотя бы иногда бывает недоволен скоростью, с которой открывается его сайт. В рамках виртуального хостинга существует несколько основных причин медленной...
Подробнее...
Команды и функции языка SQL
Основные команды:select — выбратьinsert — вставитьupdate — обновитьdelete — удалитьСоздания и изменения структуры базы данных и ее составных частей:
Подробнее...
Работа с Cookies на PHP
Откуда возник термин «cookie» никто достоверно не знает, хотя считается, что во времена зарождения Unix-систем где-то использовалось словосочетание Magic Cookies. Имелись в виду...
Подробнее...
Компьютерные сети
Приветствую тебя, уважаемый читатель. Вот и вышла в свет очередная статья, написанная мной. На этот раз я бы хотел затронуть очень важную тему — создание локальных сетей, в народе называемых...
Подробнее...
SSH - доступ. Crontab....
Закачивать сайт можно по протоколу FTP, соединяясь с сервером, где расположен ваш сайт, с помощью FTP-клиента. Но бывают ситуации, когда нужно отладить работу скрипта непосредственно на сервере...
Подробнее...
Обзор ОС Windows Server...
Windows Server 2003 Web Edition, разработанная для построения и хостинга веб-приложений, веб-страниц и веб-служб XML, специально предназначена для поставщиков услуг интернета (ISP), разработчиков...
Подробнее...
Outlook Express,...
Для этого нужно сохранить в другом месте файлы с нужной корреспонденцией (например, Входящие.dbx и другие с таким же расширением) и гдебы даже и на бумажке. После того как вы переустановите...
Подробнее...
Кто и как выманивает...
Пару лет назад стандартный набор распространенных интернет-угроз пополнился еще одним видом криминала. В прессе все чаще стало мелькать слово «фишинг» (phishing), под которым поначалу...
Подробнее...