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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rio5
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 88
#1

В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты начинают двигаться - C++

25.09.2012, 15:46. Просмотров 936. Ответов 1
Метки нет (Все метки)

В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты начинают двигаться волнообразно. Объекты размещаются случайно в окне при нажатии на кнопку.
Помогите пожалуйста написать программу на С++ или С#
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 15:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты начинают двигаться (C++):

Реализовать задачу: В окне перемещаются объекты, отталкиваясь от стенок окна - C#
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты начинают...

Как в дельфи сделать движущимися объекты, и могут ли они двигаться равномерно? - Delphi
И без мерцания?

Встроенные объекты Java Script. Объекты Array, Date - HTML5 Canvas
Создать массив, содержащий названия элементов, находящихся в системном блоке компьютера. Добавить к нему массив, содержащий названия ...

Надо что бы вместе с кругами рандомно появлялись еще и квадраты отталкиваясь от стенок. - Delphi
Всем привет! У меня такая вот проблема: мне задали сделать анимацию движущихся рандомно кругов и что бы они отталкивались от стенок, я...

Удалить все объекты и создать объекты - потомки - Unity, Unity3D
Как сделать клоны объекта в другом объекте? Использую метод Instantiate Есть метод public Transform Elem; //элемент на...

Функция создает объекты и указателями на них заполняет массив. При выходе из функции вызываются деструкторы объектов. Как сохранить объекты? - C++
Вопрос прост: как при выходе из функции сохранить объекты, которые были созданы в данной функции (указатели объектов положены в массив)?

1
Rio5
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 88
02.11.2012, 18:02  [ТС] #2
По примеру написал часть программы, но что то не могу понять как сделать чтобы при нажатии на кнопку сразу появлялось случайное число шаров и рассчитать расстояние между шарами чтобы дальше описать волнообразное движение
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace rgr1
{
    delegate void delEv(); 
    
    class Ball
    {
        public event delEv ev; 
        
        private int x, y; 
        private int w, h; 
        private int dx, dy; 
        private Thread t; 
        private bool life; 
        
        public int X
        { get { return x; } }
        
        public int Y
        { get { return y; } }
        
        public Ball(int X, int Y, int Dx, int Dy, int W, int H)
        {
            w = W; h = H;
            x = X; y = Y; dx = Dx; dy = Dy;
            
            life = true;
            t = new Thread(new ThreadStart(BallFunc));
            t.Start();
        }
        public void Finish()
        {
            life = false;
            t.Join();
        }
        void BallFunc()
        {
            while (life)
            {
                x += dx; y += dy;
                if (x > w || x < 0)
                {
                    dx = -dx;
                    
                }
                if (y > h || y < 0)
                {
                    dy = -dy;
                    
                }
                
                if (ev != null)
                {
                    ev();
                }
                Thread.Sleep(100);
            }
        }
    }
 class Wind : Form
    {
      
        Button butAdd; 
        ArrayList aL; 
        Random r; 
        public Wind() 
        {   
            
            aL = new ArrayList(); 
            r = new Random(); 
            butAdd = new Button(); 
            butAdd.Location = new Point(100, 24);
            
            butAdd.Size = new Size(32, 24);
            butAdd.Text = "Add"; 
            
            butAdd.Click += new EventHandler(OnButAdd);
            Controls.Add(butAdd);
        }
        
        void OnButAdd(object obj, EventArgs arg)
        {
            Ball b = new Ball(r.Next(this.Width), r.Next(this.Height),
            r.Next(5, 10), r.Next(5, 15),
            this.ClientSize.Width, this.ClientSize.Height);
            b.ev += new delEv(HandlerEv);
            
            aL.Add(b);
        }
       
        protected override void OnPaint(PaintEventArgs arg)
        {
            for (int i = 0; i < aL.Count; i++)
            {
                Ball b = (Ball)aL[i];
                arg.Graphics.DrawEllipse(new Pen(Color.Blue),
                b.X, b.Y, 20, 20);
            }
            
 
        }
        
        void HandlerEv()
        {
            Invalidate();
        }
      
        protected override void OnClosed(EventArgs e)
        {
            base.OnClosed(e);
            for (int i = 0; i < aL.Count; i++)
            {
                Ball b = (Ball)aL[i];
                b.Finish();
            }
        }
        
        static void Main(string[] args)
        {
            Wind w = new Wind();
            Application.Run(w);
        }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 18:02
Привет! Вот еще темы с ответами:

Встроенные объекты. Объект Array - JavaScript
В массиве из 50 чисел найти сумму положительных кратных 3, max элемент массива. Заранее спасибо!

Динамические объекты, удаление по клику на объект - C++ Builder
На форме расположены динамически созданные объекты с разными тегами и по клику на такой объект нужно удалить его если его тег равен...

Объекты, ссылка на объект. Освобождение памяти - Java
создаем объект типа String, затем делаем оператор присваивания. String myName = &quot;abcd&quot;; ... myName = &quot;1234&quot;; В книжке...

Объекты: Построить объект, описывающий треугольник на плоскости - Turbo Pascal
Помогите пожалуйста Построить объект, описывающий треугольник на плоскости: треугольник задан сторонами; методы вычисляют высоты и углы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru