Определить и печатать всякий раз новое направление танка - Turbo Pascal
Формулировка задачи:
Подскажите, наведите на путь, я реально не могу сообразить как она должна работать!!
Танк в компьютерной игре может двигаться в одном из четырех
направлений, обозначим их числами: 1 — север, 2 — восток, 3 — юг, 4 — запад.
Направление движения изменяется тремя командами: 1 — поворот направо, 2 —
поворот налево, 3 — поворот кругом. Пользователь вводит начальное направление
движения, а затем ряд команд. Программа должна определять и печатать всякий
раз новое направление. Выход из цикла — команда 0.
Решение задачи: «Определить и печатать всякий раз новое направление танка»
textual
Листинг программы
program tank;
var x,change:integer;
s:string;
begin
writeln('задайте направление: ');
writeln(' 1 - север ');
writeln(' 2 - восток ');
writeln(' 3 - юг ');
writeln(' 4 - запад ');
readln(x);
repeat
case x of
1: s:='сервер ';
2: s:='восток';
3: s:='юг';
4: s:='запад';
else begin
writeln('танк движется на врага, в атаку');
break;
end;
end;
writeln('танк движется на ',s);
writeln('куда повернуть: ');
writeln(' 1 - направо ');
writeln(' 2 - налево ');
writeln(' 3 - кругом ');
readln(change);
If (change=1) then
If (x<>4) then
x:= x+1
else x:=1;
If (change=2) then
If (x<>1) then
x:= x-1
else x:=4;
If (change=3) then
If (x<3) then
x:= x+2
else x:= x-2;
If change=0 then break;
until false
end.
Объяснение кода листинга программы
- Создается программа
tank. - Объявляются переменные
x,changeиsтипаinteger,integerиstringсоответственно. - Выводится сообщение с предложением задать направление танка.
- Выводится список возможных направлений танка: 1 - север, 2 - восток, 3 - юг, 4 - запад.
- Пользователю предлагается ввести направление танка с помощью функции
readln. - В цикле повторяется следующая последовательность действий:
- Выводится сообщение с указанием текущего направления танка.
- Пользователю предлагается ввести новое направление с помощью функции
readln. - Проверяется введенное пользователем значение.
- Если значение равно 1, то значение переменной
xувеличивается на единицу, если текущее направление не равно 4. - Если значение равно 2, то значение переменной
xуменьшается на единицу, если текущее направление не равно 1. - Если значение равно 3, то значение переменной
xувеличивается на две, если текущее направление меньше 3. - Если значение равно 0, то цикл прерывается.
- Программа завершается.