Помощь - Поиск - Пользователи - Календарь
Полная версия: Процедура
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
IlyasKaz
Помогите Пожалуйста сделать так что бы машина по правилам ехала Ну чтобы машины одновременно ехали и повороте налево машина уступила дорогу и проехала я не могу понять как это сделать
 
procedure title4;
const speed=3;
const speed1=3;
var
i,f,j,pic,pic1,pic2,pic3,pic4,pic5,pic6: integer;
w,h,n:real;
begin
SetWindowSize(530,530);
pic3:=loadPicture('1.bmp');
DrawPicture(pic3,1,1);
SetWindowCaption('Перемещение картинки');
pic1:=LoadPicture('luxcar2(1).jpg');
pic4:=loadPicture('luxcar1(2).jpg');
pic6:=loadPicture('luxcar1(3).jpg');
pic5:=loadpicture('luxcar2(3).jpg');
n:=WindowWidth/1 ;
w:=WindowWidth/4 ;
h:=Windowheight/2;
///Dvijnyak
begin
for i:=0 to WindowWidth do
begin
DrawPicture(pic3,1,1);
DrawPicture(pic1,170,i);
if i mod speed = 0 then Sleep(1);
end;
for i:=round(n) downto 120 do
begin
DrawPicture(pic3,1,1);
DrawPicture(pic4,270,i);
if i mod speed1 = 0 then Sleep(1);
end;

for i:= round(h) downto 0 do
begin
DrawPicture(pic3,1,1);
DrawPicture(pic6,i,170);
if i mod speed1 = 0 then Sleep(1);
end;
end;
end

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
IUnknown
Цитата(IlyasKaz @ 7.12.2011 18:53) *
я не могу понять как это сделать
Очень просто:

procedure title4;
var
picBkGround : Integer;
pic1, pic4, pic5, pic6 : Integer;

car1_x, car1_y:integer;
car2_x, car2_y:integer;
deltax, deltay:integer;
p : Integer;
stopLine : Integer;
begin
SetWindowSize(530, 530);
SetWindowCaption('Перемещение картинки');

picBkGround := LoadPicture ('1.bmp');

pic1 := LoadPicture ('luxcar2(1).jpg');
pic4 := LoadPicture ('luxcar1(2).jpg');
pic6 := LoadPicture ('luxcar1(3).jpg');
pic5 := Loadpicture ('luxcar2(3).jpg');

// Dvijnyak
LockDrawing;

car1_x := 170; car1_y := 0;
car2_x := 270; car2_y := WindowHeight;
deltax := 0; deltay := -1; p := pic4;
stopLine := 3 * (WindowHeight div 4);
repeat
DrawPicture (picBkGround, 1, 1);
DrawPicture (pic1, car1_x, car1_y);
DrawPicture (p, car2_x, car2_y);
Redraw;
Sleep (1);

Inc (car1_y);
car2_x := car2_x + deltax;
car2_y := car2_y + deltay;

if car2_y = stopLine then deltay := 0;
if deltay = 0 then
if car1_y > stopLine then deltay := -1;

if car2_y = 170 then
begin
deltax := -1;
deltay := 0;
p := pic6;
end;

until car2_x < 0;
UnlockDrawing;
end;
TarasBer
БМП, опять.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.