ix,jy为静态变量。
//判断横行
for (int a = ix - 4; a <= ix + 4; a++)
{
if (chess[a, jy] == 2)
{
lishu1++;
if (lishu1 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu1 = 0;
}
}
//判断竖行
for (int a = jy - 4; a <= jy + 4; a++)
{
if (chess[ix,a] == 2)
{
lishu2++;
if (lishu2 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu2 = 0;
}
}
//判断左斜线
for (int a = ix - 4,b=jy-4; a<=ix+4&b<=jy+4;a++,b++)
{
if (chess[a, b] == 2)
{
lishu3++;
if (lishu3 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu3 = 0;
}
}
现在横行和竖行已经实现,但是斜的不行,是不是我的for语句有问题,请高手指点下啊!
//判断横行
for (int a = ix - 4; a <= ix + 4; a++)
{
if (chess[a, jy] == 2)
{
lishu1++;
if (lishu1 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu1 = 0;
}
}
//判断竖行
for (int a = jy - 4; a <= jy + 4; a++)
{
if (chess[ix,a] == 2)
{
lishu2++;
if (lishu2 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu2 = 0;
}
}
//判断左斜线
for (int a = ix - 4,b=jy-4; a<=ix+4&b<=jy+4;a++,b++)
{
if (chess[a, b] == 2)
{
lishu3++;
if (lishu3 == 5)
MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
lishu3 = 0;
}
}
现在横行和竖行已经实现,但是斜的不行,是不是我的for语句有问题,请高手指点下啊!
解决方案 »
- 救火:外国佬是不是歧视中国人啊?为什么不让下载了!
- 把查询的结果显示在datagridview并在datagridview修改、删除保存到数据库
- 新手高分求高手帮忙,在webform中如何实现去掉工具栏,好像一个广告宣传那样或好似QQ的那些广告那样,Thanks
- DataGrid主从表绑定的问题
- 请问,怎么获得控件所在的坐标?
- windows 窗体问题!
- 谢了,谁能给提供点关于com+方面的资料
- 我听在.NET里边可以对存储过程的每一条语句调试,请问么做到?100谢谢!
- 谁能向我阐述一下,C#将给我们带来的美好前景
- 高分求救:C#调用C++的dll,dll的回调函数报错
- 初来学习,谁有C#方面的有关于多线程的例子?
- C#:不用ReplaceChild能向XML的非根节点添加属性吗?
for (int a = ix - 4,b=jy-4; a<=ix+4&b<=jy+4;a++,b++)
{
if (chess[a, b] == 2)
{
lishu3++;
if (lishu3 == 5)
{ MessageBox.Show("恭喜您,你胜利了!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
}
else
{
lishu3 = 0;
}
}