Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int spostamenti[10];
- int canEatPCNero(int casellaInizioCEN)
- {
- int casellaFinale = 0;
- int i = 0;
- if (scacchiera[casellaInizioCEN + 5] == utente
- && scacchiera[casellaInizioCEN + 11] == ' ')
- {
- printf("canEatPCNero1\n");
- spostamenti[i + 0] = casellaInizioCEN;
- spostamenti[i + 1] = casellaInizioCEN + 11;
- spostamenti[i + 1] = casellaInizioCEN + 5;
- while (canEatPCNero(casellaInizioCEN + 11) != -1)
- {
- contaMangiateNero += 1;
- i++;
- printf("canEatPCNero2\n");
- }
- return 1;
- }
- else if (scacchiera[casellaInizioCEN + 4] == utente
- && scacchiera[casellaInizioCEN + 9] == ' ')
- {
- printf("canEatPCNero3\n");
- spostamenti[i + 0] = casellaInizioCEN;
- spostamenti[i + 1] = casellaInizioCEN + 9;
- spostamenti[i + 1] = casellaInizioCEN + 4;
- while (canEatPCNero(casellaInizioCEN + 11) != -1)
- {
- contaMangiateNero += 1;
- i++;
- printf("canEatPCNero4\n");
- }
- return 1;
- }
- return -1;
- }
- int spostamentoPedinaNero(int casellaInizioSPN)
- {
- int casellaFinale = 0;
- if (casellaInizioSPN == 4 || casellaInizioSPN == 5 || casellaInizioSPN == 14
- || casellaInizioSPN == 15 || casellaInizioSPN == 25
- || casellaInizioSPN == 34 || casellaInizioSPN == 35
- || casellaInizioSPN == 44 || casellaInizioSPN == 45)
- {
- if (scacchiera[casellaInizioSPN + 5] == ' '
- && scacchiera[casellaInizioSPN + 11] == ' ')
- {
- casellaFinale = casellaInizioSPN + 5;
- scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
- scacchiera[casellaInizioSPN] = ' ';
- printf("casellafinale1%d\n", casellaFinale);
- return casellaFinale;
- }
- }
- else
- {
- if (scacchiera[casellaInizioSPN + 4] == ' '
- && scacchiera[casellaInizioSPN + 9] == ' ')
- {
- casellaFinale = casellaInizioSPN + 4;
- scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
- scacchiera[casellaInizioSPN] = ' ';
- printf("casellafinale2%d\n", casellaFinale);
- return casellaFinale;
- }
- if (scacchiera[casellaInizioSPN + 5] == ' '
- && scacchiera[casellaInizioSPN + 11] == ' ')
- {
- casellaFinale = casellaInizioSPN + 5;
- scacchiera[casellaFinale] = scacchiera[casellaInizioSPN];
- scacchiera[casellaInizioSPN] = ' ';
- printf("casellafinale3%d\n", casellaFinale);
- return casellaFinale;
- }
- }
- return -1;
- }
- int mangiataPCPedina(int nMangiate)
- {
- int j;
- printf("sono dentro la mangiataPCPedina");
- for (j = 0; j < nMangiate; j++)
- {
- /*spostamenti[j+2] indica la casella di posizionemento dp aver mangiato
- * spostamenti[j+1] indica la casella con la pedina da mangiare
- * spostamenti[j] c'รจ la pedina che mangia
- */
- scacchiera[spostamenti[j + 2]] = scacchiera[spostamenti[j]];
- scacchiera[spostamenti[j + 1]] = ' ';
- scacchiera[spostamenti[j]] = ' ';
- }
- return 1;
- }
- int FunzionePCNero()
- {
- int i;
- int j;
- int tempCEN;
- int tempSPN;
- int posizione = 0;
- //controllo se puo mangiare
- for (i = 0; i < 50; i++)
- {
- if (scacchiera[i] == 'n')
- {
- tempCEN = canEatPCNero(i);
- if (tempCEN != -1)
- {
- if (posizione <= contaMangiateNero)
- {
- posizione = contaMangiateNero;
- }
- }
- }
- }
- contaMangiateNero = 0;
- if (posizione != 0)
- {
- mangiataPCPedina(posizione);
- return 1;
- }
- //non potendo mangiare faccio lo spostamento
- for (j = 49; j >= 0; j--)
- {
- if (scacchiera[j] == 'n')
- {
- tempSPN = spostamentoPedinaNero(j);
- if (tempSPN != -1)
- {
- nMosseNero += 1;
- return 1;
- }
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment