Помощь - Поиск - Пользователи - Календарь
Полная версия: Процедура
Форум «Всё о Паскале» > 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
БМП, опять.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.