Помощь - Поиск - Пользователи - Календарь
Полная версия: Удав и кролики
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Сашка
Задание. Создать удава, который будет есть кролика, при это его длинна будет увеличиваться (удава). Должен быть счётчик, а кролик постоянно появляться.

Вот что я сделал.

program ems;
uses crt;
var
c:char;
x,y:byte;
begin
clrscr;
randomize;
x:=random(40);
y:=random(50);
gotoxy(x,y);
textcolor(12);
write('K');
gotoxy(40,14);
repeat
c:=readkey;
case c of
#72:begin gotoxy(whereX-1,whereY); textcolor(0); write('x'); textcolor(15); gotoxy(whereX-1,whereY-1); write('x'); end;
#80:begin gotoxy(whereX-1,whereY); textcolor(0); write('x'); textcolor(15); gotoxy(whereX-1,whereY+1); write('x'); end;
#77:begin gotoxy(whereX-1,whereY); textcolor(0); write('x'); textcolor(15); gotoxy(whereX,whereY); write('x'); end;
#75:begin gotoxy(whereX-1,whereY); textcolor(0); write('x'); textcolor(15); gotoxy(whereX-2,whereY); write('x'); end;
end;
until c=#27;
end.


М
1 Название темы должно быть информативно, учти на будущее (я изменил его).
2. Пользуйся тегами (я вставил)
--- Lapp

Lapp
Чтобы длина удава увеличивалась, тебе надо хранить координаты всех звеньев его тела. Для этого лучше всего использовать структуру FIFO (первым вошел - первым вышел), она же Очередь, ее организация есть в FAQ (ссылка вверху).
Чтобы рисовать нового кролика, организуй еще один цикл, внешний к твоему. Выходи из внутреннего по съедению.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.