случайности) состояние,

• отображение состояния модели объекта игры на дисплее,

• прием команд от играющего с проверкой их соответствия правилам игры,

• изменение состояния модели объекта игры,

• проверка условий окончания игры и возврат к отображению состояния модели (если игра не закончена),

• выдача сообщения о результате игры.

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

Те, кто думает, что программа появляется из головы программиста в готовом виде подобно явлению Минервы из головы Юпитера, глубоко заблуждаются. Еще и еще раз следует осознать, что программа — это результат последовательных целенаправленных творческих усилий мыслящей личности. Это с одной стороны не очень отрадно, потому что (оказывается!) для создания работающей программы нужно основательно потрудиться. Но с другой стороны, как это хорошо, что обыкновенный (раньше можно было бы сказать "простой советский") человек может сделать нечто, что ему казалось недоступным!

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

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

Дальнейшее продвижение должно заключаться в поочередном достижении вышеизложенных целей. Только убедившись, что программа осу-