Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект №7. Описание игры с использованием ООП.docx
Скачиваний:
23
Добавлен:
11.04.2015
Размер:
223.71 Кб
Скачать

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

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

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

randomize();

Referee.NewGame() ;

Showlnfo() ;

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

#include <stdlib.h>

#include <time.h>

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

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