Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int victoire(int * ptdebut)
- {
- int * ptfin = ptdebut + NBL*NBC - 1;
- int * ptactuel = ptdebut;
- int precedent=0;
- int suite,i=0,j=0;
- // Détection horizontale
- while(i<NBL && suite<4)
- {
- precedent = 0;
- suite = 0;
- for(j=0;j<NBC;j++,ptactuel++)
- {
- if(*ptactuel==precedent)
- suite++;
- else
- {
- suite = 1;
- precedent=*ptactuel;
- }
- }
- if(suite<4)
- suite = 0;
- i++;
- }
- //Détection Verticale
- if(suite<4)
- {
- i=0;
- while(i<NBC && suite<4)
- {
- precedent = 0;
- suite = 0;
- ptactuel=ptdebut+i;
- while(ptactuel<ptfin)
- {
- if(*ptactuel==precedent)
- suite++;
- else
- {
- suite = 1;
- precedent=*ptactuel;
- }
- ptactuel+=NBC;
- }
- if(suite<4)
- suite = 0;
- i++;
- }
- if(suite<4)
- {
- //Détection oblique -> droite
- i=0;
- while(i<NBC && suite<4)
- {
- precedent = 0;
- suite = 0;
- ptactuel=ptdebut+i-2;
- while(ptactuel<ptfin)
- {
- if((ptactuel<ptdebut))
- {
- if(*ptactuel==precedent)
- suite++;
- else
- {
- suite = 1;
- precedent=*ptactuel;
- }
- ptactuel+=NBC+1;
- }
- else
- ptactuel+=NBC*(ptdebut-ptactuel)+(ptdebut-ptactuel);
- }
- if(suite<4)
- suite = 0;
- i++;
- }
- if(suite<4)
- {
- i=0;
- while(i<NBC && suite<4)
- {
- precedent = 0;
- suite = 0;
- ptactuel=ptdebut+i+2;
- if(ptactuel<ptdebut+NBC)
- {
- while(ptactuel<ptfin)
- {
- if(*ptactuel==precedent)
- suite++;
- else
- {
- suite = 1;
- precedent=*ptactuel;
- }
- ptactuel+=NBC-1;
- }
- }
- else
- ptactuel+=NBC*(ptfin-ptactuel)-(ptfin-ptactuel);
- if(suite<4)
- suite = 0;
- i++;
- }
- }
- }
- }
- return suite;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement