Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sergiy
6 лет назад

22 FreeBASIC - блуждающих точек рой

В прошлом примере у нас блуждала одна точка, вернее был построен путь её блуждения. А если точек таких сделать много - 100, 1 000, 10 000, а может 1 000 000??))

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

Теперь видно блуждающую точку...

а не её путь, как раньше

Теперь пусть точек будет много скажем 10 000, объявим не переменные x, y - а массив на 10 000. dim as integer x(1000), y(1000).

Остаётся чуть изменить нашу программу - вмсето одной точки учесть что их несколько. Пусть переменная i будет для обработки массива, тогда для количества...я хотел сказать что будем использовать переменную k... но зачем она нужна, у нас цикл будет до нажатия любой клавиши - нужно заменить цикл for..next на do... loop while

Сначала поместим все точки в середину экрана, для режима 19 это (400,300)

Далее в цикле do...нужно каждой точке задать направление для смещения и заодно можно эту точки и поставить на экран

Теперь ждем 5 мс и гасим все точки (можно и не гасить все,а использовать команду cls вместо цикла, попробуйте так и посмотрите есть ли отличие)

Вот что должно получиться

При размере массива в 100 000 точек программа шустро работает и компилятор не выдает ошибку. При миллионе!!! точек компилятор сообщил

пришлось добавить ключевое слово shared dim shared as integer x(1000000),y(1000000) программа запустилась, но работает медленно именно из-за вывода милллллиона точек(для очистки я поставил cls )

  1. можно добавить цвет для каждой точки
  2. хочу построить один график. На каждом этапе (j) находить максимально удаленное расстояние точки от центра d(j) и построить график (j,d(j))
  3. можно ещё "заставить" и этот рой летать, а не стоять в центре экрана. Летать можно по разному, ну пускай летает смещаясь случайно, по тому же принципу что и точки.
3
388.692 GOLOS
На Golos с October 2016
Комментарии (4)
Сортировать по:
Сначала старые