ществляет прием команд и изменение состояния модели объекта игры правильно, можно перейти к отладке циклической части игры.

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

После того, как программа в целом начнет функционировать, необходима ее пробная эксплуатация. Она заключается в том, что в процессе игры нужно выявлять и запоминать или записывать все случаи отклонения от нормального функционирования для последующего поиска и устранения ошибок. Ни в коем случае не пытайтесь скрыть свои ошибки! Это плохая практика, которая впоследствии может вам "выйти боком". И если кто-либо из поигравших с вашей программой выскажет замечания по поводу ее функционирования или оформления вывода на дисплей, то отнеситесь к ним с должным вниманием. Рассматривайте эти замечания не как желание досадить вам или унизить вас, а как добрые советы имеющие целью повышение вашего мастерства.

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

5.1. ПЕРЕСТАВЬ ФИШКИ

Начнем с простейшей игры, в которой для выигрыша нужно решить задачу не требующую особой сообразительности. Играющий должен только проявить внимание к своим действиям. Изложим правила игры:

• имеется 8 фишек, на каждой из которых нарисована стрелка,

• каждая из фишек может располагаться на одной из 9 равноотстоящих позиций вдоль прямой,

• в начальном положении средняя позиция пустая, слева от нее расположены 4 фишки со стрелками вправо, а справа — 4 фишки со стрелками влево,

• переворачивание фишек в ходе игры не допускается,

• фишка может передвигаться только в направлении, указанном ее стрелкой, на пустую позицию, которая расположена рядом с ней или непосредственно за другой фишкой с противоположно направленной стрелкой,

• игра считается законченной, если передвижение фишек невозможно,

• игрок выиграл, если средняя позиция пустая, справа от нее расположены 4 фишки со стрелками вправо, а слева — 4 фишки со стрелками влево.

Рассмотрим вариант использования текстового режима работы