C# 检查碰撞2D阵列连接4
我目前正在尝试用c#制作一个2D connect four游戏。你知道什么时候所有4种颜色都必须匹配。不管怎样,我目前正试图让冲突正常工作,但不断收到一个错误,说“索引超出了数组的边界”,你知道这是为什么吗?谢谢C# 检查碰撞2D阵列连接4,c#,arrays,2d,collision,C#,Arrays,2d,Collision,我目前正在尝试用c#制作一个2D connect four游戏。你知道什么时候所有4种颜色都必须匹配。不管怎样,我目前正试图让冲突正常工作,但不断收到一个错误,说“索引超出了数组的边界”,你知道这是为什么吗?谢谢 private void rules() { int count = 0; if (btn[maxR, maxC].BackColor == Color.Red) { count = 1; } for (int i = 0; i
private void rules()
{
int count = 0;
if (btn[maxR, maxC].BackColor == Color.Red)
{
count = 1;
}
for (int i = 0; i <= btn.Length; i++)
{
if (btn[maxR, i].BackColor == Color.Red)
{
count++;
}
}
if (count >= 4)
{
lbl2.Text = "winner";
}
}
private void规则()
{
整数计数=0;
if(btn[maxR,maxC].BackColor==Color.Red)
{
计数=1;
}
对于(int i=0;i=4)
{
lbl2.Text=“获胜者”;
}
}
您使用的:
i <= btn.Length
附言:我不知道是否有任何逻辑错误。您使用:
i <= btn.Length
附言:我不知道是否有任何逻辑错误。哪一行抛出了
异常
?您确实应该使用try/catch
块并捕获异常对象的.Message
属性
。您尝试以负数或等于或大于数组长度的数字访问数组。例如,如果您声明一个大小为[maxR]的数组,那么可用的索引是0、1、2。。。maxR-1(即maxR条目!),并且在maxR的访问将引发异常。哪一行引发了异常
?您确实应该使用try/catch
块并捕获异常对象的.Message
属性
。您尝试以负数或等于或大于数组长度的数字访问数组。例如,如果您声明一个大小为[maxR]的数组,那么可用的索引是0、1、2。。。maxR-1(这是maxR条目!),在maxR的访问将引发异常。是的,我相信你是对的。现在我得到了一个错误:if(btn[maxR,i].BackColor==Color.Red){count++}
-\u-@Das_-burr,如果您修复了i
问题,请检查maxR
值,如果再次超出范围,请修复它。还有你的错误是什么?和以前一样“索引超出了数组的界限”是的,我知道你是对的。现在我得到了一个错误:if(btn[maxR,i].BackColor==Color.Red){count++}
-\u-@Das_-burr,如果您修复了i
问题,请检查maxR
值,如果再次超出范围,请修复它。还有你的错误是什么?和以前一样“索引超出了数组的界限”