main.c
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
unsigned short chessboard [ 3 ][ 3 ];
unsigned short scores [ 3 ][ 3 ];
void playerSet ();
void AISet ();
void display ();
bool isFull ();
bool isWin ();
void initChessboard ();
int main ( void )
{
initChessboard ();
display ();
while ( !isWin() )
{
if ( isFull ( ) )
{
puts ( "平局!" );
exit ( 0 );
}
playerSet ();
AISet ();
display ();
}
system ( "pause" );
return 0;
}
void initChessboard ()
{
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j < 3; j++ )
{
chessboard [ i ][ j ] = 1;
}
}
}
bool isFull ()
{
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j < 3; j++ )
{
if ( chessboard [ i ][ j ] == 1 )
{
return false;
}
}
}
return true;
}
bool isWin ()
{
int sum = 0;
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j < 3; j++ )
{
sum += chessboard [ i ][ j ];
}
if ( sum == 6 )
{
puts ( "人类获胜" );
return true;
}
if ( sum == 15 )
{
puts ( "电脑获胜" );
return true;
}
sum = 0;
}
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j < 3; j++ )
{
sum += chessboard [ j ][ i ];
}
if ( sum == 6 )
{
puts ( "人类获胜" );
return true;
}
if ( sum == 15 )
{
puts ( "电脑获胜" );
return