Работа с Random в C#

115
06 ноября 2019, 10:40

Помогите пожалуйста сделать движение объекта по полю хаотичным, а также задать их начальное положение не в левом верхнем углу. Сейчас все 4 объекта находятся в левом вернем углу и там двигаются по окружности радиусом 5.

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 Game_of_life
{
    public partial class Form1 : Form
    {
    public Bitmap entityElement1 = Resource1.entity,
                  entityElement2 = Resource1.entity,
                  entityElement3 = Resource1.entity,
                  entityElement4 = Resource1.entity;
    int x1;
    int y1;
    int x2;
    int y2;
    int x3;
    int y3;
    int x4;
    int y4;

    private void timer2_Tick(object sender, EventArgs e)
    {
        Random randomInterval = new Random();
        timer2.Interval = randomInterval.Next(20, 21);
        x1 = randomInterval.Next(-5, 5);
        y1 = randomInterval.Next(-5, 5);
        x2 = randomInterval.Next(-5, 5);
        y2 = randomInterval.Next(-5, 5);
        x3 = randomInterval.Next(-5, 5);
        y3 = randomInterval.Next(-5, 5);
        x4 = randomInterval.Next(-5, 5);
        y4 = randomInterval.Next(-5, 5);
    }
    private void timer_Tick(object sender, EventArgs e)
    {
        Refresh();
    }
    public Form1()
    {
        InitializeComponent();
        SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true); 
        UpdateStyles();
    }
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        Graphics graphica = e.Graphics;
        graphica.DrawImage(entityElement1, new Rectangle(x1, y1, 5, 5));
        graphica.DrawImage(entityElement2, new Rectangle(x2, y2, 5, 5));
        graphica.DrawImage(entityElement3, new Rectangle(x3, y3, 5, 5));
        graphica.DrawImage(entityElement4, new Rectangle(x4, y4, 5, 5));
    }
}
}
Answer 1

Есть такая штука, думая все ее делали когда начинали программировать на C#(Windows Forms) это убегающая кнопка, думаю это то что вам надо)

http://www.cyberforum.ru/windows-forms/thread179981.html

READ ALSO
Как сделать аутентификацию в asp core?

Как сделать аутентификацию в asp core?

У меня аутентификация на стороне сервера сделана:

120
Конвертация массива string в массив int

Конвертация массива string в массив int

Как можно конвертировать строку чисел, разделённых пробелом, в массив int?

130
Помогите разобраться с заданием DataGrid

Помогите разобраться с заданием DataGrid

Есть задание, решить уравнение и вывести значения в DataGrid, сделать это у меня не получается, а точнее не понимаю как это сделать

123