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

Отскакивание шариков друг от друга - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод информации из файла http://www.cyberforum.ru/cpp-beginners/thread212399.html
По заданию надо записать данные массива структур в файл, а потом вывести их с табулированием. С записью я разобрался, все работает, с вводом тоже все нормально. Как сделать вывод из файла по строкам...
C++ Как закрасить шар полностью? Здравствуйте! Мне хотелось закрасить шар полностью, но при использовании команды SetFillColor закрашивался фон. Где у меня в логике ошибка?? #include "TXLib.h" void DrawCircle (int x, int y,... http://www.cyberforum.ru/cpp-beginners/thread212396.html
C++ Обнуление буфера.
Доброе время суток! Есть например буфер "b". Надо его перед использованием в цикле обнулять. Как это сделать? Вот часть кода, где он используется: bool ch_tranc = CPB.Transform(a, b);...
Очень интересно :) C++
НА длинной перфоленте записаны N попарно разлычных положительных целых чисел.Ваша ЭВМ может перематывать ленту на начало и считывать числа одно за другим.Внутренняя паметь машины может хранить только...
C++ текст составленный из последних литер всех слов списка http://www.cyberforum.ru/cpp-beginners/thread212362.html
Здравствуйте, уважаемые эксперты! Пожалуйста, помогите написать программу на языке программирования С для решения следующей задачи: " Дан текст из не более 60 слов. В каждом слове не более 5 букв....
C++ Ничего сложного, но разобраться не могу. За "реал" плюсану! Доброе время суток, уважаемые! Есть функция, Transform(). Надо сделать так, чтобы выполнилось условие на правдивость. После посчитало до пяти и записало функцией fwrite(). Вот код: ... подробнее

Показать сообщение отдельно
TXLib.h
3 / 3 / 0
Регистрация: 01.12.2010
Сообщений: 68

Отскакивание шариков друг от друга - C++

16.12.2010, 14:21. Просмотров 473. Ответов 0
Метки (Все метки)

Подскажите, пожалуйста, как сделать так, чтобы три нарисованных шарика, метающиеся по экрану и отскакивающие от стенок, отскакивали также при соударении друг с другом. Заранее спасибо!

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
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
88
89
90
91
#include "TXLib.h"
 
void DrawCircle (int x, int y, int r);
void Draw2Circle (int x2, int y2, int r);
void MoveCircle (int x, int y, int v, int dx, int dy, int r, int x2,
                 int y2,int v2, int dx2, int dy2, int x3, int y3,
                 int v3, int dx3, int dy3);
 
 
int main()
{
        txCreateWindow (500, 500);
        MoveCircle (200, 300, 10, 1, 1, 20, 150, 450, 15, - 1, - 1, 100,
                    50, 20, -2, 2);
}
 
void DrawCircle (int x, int y, int r)
{ 
        txSetColor (TX_GREEN);
        txSetFillColor (TX_BLACK);
        txCircle (x, y, r);
}
 
void Draw2Circle (int x2, int y2, int r)
{
        txSetColor (TX_YELLOW);
        txCircle (x2, y2, r);
}       
 
void Draw3Circle (int x3, int y3, int r)
{
        txSetColor (TX_RED);
        txCircle (x3, y3, r);
}        
        
void MoveCircle (int x, int y, int v, int dx, int dy, int r, int x2,
                 int y2,int v2, int dx2, int dy2, int x3, int y3,int v3,
                 int dx3, int dy3)
{
        while (true)
        {
                txClear ();
                
                x += dx*v;
                y += dy*v;
                
                if (x - r < 0 || x + r > 500)
                {
                        dx = - dx;
                } 
 
                if (y - r < 0 || y + r > 500)
                {
                        dy = - dy;
                }    
               
                 DrawCircle (x, y, r);
                
                 x2 += dx2*v2;
                 y2 += dy2*v2;
                 
                 if (x2 - r < 0 || x2 + r > 500)
                 {
                        dx2 = - dx2;
                 }
                 
                 if (y2 - r < 0 || y2 + r > 500)
                 {
                        dy2 = - dy2;
                 }
                 
                 Draw2Circle (x2, y2, r);
                 
                 x3 += dx3*v3;
                 y3 += dy3*v3;
                 
                 if (x3 - r < 0 || x3 + r > 500)
                 {
                        
                        dx3 = - dx3;
                 }
                 
                 if (y3 - r < 0 || y3 + r > 500)
                 {
                        dy3 = - dy3;
                 }
                 Draw3Circle (x3, y3, r);
                 
                 txSleep (100);
         }
}
Добавлено через 1 минуту
И заодно подскажите, код цивильно выглядит? Я имею в виду не уровень программирования, а расположение блоков, кавычек и т.д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru