Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.01.2023
Сообщений: 22

Баг с просчетом коллизии

05.12.2024, 08:31. Показов 323. Ответов 0

Студворк — интернет-сервис помощи студентам
Привет, я пытаюсь создать что-то наподобие зрения у персонажа: из него исходит несколько узких прямоугольников, которые увеличиваются по X пока не столкнуться с объектом другим либо не достигнут максимальной длины, вроде все сделано и работает но возникает баг когда алгоритм просчитывает столкновение в тот момент когда его нет
ниже код этого алгоритма
obstacle - это массив препятствий( с ним тоже баг когда их больше 1 он тоже не корректно считает)
eye - массив этих самых прямоугольников которые и работают примерно как глаза
C++
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
void Player::vision(entity* obstacle, int number_obstacle)
{
    for (int i = 0; i <number_obstacle ; i++)
    {
        for (int j = 0; j < number_of_eye; j++)
        {
 
            while (!eye[j].getGlobalBounds().intersects(obstacle[i].getRect().getGlobalBounds()))
            {
                if (eye[j].getSize().x <= 500)
                    eye[j].setSize(Vector2f(eye[j].getSize().x + 1, eye[j].getSize().y));
                else
                    break;
            }
            while (eye[j].getGlobalBounds().intersects(obstacle[i].getRect().getGlobalBounds()))
            {
                if (eye[j].getSize().x >= 10)
                {
                    eye[j].setSize(Vector2f(eye[j].getSize().x - 1, eye[j].getSize().y));
                    
                }
                else
                    break;
            }
        }
    }
}
на скрине тот основной баг с коллизией, если поможете решить еще и баг связанный с тем, что когда больше 1 препятствия алгоритм тоже не корректно считает, буду балгодарен. Заранее спасибо
Миниатюры
Баг с просчетом коллизии  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2024, 08:31
Ответы с готовыми решениями:

Коллизии с объектами 3D ака алгоритм коллизии(модер прочитай, потом пинай)
Прошу помощи у форумчан! Не стал кидать тему в тему мультимедии, т.к. напрямую задача не требует отрисовки в 3д. И так, что есть: на...

Написать программу для расчета суммы ряда. Сравнить получившийся результат с ручным просчетом
Помогите, пожалуйста, с выполнением задачи! https://**********/Ueo7OGD

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2024, 08:31
Помогаю со студенческими работами здесь

std::regex : баг на сайте или баг компилятора?
http://en.cppreference.com/w/cpp/regex/regex_match этот код выкидывает throw... Добавлено через 35 секунд компилятор gcc 4.8

Баг asio? или баг TCP стека?
всем привет. повстречался с очень странным багом. и не могу определить кто бажит, asio, или TCP-стек. на стороне клиента,...

Letter-spacing баг или не баг?
Здравствуйте! Использовал letter-spacing для увеличения расстояния между буквами. Как оказалось расстояние появилось и после последней...

Забавный баг Делфи ...или не баг?
кароч кидаем на форму 2 editа и кнопку и пишем такой код unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Dev-c++5.11 Покорение вершины
russiannick 02.06.2025
С утра преследовала одна мысль - вот бы выучить С++. Сказано-сделано. Окончив смену, скачал в интернете бестселлер Дэвиса Dev-C++ для чайников. Книга оказалась интересной и я скачал среду, на примере. . .
Тестирование Pull Request в Kubernetes с GitHub Actions и GKE
Mr. Docker 02.06.2025
Мы все знаем, что тестирование на локальной машине или в изолированном CI-окружении — это не совсем то же самое, что тестирование в реальном кластере Kubernetes. Контекстно-зависимые ошибки, проблемы. . .
Оптимизация CMake для ускорения сборки
bytestream 02.06.2025
Вы когда-нибудь ловили себя на мысле, что пока ваш проект компилируется, можно успеть сварить кофе, прочитать главу книги или даже сбегать в соседний офис? Если да, то добро пожаловать в клуб. . .
JS String.prototype.localeCo­mpare()
mr_dramm 02.06.2025
скопировано из этой темы чтобы не потерялось. localeCompare без указания локали для сравнения строк под капотом использует Intl. Collator , который работает согласно Unicode Collation Algorithm. . .
Облако проектов
russiannick 01.06.2025
Слава Джа, написал прогу для компиляции. Значит написал компилятор? Обьем кода 300+ строк. Язык-яву. Вводим данные, заполняем поля, тычем радиобаттоны. И по итогу в поле результат получам листинг. . .
Rust и квантовые вычисления: интеграция с Q# и Qiskit
golander 01.06.2025
Мир квантовых вычислений традиционно оставался закрытым клубом для высокоуровневых языков типа Python и специализированных DSL вроде Q#. Однако в последние годы Rust начал тихую революцию в этой. . .
Кэш REDIS и C#
UnmanagedCoder 01.06.2025
Redis (Remote Dictionary Server) - это ультраскоростное хранилище данных в оперативной памяти, работающее по принципу "ключ-значение". Суть проста: данные хранятся не на диске, а прямо в RAM, что. . .
Lenovo IH110CX Rev: 1.0 motherboard manual
Maks 01.06.2025
Размещения без повторений
VistaSV30 31.05.2025
Код возвращает список вариантов размещений A^{k}_{n}=\frac{n!}{(n-k)!} from itertools import permutations def pwr(k, n): # Размещение без повторений (Placement without repetition) if k. . .
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Reangularity 31.05.2025
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »