Здравствуйте! Благодаря информации с вашего форума, получилось написать, так сказать. костяк программы) не просто списать, а понять что для чего, это получилось. Опыт программирования еще совсем маленький. Вот мой код:
var x:integer=xx div 2; {начальное расположение змеи} y:integer=yx div 2; vx:integer=-1; {начальное направление змеи} vy:integer=0; xe:integer=15; {начальные координаты яблока} ye:integer=15; var c:char;
begin randomize; clrscr; gotoxy(xe,ye); {рисуем первое яблоко} write ('$');
while (x>=xn) and (x<=xx) and (y>=yn) and (y<=yx) do {обозначаем границы экрана} begin GoToXY(x,y); {рисуем новое положение символа} write(H); Delay(dt); {задержка, иначе символ будет бегать быстро} if keypressed then {если нажата клавиша читаем ее} begin c:=readkey; case c of {если это был управляющий символ, изменяем движение} 'w':begin vx:=0; vy:=-1 end; {изменяем движение на движение вверх} 's':begin vx:=0; vy:=1 end; {изменяем движение на движение вниз} 'a':begin vx:=-1; vy:=0 end; {изменяем движение на движение влево} 'd':begin vx:=1; vy:=0 end; {изменяем движение на движение вправо} end; end; gotoxy(x,y); write(' '); inc(x,vx); {вычисляем новое положение змейки} inc(y,vy); if (x=xe) and (y=ye) then {если координаты змеи совпадают с координатами яблока} begin xe:=random(75); {рисуем новое яблоко, случайным образом} ye:=random(20); gotoXY(xe,ye); write('$'); end; end; end.
пока не хватает знаний, чтоб сделать хвост змее, который растет, когда змея съедает яблоко...