Выбор случайного цвета из списка

183
18 апреля 2022, 10:20

Есть програма на WinForms, она считывает цвет в picturebox, куда нажал пользователь и делат область с этим цветом прозрачной. У меня есть список цветов (150+). Хочу, чтобы програма выбирала случайный из них и просила пользователя кликунть на него, если кликнет не правильно, то програма не засчитает этот клик, потом задаётся следующий цвет и так определённое количетво разов. Правда не очень представлсяю, как это реализовать. Думал, чтобы записать в отдельный файл огромную конструкцию из if-else-if или switch и подключить его в програму, после чего каким-то образом выбирать случайный, но мне кажется, что это довольно костыльный способ. Есть ли у кого-то предложения, как по вашему мнению будет лучше сделать это?

public partial class Form1 : Form
{
    public static Bitmap myBitmap = new Bitmap("img\\BigMap.png");

    public Graphics pctMap;
    public bool CheckClick = false;
   
    public Form1()
    {
        InitializeComponent();
        AutoSize = true;
        pctMap = this.pictureBox1.CreateGraphics();
        pictureBox1.Size = ClientSize;
    }
  
    public void pictureBox1_Click(object sender, EventArgs e)
    {
        MouseEventArgs rato = e as MouseEventArgs;
        int x = rato.X * myBitmap.Width / pictureBox1.ClientSize.Width;
        int y = rato.Y * myBitmap.Height / pictureBox1.ClientSize.Height;
        Color backColor = myBitmap.GetPixel(x, y);
        textBox1.Text = backColor.ToString();
        CheckClick = !CheckClick;
            if (CheckClick) 
        {
            if (backColor == Color.FromArgb(255, 79, 28, 16))
                {
                myBitmap.MakeTransparent(backColor);
                pictureBox1.Refresh();
            }
        }
        else
        {
            myBitmap = new Bitmap("img\\BigMap.png");
            pictureBox1.Refresh();
        }
    }
READ ALSO
Сравнение массивов С#

Сравнение массивов С#

Есть текстовый документ, в котором записаны в столбик такое(пример): 11123 абрис ,11124 абсент ,11125 абсида ,11126 абсурд ,11131 абулия ,11132 абхазИ таких...

251
сравнение в словаре по особому ключу

сравнение в словаре по особому ключу

Существует словарь частоты встречаемости подстрок в предложении, где ключ - это подстрока, а значение - сколько раз эта подстрока встречается...

159
Получить количество элементов из другого класса

Получить количество элементов из другого класса

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

159
Как/Где хранить состояние авторизованного пользователя?

Как/Где хранить состояние авторизованного пользователя?

У меня есть сайт с авторизациейИ когда пользователь вводит верный пароль мне нужно сохранять некоторую информацию о нём в виде объекта User

131