Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int canEatPCNero(int casellaInizioCEN, int caselladx, int casellasx)
- {
- /*flag che indica quale delle due diagonali prendere*/
- int lat = 0;
- righe(casellaInizioCEN);
- if (scacchiera[casellaIdiagonaleSxN] == utente
- && scacchiera[casellaIIdiagonaleSxN] == ' ')
- {
- spostamenti[indice] = casellaIIdiagonaleSxN;
- spostamenti[++indice] = casellaIdiagonaleSxN;
- spostamenti[++indice] = casellaInizioCEN;
- contaMangiateNero += 1;
- return 1;
- }
- else if (scacchiera[casellaIdiagonaleDxN] == utente
- && scacchiera[casellaIIdiagonaleDxN] == ' ')
- {
- spostamenti[indice] = casellaIIdiagonaleDxN;
- spostamenti[++indice] = casellaIdiagonaleDxN;
- spostamenti[++indice] = casellaInizioCEN;
- contaMangiateNero += 1;
- lat = 1;
- return 1;
- }
- else
- {
- if (lat == 1)
- {
- ++indice;
- int temp = casellaIIdiagonaleDxN;
- righe(temp);
- return canEatPCNero(temp, casellaIdiagonaleDxN,
- casellaIdiagonaleSxN);
- }
- else
- ++indice;
- int temp = casellaIIdiagonaleDxN;
- righe(temp);
- return canEatPCNero(temp,casellaIdiagonaleDxN,casellaIdiagonaleSxN);
- }
- return 0;
- }
- int spostamentoPedinaNero(int casellaInizioSPN)
- {
- righe(casellaInizioSPN);
- if (scacchiera[casellaIdiagonaleSxN] == ' ')
- {
- if (scacchiera[casellaIIdiagonaleSxN] != utente)
- {
- scacchiera[casellaIdiagonaleSxN] = scacchiera[casellaInizioSPN];
- scacchiera[casellaInizioSPN] = ' ';
- printf("coordinate PC: %d - %d\n", casellaInizioSPN,
- casellaIdiagonaleSxN);
- return casellaIdiagonaleSxN;
- }
- else
- return -1;
- }
- else if (scacchiera[casellaIdiagonaleDxN] == ' ')
- {
- if (scacchiera[casellaIIdiagonaleDxN] != utente)
- {
- scacchiera[casellaIdiagonaleDxN] = scacchiera[casellaInizioSPN];
- scacchiera[casellaInizioSPN] = ' ';
- printf("coordinate PC: %d - %d", casellaInizioSPN,
- casellaIdiagonaleDxN);
- return casellaIdiagonaleSxN;
- }
- else
- return -1;
- }
- return -1;
- }
- int mangiataPCPedina(int nMangiate)
- {
- int j;
- for (j = 0; j < nMangiate; j++)
- {
- scacchiera[spostamenti[j]] = scacchiera[spostamenti[j + 2]];
- scacchiera[spostamenti[j + 1]] = ' ';
- scacchiera[spostamenti[j + 2]] = ' ';
- j++;
- }
- pedineMangiateNero += 1;
- return 1;
- }
- int FunzionePCNero()
- {
- int i;
- int j;
- int posizione = 0;
- //controllo se PC puo mangiare
- for (i = 0; i < 50; i++)
- {
- if (scacchiera[i] == 'n')
- {
- if (canEatPCNero(i,casellaIdiagonaleSxN,casellaIdiagonaleDxN) != -1)
- {
- if (posizione <= contaMangiateNero)
- {
- posizione = contaMangiateNero;
- indice = 0;
- }
- }
- }
- }
- contaMangiateNero = 0;
- if (posizione != 0)
- {
- mangiataPCPedina(posizione);
- int k;
- //stampa le coordinate delle mangiate del programma
- printf("mangiata del programma:\n");
- for (k = 0; k < posizione; k++)
- {
- printf("%d - ", spostamenti[k]);
- }
- pedineMangiateNero = posizione;
- return 1;
- }
- //non potendo mangiare faccio lo spostamento
- for (j = 49; j >= 0; j--)
- {
- if (scacchiera[j] == 'n')
- {
- if (spostamentoPedinaNero(j) != -1)
- {
- nMosseNero += 1;
- return 1;
- }
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment