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

Движение шариков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ определить, являются ли линейно независимыми http://www.cyberforum.ru/cpp-beginners/thread211905.html
уважаемые программисты,помогите решить такую задачку:определить, являются ли линейно независимыми три заданных вектора целых чисел длиной 30
C++ Функция вывода меню ( ошибка ). Здравствуйте. Я пишу программу решения слау, но прежде мне надо сделать мизерное меню. Я не знаток ещё в дополнительных функциях и вообще в с++, поэтому прошу мне помочь: а именно, не выводит меню, и... http://www.cyberforum.ru/cpp-beginners/thread211903.html
Что не так с кодом C++
что не так? #include <iostream.h> #include <fstream.h> #include <windows.h> #include "F.h"
C++ Что сие означает?
Подскажите, что означают нижеследующие слова и не только: class public private ::
C++ Вывод массива, элементы которого делятся на 2,3,5 http://www.cyberforum.ru/cpp-beginners/thread211893.html
Одномерный массив, как вывести по частям понял, а как вывести все сразу? #include <iostream> #include <time.h> #define _CRT_SECURE_NO_DEPRECATE 0 using namespace std; int _tmain() {
C++ подскажите где можно скачать С++ весь интернет облазил везде платный С++ кинь ссылку если не трудно)))) подробнее

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

Движение шариков - C++

15.12.2010, 20:07. Просмотров 1786. Ответов 1
Метки (Все метки)

Как сделать так, чтобы два шара двигались одновременно? При моей программе изображается лишь тот, который написан первым(поскольку они засунуты в один бесконечный цикл).
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
#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 main()
{
        txCreateWindow (500, 500);
        MoveCircle (200, 300, 10, 1, 1, 20, 150, 450, 15, - 1, - 1);
}
 
void DrawCircle (int x, int y, int r)
{
        txClear ();  
        txSetColor (TX_RED);
        txSetFillColor (TX_BLACK);
        txCircle (x, y, r);
}
 
void Draw2Circle (int x2, int y2, int r)
{
        txClear ();
        txSetColor (TX_GREEN);
        txSetFillColor (TX_BLACK);
        txCircle (x2, y2, 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)
{
        while (true)
        {
                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);
                txSleep (100);
          }
          {
                 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);
                 txSleep (100);
         }
}
Добавлено через 10 минут
Вот другой вариант. Здесь-то что неправильно?

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
#include "TXLib.h"
 
class Circle
{
public:
       Circle (int x, int y, int v, int dx, int dy, int r);
       void MoveCircle ();
       void DrawCircle ();
private:
        int x;
        int y;
        int v;
        int dx;
        int dy;
        int r;
        
void Circle :: Draw ()
{
        txSetColor (TX_RED);
        txSetFillColor (TX_BLACK);
        txCircle (x, y, r);
}
 
void Circle :: Move ()     
{
         x += dx*v;
         y += dy*v;
         
         if (x - r < 0 || x + r > 500)
         {
               dx = - dx;
         }
         
         if (y - r < 0 || y + r > 500)
         {
               dy = - dy;
         }  
         
         Draw ();
}
 
int main()
{
         txCreateWindow (500, 500);
         Circle A (200, 300, 10, 1, 1, 20);
         Circle B (150, 400, 15, -1, -1, 20);
         while (true)
         {
               txClear ();
               A.Move ();
               B.Move ();
               txSleep (100);
         } 
}           
}
Добавлено через 15 минут

Добавлено через 2 минуты
Правда, 2ю мне написал dihlofos,я чуть-чуть её изменил и не совсем понимаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru