0

Пишу простенькую игру со змейкой. Появился такой вопрос, я создал еду и добавил ее на форму. Еда добавляется на форму через рандом. Но когда я захотел создать 3 еды, они получаются в одном месте.

private void CreatFood()
        {
        FoodPosition.X = random.Next(0, 10);
        FoodPosition.Y = random.Next(0, 10);

    }

Здесь попробовал создать через массив 3 еды, но так как FoodPosition.X FoodPosition.Y ссылаются на одно и тоже число, получается 3 еды в одном месте

private void Form1_Paint(object sender, PaintEventArgs e)
{
raphics graphics = e.Graphics;
           Brush food = Brushes.Blue;
for (int i = 0; i < 3; i++)
            {
graphics.FillRectangle(food, new Rectangle(FoodPosition.X * CellSize, FoodPosition.Y * CellSize, CellSize, CellSize));
            }
}

public Form1() { InitializeComponent(); CreatFood(); }

Hannibal
  • 1
  • 2
  • 2
    Так у вас же только в одном месте заполняются координаты. Унесите CreateFood под цикл – Zufir Mar 29 '22 at 12:03
  • 1
    нужно не заполнять еду три раза одним и тем же, а три раза создавать новые координаты для еды – Эникейщик Mar 29 '22 at 12:05
  • Не совсем понимаю, как мне вынести CreateFood в цикл чтобы были разные координаты для еды. – Hannibal Mar 29 '22 at 12:13
  • https://ru.stackoverflow.com/a/1222168/373567 там WPF, но игровую логику можно брать почти "как есть". – aepot Mar 29 '22 at 12:59

0 Answers0