五子棋的斜线坐标如何计算出来?--求助!!

时间:2021-11-13 10:53:13
  我正在写一个简单的五子棋游戏,在判断胜利时,我想从四根线上检查是否有五颗颜色一样且连续挨着的棋子(它门分别是横线,竖线,左斜线,右斜线),如果有,则五子连珠,胜利!可是,我现在只能计算出横线和竖线上的坐标!请高手们教我如何计算两根斜线上的坐标,谢谢!

5 个解决方案

#1


abs(i-x) == abs(j-y)

#2


(x,y)、(x+1,y+1)、...

#3


引用 2 楼 *8808 的回复:
C# code(x,y)、(x+1,y+1)、...

不怎么全面哈

#4


应该是坐标判断    当然要考虑  4个边的情况

我做过一个模仿扫雷的程序   要判断的情况 是一样的
自己找下规律  如果需要部分关键代码  联系我


我是小菜鸟!   说的不好清见谅,   希望能够帮到你!

#5


扫描下面的斜方向上的情况……
左斜:(i,j),(i-1,y+1),(i-2,y+2),(i-3,y+3),(i-4,y+4);
右斜:(i,j),(i+1,y+1),(i+2,y+2),(i+3,y+3),(i+4,y+4);

#1


abs(i-x) == abs(j-y)

#2


(x,y)、(x+1,y+1)、...

#3


引用 2 楼 *8808 的回复:
C# code(x,y)、(x+1,y+1)、...

不怎么全面哈

#4


应该是坐标判断    当然要考虑  4个边的情况

我做过一个模仿扫雷的程序   要判断的情况 是一样的
自己找下规律  如果需要部分关键代码  联系我


我是小菜鸟!   说的不好清见谅,   希望能够帮到你!

#5


扫描下面的斜方向上的情况……
左斜:(i,j),(i-1,y+1),(i-2,y+2),(i-3,y+3),(i-4,y+4);
右斜:(i,j),(i+1,y+1),(i+2,y+2),(i+3,y+3),(i+4,y+4);