My winning conditions for rows and columns works completely fine. However, my diagonals do not. It will say you have won if you get your own number in 4 different rows and not in a direct diagonal as the game is meant to be played.
%check if won by columns
for column = 1:7
counter = 0;
for row = 1:6
if(board(row,column) == players(1,2))
counter = counter + 1;
if(counter == 4)
fprintf('You win! \n')
break
end
else
counter = 0;
end
end
end
%check if won by rows
for row = 1:6
counter = 0;
for column = 1:7
if(board(row, column) == players(1,2))
counter = counter + 1;
if(counter == 4)
fprintf('You win! \n')
break
end
else
counter = 0;
end
end
end
%check if won by diagonal \ 1
for column = 1:4
for row = 1:3
counter = 0;
if(board(row, column) == players(1))
counter = (row+1), (column+1), (row+2), (column+2), (row+3), (column+3);
if(counter == 4)
fprintf('You win! \n')
break
end
else
counter = 0;
end
end
end
%check if won by diagonal / 1
for column = 7:-1:4
for row = 1:3
counter = 0;
if(board(row, column) == players(1))
counter = (row+1), (column-1), (row+2), (column-2), (row+3), (column-3);
if(counter == 4)
fprintf('You win! \n')
break
end
else
counter = 0;
end
end
end