Uwakpeter Ответов: 2

Как проверить ввод пользователя в игру судоку с помощью C#


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

правило игры состоит в том, что число от 1 до 4 не должно появляться более одного раза в строке, столбце и блоке.

Мы будем признательны за любую помощь.

Что я уже пробовал:

private void Populate()
    {
        List<string> num = new List<string>();

        foreach (string line in File.ReadLines("Sudoku Text File.txt"))
        {
            num.Add(line);
        }
        Random rnd = new Random();
        rand = rnd.Next(1, 5);
        var number = num[rand];
        listBox1.Items.Add(number);

        for (int i = 0; i < number.Length; i++)
        {

            if (number[i] == '0')
            {
                panel1.Controls[i].Text = "";
            }
            else
            {
                panel1.Controls[i].Text = number[i].ToString();
                panel1.Controls[i].Enabled = false;
            }               
        }

    }



текстовый файл судоку имеет следующие значения:

4000001002004021
0200002030204001
0040010220000423
4000000220041400
0200103201200001

2 Ответов

Рейтинг:
0

Patrice T

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

Единственный способ, который я знаю, - это решить судоку.
У вас есть в основном 2 метода
- Грубая сила: попробуйте механически заполнить ячейки, пока что-то не пойдет не так или вы не решите эту проблему. Всегда находите решение, если оно возможно.
- попробуйте решить с помощью человеческих методов. Может быть невозможно решить проблему, если inpit действительно сложен.