IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Обеспечить движение качелей, качели я нарисовала...а вот движение....
Svetka
сообщение 22.03.2005 13:50
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Женский

Репутация: -  0  +


Код

setfillstyle(9,blue);
bar(0,0,640,75);
setcolor(14);
circle(45,40,30);
setfillstyle(1,14);
floodfill(45,40,14);
setcolor(6);
setlinestyle(0,brown,3);
line(220,100,380,100);
line(220,300,220,100);
line(380,300,380,100);
line(260,250,260,100);
line(340,250,340,100);
setfillstyle(1,darkgray);
bar(250,250,350,260);
setfillstyle(1,green);
Bar(0,300,640,360);

вот сами качели...помогите обеспечить движение качелей!! очень надо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
hiv
сообщение 23.03.2005 11:37
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Вот как надо:
Код
Program www;
uses crt,graph;
var c:char;
menu:array[0..2]of string;
item,i:integer;

procedure Zastavka;

procedure DrawFon;  {рисуем фон}
begin
setfillstyle(9,blue);
bar(0,0,640,75);
setcolor(14);
circle(45,40,30);
setfillstyle(1,14);
floodfill(45,40,14);
setcolor(6);
setlinestyle(0,0,3);
line(200,100,400,100);
line(200,300,200,100);
line(400,300,400,100);
line(260,250,260,100);
line(340,250,340,100);
setfillstyle(1,darkgray);
bar(250,250,350,260);
setfillstyle(1,green);
Bar(0,300,640,360);
setlinestyle(0,0,3);
end;

procedure DrawKach(x,y:integer); {рисуем качели со смещением по x и y}
begin
setcolor(6);
line(260+x,250-y,260,100);
line(340+x,250-y,340,100);
setfillstyle(1,darkgray);
bar(250+x,250-y,350+x,260-y);
end;

procedure DrawNoKach(x,y:integer); {стираем качели со смещением по x и y}
begin
setcolor(0);
line(260+x,250-y,260,100);
line(340+x,250-y,340,100);
setfillstyle(1,black);
bar(250+x,250-y,350+x,260-y);
end;

var  driver,mode:integer;
    t,h :real;

begin
    h:=2*pi/400;
    t:=0;
    driver:=VGA; mode:=VGAhi;
    InitGraph(driver,mode,'C:\BP\BGI');

    DrawFon;
    repeat
    DrawNoKach(trunc(20*(sin(t))),trunc(20*(1-cos(sin(t)))));
    t:=t+h;
    if t>2*pi then t:=0;
    DrawKach(trunc(20*(sin(t))),trunc(20*(1-cos(sin(t)))));
    delay(1000);
    until keypressed;

    CloseGraph;
end;

procedure Zadacha;
begin
clrscr;
Writeln('zadacha=)');
readln;
end;

begin
menu[0]:='1.Zastavka';
menu[1]:='2.Zadacha';
menu[2]:='3.Vyhod';
item:=0;
while true do begin
  clrscr;
  for i:=0 to 2 do begin
    if i=item
      then begin
        textcolor(15);
        textbackground(5);
      end
      else begin
        textcolor(7);
        textbackground(0);
      end;
    writeln(menu[i]);
  end;
  textbackground(0);
  case readkey of
    #0: case readkey of
      #72: if item>0 then item := item - 1;
      #80: if item<2 then item := item + 1;
    end;
    #13: case item of
      0: Zastavka;
      1: Zadacha;
      2: Halt;
    end;
    '1': Zastavka;
    '2': Zadacha;
    '3': Halt;
  end;
end;
end.

И учите процедуры... sad.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Svetka
сообщение 23.03.2005 11:55
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Женский

Репутация: -  0  +


пасибо большоеsmile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Svetka   Обеспечить движение качелей   22.03.2005 13:50
Altair   Для движения, рисуем качели (это у вас реализованн...   22.03.2005 14:02
Svetka   а как это сделать? я вообще не понимаю как можно о...   22.03.2005 14:33
hiv   Все просто: смещение качелей по координате X=sin(t...   22.03.2005 15:06
Altair   ДА ну, слишком круто, для подобной задачи, все про...   22.03.2005 15:13
Altair   эээ.... только мы в разные стороны мыслим :) Я реа...   22.03.2005 15:15
Svetka   хехе,Олег......ночью катаца на качелях это класс...   22.03.2005 20:43
hiv   Прикольно! :p7: Хотя это первое, что я сдела...   22.03.2005 15:22
Svetka   пасиба большое за задачу;)   22.03.2005 21:12
Svetka   вот у меня было меню......из трёх пунктов............   22.03.2005 22:06
Altair   да всегда пожалуйста! :) а ты не из Москвы слу...   22.03.2005 20:51
hiv   Если бы весь код опубликовала - тогда проблем не б...   23.03.2005 9:33
Svetka   вот мой весь код Program www; uses crt,graph; var...   23.03.2005 11:03
FreeMan   дык меню итак первым показывается. а чтоб качельки...   23.03.2005 11:13
hiv   Замени код в процедуре Zastavka на тот код что я н...   23.03.2005 11:17
Svetka   ну я заменила...всё равно меню не показывается.......   23.03.2005 11:18
Svetka   вот получившийся код: Program www; uses crt,grap...   23.03.2005 11:30
hiv   Вот как надо: Program www; uses crt,graph; var c...   23.03.2005 11:37
Svetka   пасибо большое:)   23.03.2005 11:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 7:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"