Facebook
From Mammoth Bat, 8 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 437
  1. znak=COM_recv()&0x7F;
  2.        
  3.         if (znak)
  4.         {
  5.         switch(stan_k)
  6.         {
  7.             case 1: if(znak==':') stan_k=2;
  8.                     else stan_k=1;
  9.                     break;
  10.             case 2: if(znak>='0'&&znak<='1')
  11.                         {a=znak-'0'; stan_k=3;}
  12.                     else if(znak>='4'&&znak<='7')
  13.                         {a=znak-'0'; stan_k=7;}
  14.                     else if(znak=='3')
  15.                         {a=znak-'0'; stan_k=9;}    
  16.                     else if(znak=='A'||znak=='B'||znak=='T')
  17.                         {a=znak; stan_k=12;}    
  18.                     else stan_k=1;
  19.                     break;
  20.             case 3: if(znak>='0'&&znak<='1')
  21.                         {b=znak-'0'; stan_k=4;}
  22.                     else
  23.                         stan_k=1;
  24.                     break;
  25.             case 4: if(znak>='0'&&znak<='1')
  26.                         {c=znak-'0'; stan_k=5;}
  27.                     else
  28.                         stan_k=1;
  29.                     break;
  30.             case 5: if(znak>='0'&&znak<='1')
  31.                         {d=znak-'0'; stan_k=6;}
  32.                     else
  33.                         stan_k=1;
  34.                     break;
  35.             case 6: if(znak=='#')
  36.                     {
  37.                         X7=a; X6=b; X5=c; T=d;
  38.                         stan_k=1;
  39.                     }
  40.                     else
  41.                         stan_k=1;
  42.                     break;
  43.             case 7: if(znak>='0'&&znak<='1')
  44.                         {b=znak-'0'; stan_k=8;}
  45. else
  46.                         stan_k=1;
  47.                     break;        
  48.             case 8: if(znak=='#')
  49.                     {
  50.                         if(a==4)
  51.                         {
  52.                             T=b;
  53.                             stan_k=1;
  54.                         }
  55.                         else if(a==5)
  56.                         {
  57.                             X5=b;
  58.                             stan_k=1;
  59.                         }
  60.                         else if(a==6)
  61.                         {
  62.                              X6=b;
  63.                              stan_k=1;
  64.                         }
  65.                         else if(a==7)
  66.                         {
  67.                              X7=b;
  68.                              stan_k=1;
  69.                         }
  70.  
  71.                     }
  72.                     else
  73.                         stan_k=1;
  74.                     break;        
  75.             case 9: if(znak>='1'&&znak<='9')
  76.                         {b=znak-'0'; stan_k=10;}
  77.                     else
  78.                         stan_k=1;
  79.                     break;    
  80.             case 10: if(znak>='1'&&znak<='9')
  81.                         {c=znak-'0'; stan_k=11;}
  82.                     else
  83.                         stan_k=1;
  84.                     break;        
  85.             case 11: if(znak=='#')
  86.                     {
  87.                         T1=b;
  88.                         T2=c;
  89.                         stan_k=1;
  90.                     }
  91.                     else
  92.                         stan_k=1;
  93.                     break;            
  94.             case 12: if(znak=='#')
  95.                     {
  96.                          if(a=='A')
  97.                         {    COM_send(':');
  98.                             COM_send(Z3+'0');
  99.                             COM_send(Z4+'0');
  100.                             COM_send(Z5+'0');
  101.                             COM_send(G+'0');
  102.                             COM_send('#');
  103.                                     stan_k=1;}
  104.                         else if(a=='B')
  105.                         {     COM_send(':');
  106.                             COM_send(Z5+'0');
  107.                             COM_send('#');
  108.                             stan_k=1;}
  109.                           else if(a=='T')
  110.                         {    COM_send(':');
  111.                             COM_send(T1+'0');
  112.                             COM_send(T2+'0');
  113.                             COM_send('#');
  114.                             stan_k=1;}
  115.                     }
  116.                     else
  117.                         stan_k=1;
  118.                     break;                        
  119.         }
  120.         }
  121.  
  122.     switch(stan){
  123.     case 1: Z3=1; Z4=1; Z5=M=G=0;
  124.         if(X7){stan=2; tim3=T1*10;}break;
  125.  
  126.     case 2: Z3=1; Z4=Z5=M=G=0;
  127.         if(!tim3){stan=3;tim3= T2*10;}
  128.         else if(X6){stan=4;tim3= T2*10;}break;
  129.  
  130.     case 3: Z3=0; Z4=1; Z5=M=G=0;
  131.         if(!tim3){stan=2; tim3= T1*10;}
  132.         else if(X6){stan=4; tim3= T2*10;}break;
  133.  
  134.     case 4:Z3=1;Z4=Z5=M=G=0;
  135.         if(!tim3){stan=5;tim3= T1*10;}
  136.         else if(X5){stan=6; tim3=100;}break;
  137.  
  138.     case 5: Z3=0; Z4=1; Z5=M=G=0;
  139.         if(!tim3){stan=4;tim3= T2*10;}
  140.         else if(X5){stan=6; tim3=100;} break;
  141.  
  142.     case 6: Z3=Z4=Z5=M=0; G=1;
  143.         if(T||!tim3)stan=7; break;
  144.  
  145.     case 7: Z3=Z4=0; Z5=M=1; G=0;
  146.         if(!X6)stan=8; break;
  147.  
  148.     case 8: Z3=Z4=0; Z5=1; G=M=0;
  149.         if(!X7)stan=1;break;
  150.     }
  151.  
  152.        L1=Z3; L2=Z4; L3=Z5; L4=G; L5=M;
  153.  
  154.     if(tim3)tim3--;
  155.    
  156.  
  157.  
  158.