Имитация игральной кости
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Игральная кость - это обычный игральный кубик с шестью гранями. На каждой грани расположены точки. Количество точек может быть от 1 до 6. Разумеется, значение не повторяются. То есть на каждой грани разное количество точек.
Когда мы бросаем кубик, то мы не знаем, какое число выпадет. То есть выпадает случайное число.
Наша задача - написать программу, которая будет имитировать бросок игральной кости. То есть на экране будет квадрат, в пределах которого мы можем нарисовать от одной до шести точек.
Броском кости будет нажатие на любую клавишу. Выход из программы выполняется по нажатию на клавишу ESC. По “броску” кости должно выпадать случайное число от 1 до 6. То есть на экране должно отображаться от 1 до 6 точек, причём каждый бросок вызывает отображение случайного количества точек.
Кроме того надо имитировать сам бросок. То есть бросок у нас должен занимать како-то время и в течение этого времени количество точек на “кубике” должно меняться также в случайном порядке, а потом зафиксироваться какое-то значение.
Для большей ясности посмотрите видеоролик.
Подсказку дам только одну (справедлива, если вы используете язык Паскаль).
Итак, для того, чтобы получить случайное число, в самом начале программы нам нужно активировать генератор случайных чисел. Делается это с помощью процедуры Randomize.
Затем каждый раз, когда нам нужно получить случайное число, нам надо вызвать функцию Random. Сделать это можно примерно так:
x := Random(6);
Здесь переменной х будет присвоено случайное значение от 0 до 6. Однако для нашей программы этот вариант не подойдёт, так как на “кубике” не может быть значения 0. Подумайте сами, как это исправить.