Guest User

Untitled

a guest
Jun 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.42 KB | None | 0 0
  1. int spostamenti[10];
  2. int canEatPCNero(int casellaInizioCEN)
  3. {
  4.     int casellaFinale = 0;
  5.     int i = 0;
  6.     if (scacchiera[casellaInizioCEN + 5] == utente
  7.             && scacchiera[casellaInizioCEN + 11] == ' ')
  8.     {
  9.         printf("canEatPCNero1\n");
  10.         spostamenti[i + 0] = casellaInizioCEN;
  11.         spostamenti[i + 1] = casellaInizioCEN + 11;
  12.         spostamenti[i + 1] = casellaInizioCEN + 5;
  13.         while (canEatPCNero(casellaInizioCEN + 11) != -1)
  14.         {
  15.             contaMangiateNero += 1;
  16.             i++;
  17.             printf("canEatPCNero2\n");
  18.         }
  19.         return 1;
  20.     }
  21.     else if (scacchiera[casellaInizioCEN + 4] == utente
  22.             && scacchiera[casellaInizioCEN + 9] == ' ')
  23.     {
  24.         printf("canEatPCNero3\n");
  25.         spostamenti[i + 0] = casellaInizioCEN;
  26.         spostamenti[i + 1] = casellaInizioCEN + 9;
  27.         spostamenti[i + 1] = casellaInizioCEN + 4;
  28.         while (canEatPCNero(casellaInizioCEN + 11) != -1)
  29.         {
  30.             contaMangiateNero += 1;
  31.             i++;
  32.             printf("canEatPCNero4\n");
  33.         }
  34.         return 1;
  35.     }
  36.     return -1;
  37. }
  38. int spostamentoPedinaNero(int casellaInizioSPN)
  39. {
  40.     int casellaFinale = 0;
  41.     if (casellaInizioSPN == 4 || casellaInizioSPN == 5 || casellaInizioSPN == 14
  42.             || casellaInizioSPN == 15 || casellaInizioSPN == 25
  43.             || casellaInizioSPN == 34 || casellaInizioSPN == 35
  44.             || casellaInizioSPN == 44 || casellaInizioSPN == 45)
  45.     {
  46.         if (scacchiera[casellaInizioSPN + 5] == ' '
  47.                 && scacchiera[casellaInizioSPN + 11] == ' ')
  48.         {
  49.             casellaFinale = casellaInizioSPN + 5;
  50.             scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
  51.             scacchiera[casellaInizioSPN] = ' ';
  52.             printf("casellafinale1%d\n", casellaFinale);
  53.             return casellaFinale;
  54.         }
  55.     }
  56.     else
  57.     {
  58.         if (scacchiera[casellaInizioSPN + 4] == ' '
  59.                 && scacchiera[casellaInizioSPN + 9] == ' ')
  60.         {
  61.             casellaFinale = casellaInizioSPN + 4;
  62.             scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
  63.             scacchiera[casellaInizioSPN] = ' ';
  64.             printf("casellafinale2%d\n", casellaFinale);
  65.             return casellaFinale;
  66.         }
  67.         if (scacchiera[casellaInizioSPN + 5] == ' '
  68.                 && scacchiera[casellaInizioSPN + 11] == ' ')
  69.         {
  70.             casellaFinale = casellaInizioSPN + 5;
  71.             scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
  72.             scacchiera[casellaInizioSPN] = ' ';
  73.             printf("casellafinale3%d\n", casellaFinale);
  74.             return casellaFinale;
  75.         }
  76.     }
  77.     return -1;
  78.  
  79. }
  80. int mangiataPCPedina(int nMangiate)
  81. {
  82.     int j;
  83.     printf("sono dentro la mangiataPCPedina");
  84.     for (j = 0; j < nMangiate; j++)
  85.     {
  86.         /*spostamenti[j+2] indica la casella di posizionemento dp aver mangiato
  87.          * spostamenti[j+1] indica la casella con la pedina da mangiare
  88.          * spostamenti[j] c'รจ la pedina che mangia
  89.          */
  90.         scacchiera[spostamenti[j + 2]] = scacchiera[spostamenti[j]];
  91.         scacchiera[spostamenti[j + 1]] = ' ';
  92.         scacchiera[spostamenti[j]] = ' ';
  93.     }
  94.  
  95.     return 1;
  96. }
  97.  
  98. int FunzionePCNero()
  99. {
  100.     int i;
  101.     int j;
  102.     int tempCEN;
  103.     int tempSPN;
  104.     int posizione = 0;
  105.     //controllo se puo mangiare
  106.     for (i = 0; i < 50; i++)
  107.     {
  108.         if (scacchiera[i] == 'n')
  109.         {
  110.             tempCEN = canEatPCNero(i);
  111.             if (tempCEN != -1)
  112.             {
  113.                 if (posizione <= contaMangiateNero)
  114.                 {
  115.                     posizione = contaMangiateNero;
  116.                 }
  117.             }
  118.         }
  119.     }
  120.     contaMangiateNero = 0;
  121.     if (posizione != 0)
  122.     {
  123.         mangiataPCPedina(posizione);
  124.         return 1;
  125.     }
  126.  
  127.     //non potendo mangiare faccio lo spostamento
  128.     for (j = 49; j >= 0; j--)
  129.     {
  130.         if (scacchiera[j] == 'n')
  131.         {
  132.             tempSPN = spostamentoPedinaNero(j);
  133.             if (tempSPN != -1)
  134.             {
  135.                 nMosseNero += 1;
  136.  
  137.                 return 1;
  138.  
  139.             }
  140.         }
  141.     }
  142.  
  143.     return 0;
  144. }
Add Comment
Please, Sign In to add comment