Иллюстрированный самоучитель по Turbo Pascal

Игра Ним

Если считать, что начальная раскладка фишек соответствует схеме 3-4-5, то можно написать такой окончательный вариант главной программы:

Uses CRT; {Подключение библиотеки дополнительных процедур и функций для управления экраном}
const  
MAXROW = 14; {Максимальное количество рядов}
MAXCOL =20; {Максимальное количество фишек в ряду}
type  
ColType = array [1.. MAXROW] of Integer;
var  
exit: Boolean; {Признак окончания работы}
change: Boolean; {Признак изменения условий игры}
nrow: Integer; {Количество рядов}
ncol: ColType; {Максимальное колич-во фишек по рядам}
col: ColType; {Текущее количество фишек по рядам}
{------------------------}
Procedure Prepare; {Готовит экран к игре}
begin {Prepare}
end; {Prepare}
{------------------------}
Procedure GetPlayerMove;
{Получает, контролирует и отображает ход игрока}
begin {GetPlayerMove}
end; {Get PlayerMove}
{------------------------}
Procedure SetOwnerMove;
{Находит и отображает очередной ход программы}
begin {SetOwnerMove}
end; {SetOwnerMove}
{------------------------}
begin {Главная программа}
nrow: = 3; {Готовим игру… }
ncol [1]: = 3; { на поле из трех }
ncol [2]: = 4; { рядов фишек }
ncol [3]: = 5; { по схеме 3-4-5.}
repeat {Цикл изменения условий игры}
Prepare; {Подготовить экран}
repeat {Игровой цикл}
GetPlayerMove; {Получить ход пользователя}
if not (exit or change) then
SetOwnerMove {Определить собственный ход}
until exit or change
until exit
end.

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

Иллюстрированный самоучитель по Turbo Pascal › Знакомство с языком Турбо Паскаля › Игра Ним
Рис. 2.4. Вид экрана в начале игры Ним

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.