Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как убрать столкновение Объектов на плоскости с пустым пространством? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Lvalue и rvalue http://www.cyberforum.ru/cpp/thread1773566.html
Какая выгода использования rvalue? Допустим есть такой класс class A { public: A() = default; void setName(const std::string& name) { m_Name = name; }
C++ Как сделать проверку нажатия по спрайту хаотичной формы? Игра в изометрии на SDL , и встаёт вопрос как сделать проверку нажатия(мышкой) на объект (например кровать) и совершить действия при нажатии(например спать) http://www.cyberforum.ru/cpp/thread1772858.html
Нужна программа для перехвата клика мыши C++
Стоит задача: Когда я нажимаю ЛКМ нужно, чтобы программа перехватила это нажатие, и нажала лишь когда истечет определенное кол-во времени. pseudo_code: if(GetAsyncKeyState(0x01)) { перехват мыши;...
Неявные интерфейсы С++ шаблонов. Сложно о простом C++
Неявные интерфейсы С++ шаблонов. Сложно о простом. Вот заметка в формате PDF о том, как использовать типизацию для параметров шаблонов. Отдельные утверждения из заметки процитирую, не влезет...
C++ Как написать браузер под Windows? http://www.cyberforum.ru/cpp/thread1772554.html
Здравствуйте. Подскажите пожалуйста, как можно написать браузер на C++? Можно не с нуля. Может ли это сделать человек, без особой практики C++, но знающий его основы? Требуется написать браузер...
C++ Рекурсивные функции. Разделение эл. массива, пока не останется 1 элемент Вся суть в том что нужно взять массив из 10 элементом и разделить его на пополам (например от 1 до 5 и от 6 до 10) потом левую часть которая (от 1 до 5) снова разделить на 2 части (например, от 1 до... подробнее

Показать сообщение отдельно
Itsgonnabeme
1 / 1 / 0
Регистрация: 01.07.2016
Сообщений: 7
14.07.2016, 00:33  [ТС]
Я сам все решил, но у меня получилось очень грамоздко
Столкновение с 4 сторонами left,top,right bottom
QBasic/QuickBASIC
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
FOR i=ps\y-ImageWidth(obj2) TO ps\y+ImageHeight(obj2) STEP 1
        IF (i=pd\y) AND (ps\x=(pd\x+ImageWidth(obj2)))  THEN
                Text 300, 400, "CollideX"
                collx=1
                Delay 10
        EndIf
    
NEXT
 
FOR j=ps\x-ImageWidth(obj2) TO ps\x+ImageWidth(obj2) STEP 1  
        IF (j=pd\x) AND (ps\y=(pd\y+ImageWidth(obj2))) THEN
            Text 250, 400, "CollideY"
            colly=1
            Delay 10
    EndIf
    
NEXT
 
FOR i=ps\y-ImageHeight(obj2) TO ps\y+ImageHeight(obj1) STEP 1
        IF (i=pd\y) AND (ps\x+ImageWidth(obj2)=pd\x)  THEN
          Text 350, 400, "CollideX1"
          collx2=1
          Delay 10
   EndIf
NEXT
 
FOR j=ps\x-ImageWidth(obj2) TO ps\x+ImageWidth(obj2) STEP 1  
        IF (j=pd\x) AND ((ps\y+ImageWidth(obj2))=(pd\y)) THEN
            Text 260, 400, "CollideY1"
            colly2=1
            Delay 10
        EndIf
    
NEXT
 
 
IF(collx=1) THEN 
pd\x=pd\x-1
collx=0
EndIf
 
IF(colly=1) THEN 
pd\y=pd\y-1
colly=0
EndIf
 
 
IF(collx2=1) THEN 
pd\x=pd\x+1
collx2=0
EndIf
 
IF(colly2=1) THEN 
pd\y=pd\y+1
colly2=0
EndIf
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru