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

Добавление нескольких перемещающихся автоматически фигур

02.06.2022, 22:11. Показов 457. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, помогите, пожалуйста, нужно реализовать на экране появление нескольких объектов("врагов") в случайных начальных координатах. Я смог реализовать только один объект и при попытке сделать 2-го начинает перемещаться только 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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Red_cube
{
    public partial class Form1 : Form
    {
        private const int size = 50;
        private Button button;
        private Button vrag;
        private Timer timer;
 
        public Form1()
        {
            InitializeComponent();
            Button RC = new Button();
            RC.Location = new Point(250, 250);
            RC.Size = new Size(size, size);
            RC.BackColor = Color.Red;
            Controls.Add(RC);
            button = RC;
            MouseClick += new MouseEventHandler(mouseClick);
            Init(120,60);
            Init(500, 400);
        }
 
        private void mouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button.ToString() == "Left")
            {
                MouseMove += new MouseEventHandler(mouseEvent);
                timer.Start();
            }
        }
 
        private void mouseEvent(object sender, MouseEventArgs e)
        {
            button.Location = new Point(Cursor.Position.X - 500, Cursor.Position.Y - 160);
        }
        void Init(int i,int j)
        {
            timer = new Timer();
            timer.Tick += Timer_Tik;
            timer.Interval = 10;
            Random rnd = new Random();
            dx = rnd.Next(-10, 10);
            dy = rnd.Next(-10, 10);
 
            vrag = new Button();
            vrag.Location = new Point(i, j);
            vrag.BackColor = Color.Blue;
            vrag.Size = new Size(size, size);
            Controls.Add(vrag);
            x = i;
            y = j;
        }
        const int d = 50;
        int x , y;
        public int dx, dy;
        private void Timer_Tik(object sender, EventArgs e)
        {
            x += dx;
            y += dy;
            if (x <= 0 || x + d >= 580)
                dx = -dx;
            if (y <= 0 || y + d >= 560)
                dy = -dy;
            vrag.Location = new Point(x, y);
            if (button.Location.X + size >= vrag.Location.X && button.Location.X < vrag.Location.X + size &&
                button.Location.Y + size >= vrag.Location.Y && button.Location.Y < vrag.Location.Y + size)
                Death();
        }
        private void Death()
        {
            timer.Stop();
            MessageBox.Show("Катапультируюсь!");
            Application.Exit();
        }
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Height = 600;
            Width = 600;
            CenterToScreen();
            MaximizeBox = false;
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2022, 22:11
Ответы с готовыми решениями:

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

Отрисовка нескольких фигур
Нарисовать одну фигуру проблем нет ,а вот как нарисовать несколько? И так что бы они не появлялись в одной и той же координате. Например...

Анимация нескольких фигур
Здравствуйте. Нужна помощь в анимировании созданных мною фигур в C# коде public ClusterPresentationVM(TypeAddressation type,...

2
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
02.06.2022, 22:20
Цитата Сообщение от MrDrago Посмотреть сообщение
C#
1
if (e.Button.ToString() == "Left")
Хм..
C#
1
if (e.Button == MouseButtons.Left)
Добавлено через 1 минуту
Цитата Сообщение от MrDrago Посмотреть сообщение
Я смог реализовать только один объект и при попытке сделать 2-го начинает перемещаться только 2-й.
Если враг это private Button vrag;, то логично, что для нескольких врагов это должен быть массив или список.
0
0 / 0 / 0
Регистрация: 24.11.2020
Сообщений: 14
05.06.2022, 20:01  [ТС]
Не могли бы вы, пожалуйста, написать через список как это должно быть реализовано. Так как мне требуют сделать через список, но мы эту тему ещё не затрагивали и я очень сыро её понимаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2022, 20:01
Помогаю со студенческими работами здесь

Добавление нескольких строк из нескольких input text ов в БД
Здравствуйте! Проблема в том, что у меня не добавляются строки в БД, они добавляются пустыми постоянно я пробовал менять по-разному, но...

Добавление пустых строк вверх и вниз и добавление нескольких цифр в ячейки
День добрый. Надо добавить одну пустую строку вверх и одну в низ, так же добавить пару цифр и букву (они выделены красным цветом в...

OpenGL c++ Вращение нескольких фигур
Здравствуйте,недавно начала изучать OpenGL смотрел уроки на Ютюбе. Вот функция рисования display , Snow - рисует разные звездочки в...

Одна линия у нескольких фигур
Добрый вечер уважаемые знатоки. Встала задачка с резкой квадратных фигур, на лазерном станке, и так как оплата производится по пройденной...

Поочередный вывод на форму нескольких фигур
Подскажите код программы в которой дано: ромб, эллипс, квадрат, круг, треугольник, шестиугольник. Нужно чтобы эти фигуры по очереди...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru