Простой массив кнопок в С#? (Крестики-нолики?)

Я сравнительно новичок в C# -язык и до сих пор изучал его всего около месяца в школе. Я пытаюсь создать простую игру Tic-Tac-Toe для телефона Windows Mobile, где игровая область представляет собой набор кнопок. Я читал с этого сайта (Stackoverflow), что С# является строго типизированным языком и невозможно динамически создавать переменные.

Кнопки моей игровой области называются button1, button 2, button3 и т. д., и в массиве int[] есть статистика для проверки результатов игры. Как мне зациклить кнопки для легального перемещения? Я планировал использовать buttonX.Content.Equals("X") и т. д., но как я могу зациклить кнопки, поскольку динамические переменные не разрешены?

Можно ли создать массив, содержащий только ссылки на кнопки -объекты в памяти, и затем проверить значения для каждого цикла?


person Jere_Sumell    schedule 24.05.2014    source источник
comment
Конечно, динамические переменные разрешены, динамические переменные types не распространены в C# (они существуют начиная с C# 4 с ключевым словом dynamic, но не одобряются по уважительной причине). Например, я бы использовал List над массивом в любой день, если бы у меня не было очень веской причины не делать этого.   -  person Benjamin Gruenbaum    schedule 24.05.2014


Ответы (2)


Вы ищете контрольные массивы. Взгляните на ответ на этот вопрос

person Kasper Holdum    schedule 24.05.2014
comment
Ключевым словом было контрольные массивы! - person Jere_Sumell; 24.05.2014

Я не уверен, нашли ли вы свое решение, потому что вопрос не помечен как ответ, но:

Button[,] MovementPiece; //Creates the array
    private void Form1_Load(object sender, EventArgs e)
    {
        //Initializes the array
        MovementPiece = new Button[,]{ { button1, button2, button3 }, 
                                  { button4, button5, button6 },
                                  { button7, button8, button9 } };
    }
person Rynoh97    schedule 25.05.2014
comment
Мое решение было похоже на ваш ответ. Я поместил ссылки объектов Button в массив и проверил допустимый ход в цикле for. Спасибо, в любом случае! Теперь мои крестики-нолики готовы и ждут сертификации Microsoft для публикации в Microsoft Store. - person Jere_Sumell; 25.05.2014
comment
Пожалуйста, отметьте этот вопрос как ответ. Либо с моим ответом, тем, что выше, либо с вашим собственным. - person Rynoh97; 25.05.2014