How do I write a function that checks whether there is a horizontal, vertical or diagonal connect N?

1 Ansicht (letzte 30 Tage)
Input:
M = [0,0,0,2,0,0,0;0,0,0,2,0,1,0;0,2,0,1,1,2,0;0,1,2,1,1,1,0;1,2,1,2,2,2,0;2,2,1,2,2,1,2]
Visualization of input:
--------------- x = 1
| | | |o| | | | o = 2
| | | |o| |x| |
| | | |x|x|o| |
| |x|o|x|x|x| |
|x|o|x|o|o|o| |
|o|o|x|o|o|x|o|
---------------
A connect 4 is present:
0 0 0 2 0 0 0
0 0 0 2 0 1 0
0 0 0 1 1 2 0
0 1 2 1 1 1 0
1 2 1 2 2 2 0
2 2 1 2 2 1 2
My question:
How do I write a function that checks whether there is a horizontal, vertical or diagonal connect N (connect 4/5/6 etc. (program is scalable)) in this matrix?
  9 Kommentare
Stephen23
Stephen23 am 16 Dez. 2019
"This function shouldnt return a 2 value, but a 0 value, idk why that's happning... there's no connect N."
Actually there is. Let me highlight it for you:
0 0 0 2 0 0 0
0 0 0 2 0 0 0
0 *2* 0 1 1 2 0
0 1 *2* 1 1 1 0
1 2 1 *2* 2 2 0
2 2 1 2 *2* 1 2
Why are you still using the outdated answer? Even though I have written around ten times that I updated/fixed my answer, you are still using the version that does not detect anti-diagonals.
The Legend
The Legend am 16 Dez. 2019
I had commented right before you posted this haha, my bad, sorry. Really appreciate the help!

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by