Introduction to Evaluation Function of Minimax Algorithm in Game Theory (original) (raw)

`// C# program to compute evaluation function for // Tic Tac Toe Game. using System;

class GFG {

// Returns a value based on who is winning // b[3,3] is the Tic-Tac-Toe board static int evaluate(char [,]b) { // Checking for Rows for X or O victory. for (int row = 0; row < 3; row++) { if (b[row, 0] == b[row, 1] && b[row, 1] == b[row, 2]) { if (b[row, 0] == 'x') return +10; else if (b[row, 0] == 'o') return -10; } }

// Checking for Columns for X or O victory.
for (int col = 0; col < 3; col++)
{
    if (b[0, col] == b[1, col] && b[1, col] == b[2, col])
    {
        if (b[0, col] == 'x')
            return +10;
        else if (b[0, col] == 'o')
            return -10;
    }
}

// Checking for Diagonals for X or O victory.
if (b[0, 0] == b[1, 1] && b[1, 1] == b[2, 2])
{
    if (b[0, 0] == 'x')
        return +10;
    else if (b[0, 0] == 'o')
        return -10;
}
if (b[0, 2] == b[1, 1] && b[1, 1] == b[2, 0])
{
    if (b[0, 2] == 'x')
        return +10;
    else if (b[0, 2] == 'o')
        return -10;
}

// Else if none of them have won then return 0
return 0;

}

// Driver code public static void Main(String[] args) { char [,]board = { { 'x', '', 'o'}, { '', 'x', 'o'}, { '', '', 'x'} };

int value = evaluate(board);
Console.Write("The value of this board is {0}\n", value);

} }

// This code is contributed by Rajput-Ji

`