Случайная генерация

Нет, конечно же, генератор выдает случайное число, однако сама последовательность случайных чисел — отнюдь не случайная, а стабильная. Она всегда одна и та же. Причина этого явления лежит в устройстве генератора случайных чисел random(). Наличие одной и той же стабильной последовательности очень удобно при отладке программы. Так, чтобы найти вышеупомянутую ошибку, нам требовалось, чтобы проявление ошибочной ситуации было повторяющимся. В противном случае имитировать похожую ситуацию было бы значительно труднее.

Однако в законченном приложении повторение одних и тех же случайных чисел, конечно, недопустимо. Чтобы этого избежать, в C++Builder имеется специальная стандартная функция randomize(), которую надо вызвать один раз при начале работы программы, и тогда в дальнейшем все обращения к random() не приведут к генерации уже известной последовательности. Вызывать функцию randomize() удобнее всего в конструкторе главной формы, до вызова новой игры:

randomize();

Referee.NewGame();

Showlnfo();

Для работы этой функции в файле DiceUnit.cpp необходимо также выполнить подключение двух заголовочных файлов:

#include <stdlib.h>

#include <time.h>

Перезапустите программу. Теперь выбрасываемые значения никогда повторяться не будут.

Сохраните проект. Оформите отчет. Подготовьтесь к защите. Продолжение игры выполните в следующей работе Проект№7-2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: