Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 03.10.2008
Сообщений: 35

Несколько шариков, летающих одновременно

24.10.2008, 11:43. Показов 3285. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал код для одного шарика

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
uses crt,graph;
{const x=630;y=470;}
var q,i,j,gd,gm,r,xo,yo,m,k,n,x1o,y1o,k2:integer;
    kk,xxo,yyo,k1,x,y,speed:integer;
begin
     clrscr;randomize;
     write('enter speed(ms): '); readln(speed);
     write('enter size of a field(px): '); readln(x,y);
     write('enter an initial site of a ball: '); readln(xo,yo);
     write('enter rad: '); readln(r);
     writeln('N=5, S=4, W=7, E=6, NW=2, NE=3, SW=1,SE=0');
     write('enter direction vector: ');readln(k);
     gd:=detect;gm:=1;
     initgraph(gd,gm,'d:\program\bp\bgi');
     delay(1000);
     rectangle(0,0,x,y);
     circle(xo,yo,r);
     readkey;
     {xo:=120;yo:=120;}
     i:=1;j:=1;{k:=5;}
     kk:=k;xxo:=xo;yyo:=yo;
     repeat
           setcolor(0);
           circle(xo,yo,r);
           k1:=k;
           if (getpixel(xo+r+1,yo)<>0)and(getpixel(xo,yo+r+1)<>0) then k:=2 else
           if (getpixel(xo-r-1,yo)<>0)and(getpixel(xo,yo-r-1)<>0) then k:=0 else
           if (getpixel(xo+r+1,yo)<>0)and(getpixel(xo,yo-r-1)<>0) then k:=1 else
           if (getpixel(xo-r-1,yo)<>0)and(getpixel(xo,yo+r+1)<>0) then k:=3 else
           if getpixel(xo+r+1,yo)<>0 then begin if k=0 then k:=1 else k:=2;end else
           if getpixel(xo,yo+r+1)<>0 then begin if k=0 then k:=3 else k:=2;end else
           if getpixel(xo,yo-r-1)<>0 then begin if k=2 then k:=1 else k:=0;end else
           if getpixel(xo-r-1,yo)<>0 then begin if k=2 then k:=3 else k:=0;end;
           case k of
                0:begin i:=+1;j:=+1;end;
                1:begin i:=-1;j:=+1;end;
                2:begin i:=-1;j:=-1;end;
                3:begin i:=+1;j:=-1;end;
                4:begin i:=0;j:=+1;end;
                5:begin i:=0;j:=-1;end;
                6:begin i:=+1;j:=0;end;
                7:begin i:=-1;j:=0;end;
           end;
           if k<>k1 then begin sound(1000);q:=1;end;
           if q=1 then n:=n+1;
           if n=10 then begin nosound;q:=0;n:=0;end;
           xo:=xo+i;yo:=yo+j;
           if (k=kk)and(xo=xxo)and(yo=yyo) then
              begin
                   settextstyle(0,0,2);
                   setcolor(lightred);
                   outtextxy(260,450,'Repeat');
                   break;
              end;
           setcolor(15);
           circle(xo,yo,r);
           delay(speed);
     until keypressed;
     nosound;
     readkey;
end.
Как воткнуть чтобы одновременно летало n шариков?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2008, 11:43
Ответы с готовыми решениями:

Несколько циклов одновременно
Есть такая программа, кликаешь и идёт &quot;анимация&quot; капель. Можно ли сделать так, чтобы при нескольких кликах было столько же капель...

Несколько анимаций одновременно
нужно реализовать несколько действий одновременно в паскаль абс нет, как это можно сделать? у меня качающиеся маятники, все данные о...

Как извлечь из строки несколько символов одновременно
Как извлечь из строки несколько символов одновременно?

6
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
24.10.2008, 12:07
Сейчас объясню на примере. Скажем,нужно мне по работе код написать. Чтобы шарик летал.Я пишу - и вот,он летает! И тогда подходит ко мне заказчик и говорит: слушай,а как же в твоем коде сделать,чтобы было N шариков!? А я не знаю,что ответить,потому что сделал линейный код,где нет ни одной функции. Вот тогда приходится садиться и переписывать/переделывать код,чтобы сделать функции,такие как
AddBaloon() DrawBaloon() MoveBaloon(),и в таком духе,а потом вызвать их n раз.
После этого можно подойти и гордо сказать заказчику,что у меня есть методы для отрисовки,создания и обработки шариков,которые можно использовать хоть n+1 раз.

Суть моего лирического отступления состоит в том,что твоя программа явно тестовая,цель которой - научиться рисовать шарики. И ценность ее сводится к нулю,поскольку для отрисовки шариков в другой программе будешь писать код заново,а конкретно эта программа никому не пригодится. Старайся делать программы так,чтобы основная часть не содержала почти ничего,кроме вызовов разных функций,которые ты написал(не до фанатизма,конечно). Тогда ты не будешь сталкиваться с проблемами в роде той,с которой столкнулся сейчас.
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
24.10.2008, 12:31
XuTPbIu_MuHTAu,хотел сказать - УЧИ ОБъЕКТЫ! вкратце )
0
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
24.10.2008, 16:03
Да, чел... ООП надо... но есть один совет))) если ты будешь заниматься ООП, то бросай паскаль, начни дельфина или плюсы. в ТП объекты не сильно нужны
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32744
Регистрация: 18.05.2008
Сообщений: 115,168
24.10.2008, 16:13
По-моему можно обойтись массивом записей.
0
1 / 1 / 1
Регистрация: 03.10.2008
Сообщений: 35
24.10.2008, 16:44  [ТС]
И все же?
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
24.10.2008, 16:49
Цитата Сообщение от Puporev Посмотреть сообщение
По-моему можно обойтись массивом записей.
Как вариант!
Я игрушку в колледже на таких "объектах" сдавал, которы были на самом деле массивом записей
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.10.2008, 16:49
Помогаю со студенческими работами здесь

В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?
Добрый день, товарищи, вот есть такая задачка... В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k...

В кафе продается мороженое по 3 или по 5 шариков в порции. Определить, можно ли купить K шариков мороженного
В кафе продается мороженое по 3 или по 5 шариков в порции. Определить, можно ли купить K шариков мороженного. Входные данные: Во...

Выполнение одновременно несколько sql запросов одновременно
Здравствуйте. Есть проблема! Пролистал много сайтов и форумов и толком ничего не нашел. Суть проблемы указана в заголовке но все равно...

По данному расположению шариков определите, сколько шариков будет сейчас уничтожено
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков...

Можно ли купить k шариков мороженого ,если его продают по 3 и по 5 шариков?
Задача : &quot;В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?&quot; Ссылка на нее...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru