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

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

Форум «Всё о Паскале» _ Теоретические вопросы _ Цикл

Автор: suriv 18.10.2005 4:04

По идее цикл должен закончиться когда зеленая и красная точка "соеденяються" (т.е на одной точке) но он завершаеться раньше этого..


uses graph,wincrt;
var
gd,gm,x,y,i,px,py:integer;
c:char;
begin
gd:=detect;
initgraph(gd,gm,'');
randomize;
x:=500; y:=500;
px:=10; py:=10;
while px and py <> x and y do begin
if px<x then px:=px+1;
if px>x then px:=px-1;
if py<y then py:=py+1;
if py>y then py:=py-1;
putpixel(px,py,green);
putpixel(x,y,red);
delay(20);
if keypressed then c:=readkey;
case c of
'w':y:=y-1;
'd':x:=x+1;
's':y:=y+1;
'a':x:=x-1;
end;
end;
readln;
end.


Автор: volvo 18.10.2005 4:26

while px and py <> x and y do begin

замени на:
while (px <> x) and (py <> y) do begin

Автор: suriv 18.10.2005 4:37

thx... smile.gif

а я думал что "px and py <> x and y" тоже правильно... (если пх И пу (НЕ)РАВНЫ х И у то делать то-то..)