Puissance_4.c
int checkFourInLine(int nbLin, int nbCol, int board[nbLin] [nbCol], int pawnLin, int pawnCol) 
{ 
	// Les variables pour la fonction checkFourInLine
    int coordo; 
    int nbr; 
    int horizontal; 
    int vertical; 

    coordo = board[pawnLin][pawnCol]; 
    // La verification horizontale

    // La verification a gauche 
    nbr = 1; 
    horizontal=pawnCol-1; 
    while(horizontal>=0 && board[pawnLin][horizontal]==coordo) 
    { 
        nbr++; 
        horizontal--; 
    } 
    // La verification a droite 
    horizontal=pawnCol+1; 
    while(horizontal<nbCol && board[pawnLin][horizontal]==coordo) 
    { 
        nbr++; 
        horizontal++; 
    } 
    if(nbr>=4) 
    { 	
    	// comme nbr >= 4 on retourne 1 
        return 1; 
    } 

    nbr=1; // reinitialisation du compteur 

    // La verification verticale 

    // La verification vers le haut 
    vertical=pawnLin-1; 
    while(vertical>=0 && board[vertical][pawnCol]==coordo) 
    { 
        nbr++; 
        vertical--; 
    } 
    // La verification vers le bas 
    vertical=pawnLin+1; 
    while(vertical<nbLin && board[vertical][pawnCol]==coordo) 
    { 
        nbr++; 
        vertical++; 
    } 
    if(nbr>=4) 
    { 

        return 1; 
    } 
    
    nbr=1; // reinitialisation du compteur 

    //La verification 1ere diagonale 
    horizontal=pawnCol-1; 
    vertical=pawnLin-1; 
    while(vertical>=0 && horizontal>=0 && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical--; 
        horizontal--; 
    } 
    horizontal=pawnCol+1; 
    vertical=pawnLin+1; 
    while(vertical<nbLin && horizontal<nbCol && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical++; 
        horizontal++; 
    } 
    if(nbr>=4) 
    { 
        return 1; 
    } 

    nbr=1; // reinitialisation du compteur
    
    //verification 2eme diagonale 
    horizontal=pawnCol-1; 
    vertical=pawnLin+1; 
    while(vertical<nbLin && horizontal>=0 && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical++; 
        horizontal--; 
    } 
    horizontal=pawnCol+1; 
    vertical=pawnLin-1; 
    while(vertical>=0 && horizontal<nbCol && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical--; 
        horizontal++; 
    } 
    if(nbr>=4) return 1; 
    return 0; 
}
// La fonction checkFourInLine Comtabilise le nombre de pion selon la verticale, l'horizontale et les 2 diagonales
La fonction checkFourInLine Comtabilise le nombre de pion selon la verticale, l'horizontale et les 2 diagonales
La fonction checkFourInLine Comtabilise le nombre de pion selon la verticale l ' horizontale et les 2 diagonales
int checkFourInLine(int nbLin, int nbCol, int board[nbLin] [nbCol], int pawnLin, int pawnCol) 
{ 
    int coordo; 
    int nbr; 
    int horizontal; 
    int vertical; 
    coordo = board[pawnLin][pawnCol]; 
    nbr = 1; 
    horizontal=pawnCol-1; 
    while(horizontal>=0 && board[pawnLin][horizontal]==coordo) 
    { 
        nbr++; 
        horizontal--; 
    } 
    horizontal=pawnCol+1; 
    while(horizontal<nbCol && board[pawnLin][horizontal]==coordo) 
    { 
        nbr++; 
        horizontal++; 
    } 
    if(nbr>=4) 
    { 	
        return 1; 
    } 
    nbr=1; 
    vertical=pawnLin-1; 
    while(vertical>=0 && board[vertical][pawnCol]==coordo) 
    { 
        nbr++; 
        vertical--; 
    } 
    vertical=pawnLin+1; 
    while(vertical<nbLin && board[vertical][pawnCol]==coordo) 
    { 
        nbr++; 
        vertical++; 
    } 
    if(nbr>=4) 
    { 
        return 1; 
    } 
    nbr=1; 
    horizontal=pawnCol-1; 
    vertical=pawnLin-1; 
    while(vertical>=0 && horizontal>=0 && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical--; 
        horizontal--; 
    } 
    horizontal=pawnCol+1; 
    vertical=pawnLin+1; 
    while(vertical<nbLin && horizontal<nbCol && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical++; 
        horizontal++; 
    } 
    if(nbr>=4) 
    { 
        return 1; 
    } 
    nbr=1; 
    horizontal=pawnCol-1; 
    vertical=pawnLin+1; 
    while(vertical<nbLin && horizontal>=0 && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical++; 
        horizontal--; 
    } 
    horizontal=pawnCol+1; 
    vertical=pawnLin-1; 
    while(vertical>=0 && horizontal<nbCol && board[vertical][horizontal]==coordo) 
    { 
        nbr++; 
        vertical--; 
        horizontal++; 
    } 
    if(nbr>=4) return 1; 
    return 0; 
}
int checkFourInLine ( int nbLin , int nbCol , int board [ nbLin ] [ nbCol ] , int pawnLin , int pawnCol ) { int coordo ; int nbr ; int horizontal ; int vertical ; coordo = board [ pawnLin ] [ pawnCol ] ; nbr = 1 ; horizontal = pawnCol - 1 ; while ( horizontal >= 0 && board [ pawnLin ] [ horizontal ] == coordo ) { nbr ++ ; horizontal -- ; } horizontal = pawnCol + 1 ; while ( horizontal < nbCol && board [ pawnLin ] [ horizontal ] == coordo ) { nbr ++ ; horizontal ++ ; } if ( nbr >= 4 ) { return 1 ; } nbr = 1 ; vertical = pawnLin - 1 ; while ( vertical >= 0 && board [ vertical ] [ pawnCol ] == coordo ) { nbr ++ ; vertical -- ; } vertical = pawnLin + 1 ; while ( vertical < nbLin && board [ vertical ] [ pawnCol ] == coordo ) { nbr ++ ; vertical ++ ; } if ( nbr >= 4 ) { return 1 ; } nbr = 1 ; horizontal = pawnCol - 1 ; vertical = pawnLin - 1 ; while ( vertical >= 0 && horizontal >= 0 && board [ vertical ] [ horizontal ] == coordo ) { nbr ++ ; vertical -- ; horizontal -- ; } horizontal = pawnCol + 1 ; vertical = pawnLin + 1 ; while ( vertical < nbLin && horizontal < nbCol && board [ vertical ] [ horizontal ] == coordo ) { nbr ++ ; vertical ++ ; horizontal ++ ; } if ( nbr >= 4 ) { return 1 ; } nbr = 1 ; horizontal = pawnCol - 1 ; vertical = pawnLin + 1 ; while ( vertical < nbLin && horizontal >= 0 && board [ vertical ] [ horizontal ] == coordo ) { nbr ++ ; vertical ++ ; horizontal -- ; } horizontal = pawnCol + 1 ; vertical = pawnLin - 1 ; while ( vertical >= 0 && horizontal < nbCol && board [ vertical ] [ horizontal ] == coordo ) { nbr ++ ; vertical -- ; horizontal ++ ; } if ( nbr >= 4 ) return 1 ; return 0 ; }
La fonction checkFourInLine Comtabilise le nombre de pion selon la verticale, l'horizontale et les 2 diagonales
La fonction checkFourInLine Comtabilise le nombre de pion selon la verticale l ' horizontale et les 2 diagonales
// Les variables pour la fonction checkFourInLine // La verification horizontale // La verification a gauche  // La verification a droite  // comme nbr >= 4 on retourne 1  // reinitialisation du compteur  // La verification verticale  // La verification vers le haut  // La verification vers le bas  // reinitialisation du compteur  //La verification 1ere diagonale  // reinitialisation du compteur //verification 2eme diagonale 