ELSE

q% = 1 IF Left% > 0 THEN

Var% = 1 ELSE

Var% = -1 END IF END IF END IF

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

IF q% < 1 THEN 'изменение и показ варианта хода Var% = Var% * q% IF Var% > О THEN

LOCATE 10, Left% + 31: COLOR 15: PRINT ">" ;

LOCATE 10, Right% + 31: COLOR 7: PRINT "<";

ELSE

LOCATE 10, Right% + 31: COLOR 15: PRINT "<";

LOCATE 10, Left% + 31: COLOR 7: PRINT ">";

END IF END IF DO 'начало цикла ожидания нажатия клавиши

КЕУ$ = INKEY$ LOOP UNTIL LEN(KEY$) > 0

'конец цикла ожидания нажатия клавиши LOOP UNTIL КЕУ$ = CHR$(13) 'конец цикла ожидания хода

Код переставляемой фишки записывается в позицию пустышки, затем в позицию переставляемой фишки записывается код пустышки. После этого исполняется команда возврата к началу цикла для отображения нового расположения фишек.

Arrows(Empty%) = Var% 'перестановка фишки IF Var% > О THEN 'запись пустышки

Arrows(Left%) = 0 ELSE

Arrows(Right%) = 0 END IF

LOOP 'конец цикла игры END

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

Пример улучшенной программы приведен в "Приложениях" под названием ARROWS.ВАЗ. Программа подробно прокомментирована. В этой программе для показа фишек используется цветная псевдографика. Фишки с кодом +1 окрашены в красный цвет и на них изображена синяя стрел-