Exemple #1
0
        public override bool CheckForWin(GameField gameField)
        {
            var count = 0;

            var winStatusField = new SignWinStatus[gameField.RowsCount][];

            for (int i = 0; i < gameField.RowsCount; i++)
            {
                winStatusField[i] = new SignWinStatus[gameField.ColumnsCount];
            }


            for (int i = 0; i < gameField.RowsCount; i++)
            {
                for (int j = 0; j < gameField.ColumnsCount; j++)
                {
                    if (gameField[i, j] == _wantedSign)
                    {
                        count++;
                        winStatusField[i][j] = SignWinStatus.Win;
                    }
                    if (count >= _count)
                    {
                        gameField.SignsWinStatus = winStatusField;
                        return(true);
                    }
                }
            }
            return(false);
        }
Exemple #2
0
        public override bool CheckForWin(GameField gameField)
        {
            var tempResult     = false;
            var winStatusField = new SignWinStatus[gameField.RowsCount][];

            for (int i = 0; i < gameField.RowsCount; i++)
            {
                winStatusField[i] = new SignWinStatus[gameField.ColumnsCount];
            }

            for (int i = 0; i < _countColumn; i++)
            {
                tempResult = false;
                for (int j = 0; j < gameField.RowsCount; j++)
                {
                    if (gameField[j, i] == _wantedSign)
                    {
                        tempResult           = true;
                        winStatusField[j][i] = SignWinStatus.Win;
                        break;
                    }
                }
                if (tempResult == false)
                {
                    return(false);
                }
            }
            gameField.SignsWinStatus = winStatusField;
            return(true);
        }