int main(int argc, char *argv[]) { if(argc>1 && argv[1][0]=='-' && argv[1][1]=='r') /* appel du test de régression */ { regression(); return 0; } int contreordinateur, niveauordinateur, plateau; /* paramètres de jeu par défaut */ contreordinateur = 1; niveauordinateur = 3; plateau = 1; while(menuPrincipal(&contreordinateur, &niveauordinateur, &plateau)==1) { Jouer( contreordinateur, niveauordinateur, plateau); } return 0; }
//---------------------------------------------------------------------- int main() { P4 p=NouveauP(); Bool iQuit=0,iFermer=0; int c; srand(time(NULL)); printf("\n Bienvenue dans le puissance 4 \n"); while (iFermer!=1) { iQuit=0; printf("choisisez un mode \n 1 -> 1 Joueur \n 2 -> 2 joueurs \n 3 -> Quitter\n"); scanf("%d",&c); switch(c) { case 2 :while(iQuit==0) { AffichageGrille(p); if(Aquiletour(p)) { printf("\n>>>>> Joueur 1 à vous <<<<<\n Entrer un numero de colonne pour inserer votre pion \n"); c=recuperCol(); if((AlignHoriz(p,c)>=4)||(AlignVert(p,c)>=4)||(AlignDiagDroite(p,c)>=4)||(AlignDiagGauche(p,c)>=4)) { printf("\n>>>>>$$$$$$ Jackpot Joueur 1 $$$$$$ <<<<< \n"); iQuit=1; } else { p=AjouterPion(p,c,1); } } else { printf("\n>>>>> Joueur 2 à vous <<<<<\n Entrer un numero de colonne pour inserer votre pion \n"); c=recuperCol(); if((AlignHoriz(p,c)>=4)||(AlignVert(p,c)>=4)||(AlignDiagDroite(p,c)>=4)||(AlignDiagGauche(p,c)>=4)) { printf("\n>>>>> $$$$$$ Jackpot Joueur 2 $$$$$$ <<<<< \n"); iQuit=1; } else { p=AjouterPion(p,c,0); } } } p=vider_grille(p); break; case 1: while(iQuit==0) { AffichageGrille(p); if(Aquiletour(p)) { printf("\n>>>>> Joueur 1 à vous <<<<<\n Entrer un numero de colonne pour inserer votre pion \n"); c=recuperCol(); if((AlignHoriz(p,c)>=4)||(AlignVert(p,c)>=4)||(AlignDiagDroite(p,c)>=4)||(AlignDiagGauche(p,c)>=4)) { printf("\n>>>>>$$$$$$ Jackpot Joueur 1 $$$$$$ <<<<< \n"); iQuit=1; } else { p=AjouterPion(p,c,1); } } else { printf(" \n L'IA va jouer patienter. \n"); if((AlignHoriz(p,Contrer(p))>=4)||(AlignVert(p,Contrer(p))>=4)||(AlignDiagDroite(p,Contrer(p))>=4)||(AlignDiagGauche(p,Contrer(p))>=4)||(AlignHoriz(p,Jouer(p))>=4)||(AlignVert(p,Jouer(p))>=4)||(AlignDiagDroite(p,Jouer(p))>=4)||(AlignDiagGauche(p,Jouer(p))>=4)) { printf("\n>>>>> $$$$$$ Jackpot IA $$$$$$ <<<<< \n"); iQuit=1; } else { if(MaxContrer(p)>3) { p=AjouterPion(p,Contrer(p),0); } else { if(MaxJouer(p)>3) { p=AjouterPion(p,Jouer(p),0); } else { if(MaxContrer(p)>2) { p=AjouterPion(p,Contrer(p),0); } else { if(MaxJouer(p)>2) { p=AjouterPion(p,Jouer(p),0); } else { p=AjouterPion(p,randIA(),0); } } } } } } } p=vider_grille(p); break; case 3: iFermer=1; break; case 4: while(iQuit!=1) { AffichageGrille(p); if(Aquiletour(p)) { printf("\n>>>>> Joueur 1 à vous <<<<<\n Entrer un numero de colonne pour inserer votre pion \n"); c=recuperCol(); if((AlignHoriz(p,c)>=4)||(AlignVert(p,c)>=4)||(AlignDiagDroite(p,c)>=4)||(AlignDiagGauche(p,c)>=4)) { printf("\n>>>>>$$$$$$ Jackpot Joueur 1 $$$$$$ <<<<< \n"); iQuit=1; } else { p=AjouterPion(p,c,1); } } else { printf("\n>>>>> Joueur Ordi à vous <<<<<\n Entrer un numero de colonne pour inserer votre pion \n"); c=score(p); printf("\n score : %d \n",c); if((AlignHoriz(p,c)>=4)||(AlignVert(p,c)>=4)||(AlignDiagDroite(p,c)>=4)||(AlignDiagGauche(p,c)>=4)) { printf("\n>>>>>$$$$$$ Jackpot Joueur Ordi $$$$$$ <<<<< \n"); iQuit=1; } else { p=AjouterPion(p,c,1); } } } p=vider_grille(p); break; default : printf(" \n MAUVAIS NOMBRE\n"); break; } } free(p->Tour->v); free(p->Tour); free(p); return 0; }