Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 10

Реализовать движение влево-вправо подводного челнока

17.04.2013, 23:57. Показов 2332. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать движение влево в право вот етого подводного челнока
желательно подробней описать посоколько мне ещо нужно потом реализовать подем и опускание тинескопа по тойже схеме

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  uses GraphABC;
begin
 
setbrushcolor(clGray);
Rectangle(173, 140, 245, 195);
setbrushcolor(clBlue);
Ellipse (170,200,410,135);
setbrushcolor(clYellow);
Circle(220, 160, 10);
Circle(250, 160, 10);
Circle(280, 160, 10);
Circle(310, 160, 10);
Circle(340, 160, 10);
Ellipse (360,150,400,170);
setbrushcolor(clGray);
Rectangle(190, 175, 390, 185);
 
 
end.
Добавлено через 57 минут
вот ето все если можно зделать вот в етом окружение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
uses graphABC,crt;
var
 x,y,k: integer;
 xx,yy,a,h,w: real;
begin
lockdrawing;
hidecursor;
setwindowsize(816,460);
repeat
a:=0; k:=20; h:=10; w:=0.5;
while a<=10 do
      begin
      clearwindow(clskyblue);
      xx:=0*k; yy:=H*sin( w*xx + a );
      while xx<=8.9*k do
               begin
            y:=round( H*sin( w*xx + a ));
            x:=round(xx*k);
            putpixel(x,y+20,clblack);
             putpixel(x,y+500,clblack);
            xx:=xx+0.02;
               end;
      line(0,20+round(yy),0,500+round(yy));
      line(815,20-round(yy),815,500-round(yy));
      floodfill(200,130,clwhite);
      floodfill(200,230,clblue);
      a:=a+0.5;
      sleep(100);
      redraw;
      end;
until keypressed;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2013, 23:57
Ответы с готовыми решениями:

Графика.Движение автобуса, управляемого стрелками вправо и влево
Графика.Движение автобуса, управляемого стрелками вправо и влево.

Движение шарика при нажатии клавиши вверх вниз влево вправо
Приветствую вас.:)Надо сделать что бы шарик двигался при нажатии клавиши вверх вниз влево вправо. Это у меня получилось но шарик...

Движение текста вправо-влево
Вот такая задачка ... анимировать текс не пойму как.... просто чтоб матался &lt;--- , ---&gt; ... заранее спасиб..

4
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
18.04.2013, 02:04
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
uses graphABC,crt;
var
 x,y,k,qq,d: integer;
 xx,yy,a,h,w: real;
 
procedure Cheln (q,dd: integer);  //q - это позиция челна по х, d - направление, если положительно, то вправо, если отрицательно, то влево
begin
setbrushcolor(clGray);
if dd>=0 then Rectangle(q+173, 140, q+245, 195)
 else Rectangle(q+340, 140, q+410, 195);
setbrushcolor(clBlue);
Ellipse (q+170,200,q+410,135);
setbrushcolor(clYellow);
Circle(q+220, 160, 10);
Circle(q+250, 160, 10);
Circle(q+280, 160, 10);
Circle(q+310, 160, 10);
Circle(q+340, 160, 10);
Circle(q+370, 160, 10);
setbrushcolor(clGray);
Rectangle(q+190, 175, q+390, 185);
end;
 
begin
lockdrawing;
hidecursor;
setwindowsize(816,460);
qq:=-450; d:=10;
repeat
a:=0; k:=20; h:=10; w:=0.5;
while a<=10 do
      begin
      clearwindow(clskyblue);
      xx:=0*k; yy:=H*sin( w*xx + a );
      while xx<=8.9*k do
               begin
            y:=round( H*sin( w*xx + a ));
            x:=round(xx*k);
            putpixel(x,y+20,clblack);
             putpixel(x,y+500,clblack);
            xx:=xx+0.02;
               end;
      line(0,20+round(yy),0,500+round(yy));
      line(815,20-round(yy),815,500-round(yy));
      floodfill(200,130,clwhite);
      floodfill(200,230,clblue);
      Cheln (qq,d);
      a:=a+0.5;
      inc(qq,d);
      if qq>650 then d:=d*(-1);
      if qq<-450 then d:=d*(-1);
      sleep(100);
      redraw;
      end;
until keypressed;
end.
1
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 10
18.04.2013, 03:17  [ТС]
Буду благодарен кто поможет зделать выдвижной тинископ

вот код как он должен выгледить выдвинутым
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   uses GraphABC;
begin
 
   setbrushcolor(clSilver);
   Ellipse (285,62,303,70);
   setbrushcolor(clGray);
   Rectangle(285,66,303,71);
   Rectangle(285,70,295,190);
 
setbrushcolor(clGray);
Rectangle(173, 140, 245, 195);
setbrushcolor(clSilver);
Ellipse (170,200,410,135);
setbrushcolor(clYellow);
Circle(220, 160, 10);
Circle(250, 160, 10);
Circle(280, 160, 10);
Circle(310, 160, 10);
Circle(340, 160, 10);
Ellipse (360,150,400,170);
setbrushcolor(clGray);
Rectangle(190, 175, 390, 185);
end.
И Вот так должно выглядить сложеным

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   uses GraphABC;
begin
   //тенескоп сложен
   setbrushcolor(clSilver);
   Ellipse (285,162,303,130);
   //////////////////
setbrushcolor(clGray);
Rectangle(173, 140, 245, 195);
setbrushcolor(clSilver);
Ellipse (170,200,410,135);
setbrushcolor(clYellow);
Circle(220, 160, 10);
Circle(250, 160, 10);
Circle(280, 160, 10);
Circle(310, 160, 10);
Circle(340, 160, 10);
Ellipse (360,150,400,170);
setbrushcolor(clGray);
Rectangle(190, 175, 390, 185);
end.

вот код куда нужно все впихнуть

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
uses graphABC,crt;
var
 x,y,k,qq,d: integer;
 xx,yy,a,h,w: real;
 
procedure Cheln (q,dd: integer);
begin
lockdrawing;
//подводка
setbrushcolor(clGray);
if dd>=0 then Rectangle(q+173, 140, q+245, 195)
 else Rectangle(q+340, 140, q+410, 195);
setbrushcolor(clSilver);
Ellipse (q+170,200,q+410,135);
setbrushcolor(clYellow);
Circle(q+220, 160, 10);
Circle(q+250, 160, 10);
Circle(q+280, 160, 10);
Circle(q+310, 160, 10);
Circle(q+340, 160, 10);
Circle(q+370, 160, 10);
setbrushcolor(clGray);
Rectangle(q+175, 175, q+340, 185);
redraw;
end;
  //параметры судна
begin
lockdrawing;
hidecursor;
setwindowsize(816,460);
qq:=-450; d:=5;
repeat
a:=0; k:=20; h:=10; w:=0.5;
while a<=10 do
      begin
      clearwindow(clskyblue);
      xx:=0*k; yy:=H*sin( w*xx + a );
      while xx<=8.9*k do
      //параметры воды
               begin
            y:=round( H*sin( w*xx + a ));
            x:=round(xx*k);
            putpixel(x,y+110,clblack);
             putpixel(x,y+500,clblack);
            xx:=xx+0.02;
               end;
      //текстуры воды
      floodfill(200,130,clwhite);
      floodfill(200,230,clblue);
      Cheln (qq,d);
      a:=a+0.5;
      inc(qq,d);
      if qq>650 then d:=d*(-1);
      if qq<-450 then d:=d*(-1);
      sleep(100);
      redraw;
      end;
until keypressed;
end.
Добавлено через 9 минут
тинескоп должен подыматса когда судна доплывает почти до средины и опускатса когда отплывет от середины

Добавлено через 43 секунды
буду очень сильно благодарен
0
 Аватар для MrAleksej
20 / 15 / 14
Регистрация: 05.12.2010
Сообщений: 256
Записей в блоге: 1
19.04.2013, 09:23
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
uses graphABC,crt;
 
var
 x,y,k,qq,d,tel,tel2: integer;
 xx,yy,a,h,w: real;
 
procedure Cheln (q,dd: integer);
Label M,M2;
begin
lockdrawing;
//????????
 setbrushcolor(clSilver);
   Ellipse (qq+285,162,qq+303,130);
 if qq>10 then begin
   if tel>100 then goto M;
   tel:=tel+2;
    M:
    if tel2>100 then goto M2;
    if tel>100 then tel2:=tel2+2;
    M2:
    setbrushcolor(clSilver);
   Ellipse (qq+285,157-tel+tel2,qq+303,170-tel+tel2);
   
   setbrushcolor(clGray);
   Rectangle(qq+285,162-tel+tel2,qq+303,171-tel+tel2);
   Rectangle(qq+285,171-tel+tel2,qq+295,190);
   end;
setbrushcolor(clGray);
if dd>=0 then Rectangle(q+173, 140, q+245, 195)
 else Rectangle(q+340, 140, q+410, 195);
setbrushcolor(clSilver);
Ellipse (q+170,200,q+410,135);
setbrushcolor(clYellow);
Circle(q+220, 160, 10);
Circle(q+250, 160, 10);
Circle(q+280, 160, 10);
Circle(q+310, 160, 10);
Circle(q+340, 160, 10);
Circle(q+370, 160, 10);
setbrushcolor(clGray);
Rectangle(q+175, 175, q+340, 185);
redraw;
end;
  //????????? ?????
begin
lockdrawing;
hidecursor;
setwindowsize(816,460);
qq:=-450; d:=5;
repeat
a:=0; k:=20; h:=10; w:=0.5;
while a<=10 do
      begin
      clearwindow(clskyblue);
      xx:=0*k; yy:=H*sin( w*xx + a );
      while xx<=8.9*k do
      //????????? ????
               begin
            y:=round( H*sin( w*xx + a ));
            x:=round(xx*k);
            putpixel(x,y+110,clblack);
             putpixel(x,y+500,clblack);
            xx:=xx+0.02;
               end;
      //???????? ????
      floodfill(200,130,clwhite);
      floodfill(200,230,clblue);
      Cheln (qq,d);
      a:=a+0.5;
      inc(qq,d);
      if qq>650 then
                     begin
                           d:=d*(-1);
                           tel:=-50;
                           tel2:=0;
                     end;
      if qq<-450 then
                     begin
                     d:=d*(-1);
                     tel:=0;
                           tel2:=0;
                     end;
      sleep(100);
      redraw;
      end;
until keypressed;
end.
1
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 10
19.04.2013, 21:18  [ТС]
огромное спасиба
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2013, 21:18
Помогаю со студенческими работами здесь

Движение вправо/влево в зависимости от курсора
Привет. С моими скудными познаниями решил обратиться за помощью сюда) Вобщем задача следующая: экран поделен на две половины. Примерно...

Цикличное движение объекта влево и вправо
Доброе время суток всем. Вообщем я новенький в коде и в игре. Во всем в принципе разбирался сам. Но как получается не совсем, есть код...

Как переназначить клик на клавиши (влево-вправо) на касание по объекту на экране (стрелка влево-вправо)
Скрипт для персонажа public class MovePlayer : Unit private void Update() { if...

Движение вверх, вниз, вправо и влево, но не по диагонали
как реализовать движение фигуры только в таком направление, т.е. вверх, вниз, вправо и влево, но не по диагонали, есть код готового...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru