public boolean gameEnded()
    {
        int seeds = 0;
        
        //Player 1 - South
        for (int i = START_S; i <= END_S; i++)
        {
            seeds += board[i];
        }
        if (seeds == 0)
        {
            //Gather opponents seeds (if any)
            //Rule 6
            for (int i = START_N; i <= END_N; i++)
            {
                if (board[i] > 0)
                {
                    board[HOUSE_N] += board[i];
                    board[i] = 0;
                }
            }
            return true;
        }
        
        //Player 2 - North
        seeds = 0;
        for (int i = START_N; i <= END_N; i++)
        {
            seeds += board[i];
        }
        if (seeds == 0)
        {
            //Gather opponents seeds (if any)
            //Rule 6
            for (int i = START_S; i <= END_S; i++)
            {
                if (board[i] > 0)
                {
                    board[HOUSE_S] += board[i];
                    board[i] = 0;
                }
            }
            return true;
        }
        
        return false;
    }