Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Не работает простая игрушка!

Автор: Костян 5.12.2005 1:00

Здорово народ. Нужна ваша помощь.На Паскале пишу совсем недавно. Написал простейшую прогу - перемещает символ по экрану в сответствии с нажатыми клавишами(вверх, вниз, вправо, влево). Почему то не идет найдите пожалуйста ошибку- буду очень благодарен!

Код
program igra;
uses crt;
const left=#75; right=#77; up=#72; down=#80;
var x, y, b: integer;
c: char;
begin
clrscr;
x:=1;
y:=1;
gotoxy(x,y);
write('a');
repeat
c:=readkey;
case c of
left:
begin
clrscr;
x:=x-1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
right:
begin
clrscr;
x:=x+1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
up:
begin
clrscr;
y:=y+1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
down:
begin
clrscr;
y:=y-1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
until
b=10;
readkey;
end.

Автор: volvo 5.12.2005 1:09

Костян,
во-первых, кнопки курсора - это "расширенные" клавиши - первая часть кода = #0, вторая - то, что ты указал... Второе - у тебя не было End закрывающего Case... Ну, и наконец - ты перепутал знаки при нажатии "Вверх" и "Вниз"... blum.gif

program igra;
uses crt;
const
left=#75; right=#77; up=#72; down=#80;
var
x, y, b: integer;
c: char;
begin
clrscr;
x:=1;
y:=1;
gotoxy(x,y);
write('a');
repeat
c:=readkey;
case c of
#0: case readkey of
left: begin
clrscr;
x:=x-1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
right: begin
clrscr;
x:=x+1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
up: begin
clrscr;
y:=y-1;
gotoxy(x,y);
write('a');
b:=b+1;
end;
down: begin
clrscr;
y:=y+1;
gotoxy(x,y);
write('a');
b:=b+1;
end;

end;

end;

until b=10;
readkey;
end.

Автор: Костян 5.12.2005 1:16

Большое спасиба!!!!!!!!!!!!!!!! yes2.gif