2014-05-24 28 views
0

我对C#语言比较陌生,在学校里直到今天只研究了大约一个月。我正在尝试为Windows Mobile手机创建简单的Tic - Tac - Toe游戏,其中游戏区域设置了按钮。我从这个网站(Stackoverflow)读到C#是强类型语言,并且不可能动态地创建变量。简单按钮 - 在C#中阵列? (Tic-Tac-Toe解决方案?)

我的游戏区域按钮被命名为button1,button2,button3等,并且在int []中有一个统计数据用于检查游戏结果。我应该如何循环按钮进行合法移动? 我已经计划使用buttonX.Content.Equals(“X”)等等,但是我怎样才能循环按钮,因为动态变量是不允许的?

是否可以创建一个只包含内存中按钮对象引用的数组,然后检查每个-loop的值?

+1

当然动态变量是允许的,动态的变量_types_有什么不常见在C#中(自C#4以来,它存在与'动态'关键字,但有一个很好的理由皱起了眉头)。例如,我会在任何一天在一个数组上使用'List',除非我有一个非常好的理由不要。 –

回答

0

您正在寻找控制阵列。看看这个问题的答案question

+0

“控制阵列”是关键字! –

0

我不确定,如果你发现你的解决方案,因为这个问题没有标记为回答,但:

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 } }; 
    } 
+0

我的解决方案与您的答案类似。我将Button对象的引用放到数组中,并检查for -loop中的合法移动。不管怎么说,还是要谢谢你!现在我的Tic-Tac-Toe已经准备就绪,正在等待Microsoft的认证,在微软商店发布。 –

+0

请将此问题标记为已回答。无论是我的答案,上面的还是你自己的答案。 – Rynoh97