Advertisement
furest

Untitled

Dec 7th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.06 KB | None | 0 0
  1. int victoire(int * ptdebut)
  2. {
  3.     int * ptfin = ptdebut + NBL*NBC - 1;
  4.     int * ptactuel = ptdebut;
  5.     int precedent=0;
  6.     int suite,i=0,j=0;
  7.     // Détection horizontale
  8.     while(i<NBL && suite<4)
  9.     {
  10.         precedent = 0;
  11.         suite = 0;
  12.         for(j=0;j<NBC;j++,ptactuel++)
  13.         {
  14.             if(*ptactuel==precedent)
  15.                 suite++;
  16.             else
  17.             {
  18.                 suite = 1;
  19.                 precedent=*ptactuel;
  20.             }
  21.         }
  22.         if(suite<4)
  23.             suite = 0;
  24.         i++;
  25.     }
  26.     //Détection Verticale
  27.     if(suite<4)
  28.     {
  29.         i=0;
  30.         while(i<NBC && suite<4)
  31.         {
  32.             precedent = 0;
  33.             suite = 0;
  34.             ptactuel=ptdebut+i;
  35.             while(ptactuel<ptfin)
  36.             {
  37.                     if(*ptactuel==precedent)
  38.                         suite++;
  39.                     else
  40.                     {
  41.                         suite = 1;
  42.                         precedent=*ptactuel;
  43.                     }
  44.                     ptactuel+=NBC;
  45.             }
  46.             if(suite<4)
  47.                 suite = 0;
  48.             i++;
  49.         }
  50.         if(suite<4)
  51.         {
  52.             //Détection oblique -> droite
  53.             i=0;
  54.             while(i<NBC && suite<4)
  55.             {
  56.                 precedent = 0;
  57.                 suite = 0;
  58.                 ptactuel=ptdebut+i-2;
  59.                 while(ptactuel<ptfin)
  60.                 {
  61.                     if((ptactuel<ptdebut))
  62.                     {
  63.                         if(*ptactuel==precedent)
  64.                             suite++;
  65.                         else
  66.                         {
  67.                             suite = 1;
  68.                             precedent=*ptactuel;
  69.                         }
  70.                     ptactuel+=NBC+1;
  71.                     }
  72.                     else
  73.                     ptactuel+=NBC*(ptdebut-ptactuel)+(ptdebut-ptactuel);
  74.                 }
  75.                 if(suite<4)
  76.                     suite = 0;
  77.                 i++;
  78.             }
  79.             if(suite<4)
  80.             {
  81.                 i=0;
  82.                 while(i<NBC && suite<4)
  83.                 {
  84.                     precedent = 0;
  85.                     suite = 0;
  86.                     ptactuel=ptdebut+i+2;
  87.                     if(ptactuel<ptdebut+NBC)
  88.                     {
  89.                         while(ptactuel<ptfin)
  90.                         {
  91.                                 if(*ptactuel==precedent)
  92.                                     suite++;
  93.                                 else
  94.                                 {
  95.                                     suite = 1;
  96.                                     precedent=*ptactuel;
  97.                                 }
  98.                             ptactuel+=NBC-1;
  99.  
  100.                         }
  101.                     }
  102.                     else
  103.                     ptactuel+=NBC*(ptfin-ptactuel)-(ptfin-ptactuel);
  104.                     if(suite<4)
  105.                         suite = 0;
  106.                     i++;
  107.                 }
  108.         }
  109.     }
  110.     }
  111.     return suite;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement