Смекни!
smekni.com

Игра "Пятнашки" (стр. 6 из 6)

g1:string; {Переменная которой присваивается очередная строка из файла и выводится на экран}

begin

clrscr;

assign(f,'fhelp1.txt');

reset(f);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

readln(f,g1); writeln(g1);

writeln('For exit press ENTER');

readln;

close(f);

end;

begin

{Основная программа}

{Вывод на экран главного меню}

{Элементы Главного меню, один из которых закрашен белым цветом, а остальные зеленым}

men[1]:=15;

men[2]:=2;

men[3]:=2;

men[4]:=2;

men[5]:=2;

repeat

clrscr;

strok:=1; {Текущаястрока}

Lom:=1;

{Выборцветов}

GoToXY(32,10); Textcolor(men[1]); writeln('Key');

GoToXY(32,11); Textcolor(men[2]); writeln('About program');

GoToXY(32,12); Textcolor(men[3]); writeln('Play');

GoToXY(32,13); Textcolor(men[4]); writeln('Results');

GoToXY(32,14); Textcolor(men[5]); writeln('Exit');

ch:=readkey; {Выбор направления передвижение элементов меню}

if (ord(ch)=80) then {Если вниз тогда текущий становится белым, а нижний становится зеленым}

begin

for i:=1 to 5 do

begin

if (men[i]=15) and (strok<>5) then

begin

men[strok]:=2;

men[strok+1]:=15;

end

else strok:=strok+1;

end;

end;

if ord(ch)=72 then {Если вверх, то текущий белым, а верхний зеленым}

begin

for i:=1 to 5 do

begin

if (men[i]=15) and (strok<>1)then

begin

men[strok]:=2;

men[strok-1]:=15;

end

else strok:=strok+1;

end;

end;

if ord(ch)=13 then {Еслинажат ENTER}

begin

for i:=1 to 5 do

begin

if men[i]=15 then

begin

if Lom=1 then begin Help; break; end; {Переходврежимсправки}

if Lom=2 then begin avtor; break; end; {Переходврежимигры}

if Lom=3 then begin Game15;break; end; {Переходврежимигры}

if Lom=4 then begin result;break; end; {Переходврежимигры}

end

else Lom:=Lom+1;

end;

end;

until Lom=5 {До тех пор пока не нажат пункт EXIT}

end.


Приложение 2 Результаты работы.

Для демонстрации результата работы программы, возьмем основной раздел ИГРА.

При запуске программы появляется табло, заполненное случайными неповторяющееся цифрами от 1 до 15 и один пустой элемент (Рисунок 8).

Рисунок 8 – Основное табло со случайными числами

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

Рисунок 9 – Первый ход

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

К примеру, игрок долго играл и у него выпал следующий расклад (Рисунок 10).

Рисунок 10 – очередной ход.

Теперь пользователю необходимо сделать один, последний ход, а именно переместить клетку с цифрой 15 на пустой элемент. В результате расклад будет выполнен (Рисунок 11).

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

Рисунок 11 – конец игры