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
`