BlaiseEbuth

Untitled

Sep 5th, 2020
1,213
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. struct Etat{
  2.   int deep_max;
  3.   int deep;
  4. };
  5. struct Noeud{
  6.   int max;
  7.   int coup;
  8.   int score;
  9. };
  10. void minmax(Noeud *parent, int *moi, int* adv, Etat actuelle){
  11.   Noeud NOUVEAU;
  12.   int moi1[6];
  13.   int adv1[6];
  14.   int score;
  15.   actuelle.deep++;
  16.   if (actuelle.deep==actuelle.deep_max){
  17.     for (int tour=0;tour<6;tour++){
  18.       copy_tab(moi, 6, moi1);
  19.       copy_tab(adv, 6, adv1);
  20.      
  21.       score =   resolution(moi1, adv1, tour);
  22.       if (score<0){
  23.         continue;}
  24.      
  25.       //Max ou min
  26.       switch (parent->max){
  27.         case 1:
  28.           if (score>parent->score){
  29.             parent->score=score;
  30.             parent->coup=tour;
  31.           }
  32.      
  33.         case 0:
  34.           if (score<parent->score){
  35.             parent->score=score;
  36.             parent->coup=tour;
  37.           }
  38.       }
  39.     }
  40.     printf("\n");
  41.   }else{
  42.     switch (parent->max){
  43.       case 1:
  44.         //Je joue
  45.         for (int tour=0;tour<6;tour++){
  46.           copy_tab(moi, 6, moi1);
  47.           copy_tab(adv, 6, adv1);
  48.      
  49.           score =   resolution(moi1, adv1, tour);
  50.           if (score<0){continue;}
  51.           minmax(&NOUVEAU, moi1, adv1, actuelle);
  52.           if (NOUVEAU.score>parent->score){
  53.             parent->score=NOUVEAU.score;
  54.             //parent->coup=tour;
  55.           }
  56.         }
  57.       case 0:
  58.       //Il joue
  59.       for (int tour=0;tour<6;tour++){
  60.           copy_tab(moi, 6, moi1);
  61.           copy_tab(adv, 6, adv1);
  62.      
  63.           score =   resolution(adv1, moi1, tour);
  64.           if (score<0){continue;}
  65.           minmax(&NOUVEAU, moi1, adv1, actuelle);
  66.           if (-NOUVEAU.score<parent->score){
  67.             parent->score=-NOUVEAU.score;
  68.             //parent->coup=tour;
  69.             }
  70.       }
  71.     }
  72.   }
  73. }
RAW Paste Data