Here is the code I have. Hopefully it's self explanatory:
Code:
// Game functions
#include "game.h"
bool check::win(char icon, char board[3][3])
{
if(check::horizontal(icon, board))
return true;
else if(check::vertical(icon, board))
return true;
else if(check::diagonal(icon, board))
return true;
return false;
}
bool check::horizontal(char icon, char board[3][3])
{
int counter = 0;
for(int i = 0; i < 3; i ++)
{
for(int t = 0; t < 3; t ++)
{
if(board[i][t] == icon)
counter ++;
}
if(counter == 3)
return true;
counter = 0;
}
return false;
}
bool check::vertical(char icon, char board[3][3])
{
int counter = 0;
for(int i = 0; i < 3; i ++)
{
for(int t = 0; t < 7; t += 3)
{
if(board[i][t] == icon)
counter ++;
}
if(counter == 3)
return true;
counter = 0;
}
return false;
}
bool check::diagonal(char icon, char board[3][3])
{
int counter = 0;
return false;
}
I'm stumped on how I could use for loops to check for a diagonal win. Any suggestions?