SHARE
TWEET

Untitled

Essam_khames Dec 16th, 2018 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void set_checks1(void)
  2. {
  3.  
  4.  
  5.     int i,j,k,q;
  6.     for(k=0;k<ROWS;k++)
  7.     {
  8.         for(q=0;q<COLUMNS;q++)
  9.         {
  10.             movability1[k][q]=movability2[k][q]=0;
  11.             checkedby1[k+1][q+1]=checkedby2[k+1][q+1]=0;
  12.             if(islower(domain[k][q]))
  13.                 occupied[k][q]=1;
  14.             else if(isupper(domain[k][q]))
  15.                 occupied[k][q]=2;
  16.             else
  17.                 occupied[k][q]=0;
  18.         }
  19.     }
  20.     for(i=0; i<ROWS;i++)
  21.     {
  22.         for(j=0; j<COLUMNS; j++)
  23.         {
  24.             if(occupied[i][j]==1){
  25.            
  26.                 if(domain[i][j]=='r')
  27.                 {
  28.                     k=i+1;
  29.                     while(!occupied[k][j]&&k<ROWS)
  30.                     {
  31.                         checkedby1[k+1][j+1]=1;
  32.                         movability1[k++][j]=1;
  33.  
  34.                     }
  35.                     if(k<8&&k>=0){
  36.                     if(occupied[k][j]==2 ||occupied[k][j]==0)
  37.                     {
  38.                         checkedby1[k+1][j+1]=1;
  39.                         movability1[k][j]=1;
  40.                         if(checkedby1[kp2i][kp2j]==1){
  41.                                 k--;
  42.                         while(!occupied[k][j]&&k>=0)
  43.                             zone2[k--][j]=1;
  44.                         }
  45.                     }
  46.                     else
  47.                     {
  48.                         checkedby1[k+1][j+1]=1;
  49.                     }}
  50.                     k=i-1;
  51.                     while(!occupied[k][j]&&k>0)
  52.                     {
  53.                         checkedby1[k+1][j+1]=1;
  54.                         movability1[k--][j]=1;
  55.                         }
  56.  
  57.                     if(k<8&&k>=0){
  58.                     if(occupied[k][j]==2 ||occupied[k][j]==0)
  59.                     {
  60.                         checkedby1[k+1][j+1]=1;
  61.                         movability1[k][j]=1;
  62.                         if(checkedby1[kp2i][kp2j]==1){
  63.                                 k++;
  64.                         while(!occupied[k][j]&&k<8)
  65.                             zone2[k++][j]=1;
  66.                         }
  67.                     }
  68.                     else
  69.                     {
  70.                         checkedby1[k+1][j+1]=1;
  71.                     }}
  72.                     k=j+1;
  73.                     while(!occupied[i][k]&&k<COLUMNS)
  74.                     {
  75.                         checkedby1[i+1][k+1]=1;
  76.                         movability1[i][k++]=1;
  77.  
  78.                     }if(k<8&&k>=0){
  79.                     if(occupied[i][k]==2 || occupied[i][k]==0 )
  80.                     {
  81.                         checkedby1[i+1][k+1]=1;
  82.                         movability1[i][k]=1;
  83.                         if(checkedby1[kp2i][kp2j]==1){
  84.                                 k--;
  85.                         while(!occupied[i][k]&&k>=0)
  86.                             zone2[i][k--]=1;
  87.                         }
  88.                        
  89.                     }
  90.                     else
  91.                     {
  92.                     checkedby2[i+1][k+1]=1;
  93.                     }}
  94.                     k=j-1;
  95.                     while(!occupied[i][k]&&k>0)
  96.                     {
  97.                         checkedby1[i+1][k+1]=1;
  98.                         movability1[i][k--]=1;
  99.  
  100.                     }if(k<8&&k>=0){
  101.                     if(occupied[i][k]==2 || occupied[i][k]==0)
  102.                     {
  103.                         checkedby1[i+1][k+1]=1;
  104.                         movability1[i][k]=1;
  105.                         if(checkedby1[kp2i][kp2j]==1){
  106.                                 k++;
  107.                         while(!occupied[i][k]&&k<8)
  108.                             zone2[i][k++]=1;
  109.                         }
  110.                     }
  111.                     else
  112.                     {
  113.                         checkedby1[i+1][k+1]=1;
  114.                     }}
  115.                 }
  116.                 if(domain[i][j]=='b')
  117.                 {
  118.                     k=i+1;
  119.                     q=j+1;
  120.                     while(!occupied[k][q]&&k<ROWS&&q<COLUMNS)
  121.                     {
  122.                         checkedby1[k+1][q+1]=1;
  123.                         movability1[k++][q++]=1;
  124.                     }
  125.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  126.                     if(occupied[k][q]==2 || occupied[k][q]==0 )
  127.                     {
  128.                         checkedby1[k+1][q+1]=1;
  129.                         movability1[k][q]=1;
  130.                         if(checkedby1[kp2i][kp2j]==1){
  131.                                 k--;q--;
  132.                         while(!occupied[k][q]&&k>=0&&q>=0)
  133.                             zone2[k--][q--]=1;
  134.                         }
  135.                     }else
  136.                     {
  137.                         checkedby1[k+1][q+1]=1;
  138.                     }}
  139.                     k=i-1;
  140.                     q=j-1;
  141.                         while(!occupied[k][q]&&k>0&&q>0)
  142.                     {
  143.                         checkedby1[k+1][q+1]=1;
  144.                         movability1[k--][q--]=1;
  145.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  146.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  147.                     {
  148.                         checkedby1[k+1][q+1]=1;
  149.                         movability1[k][q]=1;
  150.                         if(checkedby1[kp2i][kp2j]==1){
  151.                                 k++;q++;
  152.                         while(!occupied[k][q]&&k<8&&q<8)
  153.                             zone2[k++][q++]=1;
  154.                         }
  155.                     }else
  156.                     {
  157.                         checkedby1[k+1][q+1]=1;
  158.                     }}
  159.                     k=i-1;
  160.                     q=j+1;
  161.                     while(!occupied[k][q]&&k>0&&q<COLUMNS)
  162.                     {
  163.                         checkedby1[k+1][q+1]=1;
  164.                         movability1[k--][q++]=1;
  165.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  166.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  167.                     {
  168.                         checkedby1[k+1][q+1]=1;
  169.                         movability1[k][q]=1;
  170.                         if(checkedby1[kp2i][kp2j]==1){
  171.                                 k++;q--;
  172.                         while(!occupied[k][q]&&k<8&&q>=0)
  173.                             zone2[k++][q--]=1;
  174.                         }
  175.                     }else
  176.                     {
  177.                         checkedby1[k+1][q+1]=1;
  178.                     }}
  179.                     k=i+1;
  180.                     q=j-1;
  181.                      while(!occupied[k][q]&&k<ROWS&&q>0)
  182.                     {
  183.                         checkedby1[k+1][q+1]=1;
  184.                         movability1[k++][q--]=1;
  185.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  186.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  187.                     {
  188.                         checkedby1[k+1][q+1]=1;
  189.                         movability1[k][q]=1;
  190.                         if(checkedby1[kp2i][kp2j]==1){
  191.                                 k--;q++;
  192.                         while(!occupied[k][q]&&k>=0&&q<8)
  193.                             zone2[k--][q++]=1;
  194.                         }
  195.                     }else
  196.                     {
  197.                         checkedby1[k+1][q+1]=1;
  198.                     }}
  199.                 }
  200.                 if(domain[i][j]=='n')
  201.                 {
  202.                     q=j+2;
  203.                     k=i-1;
  204.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  205.                     checkedby1[k+1][q+1]=1;
  206.                     if(occupied[k][q]!=1)
  207.                         movability1[k][q]=1;}
  208.                     q=j+2;
  209.                     k=i+1;
  210.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  211.                     checkedby1[k+1][q+1]=1;
  212.                     if(occupied[k][q]!=1)
  213.                         movability1[k][q]=1;}
  214.                     q=j-2;
  215.                     k=i-1;
  216.                        if((k<8 && q<8)&&(k>=0 && q>=0)){
  217.  
  218.                     checkedby1[k+1][q+1]=1;
  219.                     if(occupied[k][q]!=1)
  220.                         movability1[k][q]=1;}
  221.                     q=j-2;
  222.                     k=i+1;
  223.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  224.                     checkedby1[k+1][q+1]=1;
  225.                     if(occupied[k][q]!=1)
  226.                         movability1[k][q]=1;}
  227.                     q=j-1;
  228.                     k=i-2;
  229.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  230.                     checkedby1[k+1][q+1]=1;
  231.                     if(occupied[k][q]!=1)
  232.                         movability1[k][q]=1;}
  233.                     q=j+1;
  234.                     k=i-2;
  235.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  236.                     checkedby1[k+1][q+1]=1;
  237.                     if(occupied[k][q]!=1)
  238.                         movability1[k][q]=1;}
  239.                     q=j+1;
  240.                     k=i+2;
  241.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  242.                     checkedby1[k+1][q+1]=1;
  243.                     if(occupied[k][q]!=1)
  244.                         movability1[k][q]=1;}
  245.                     q=j-1;
  246.                     k=i+2;
  247.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  248.                     checkedby1[k+1][q+1]=1;
  249.                     if(occupied[k][q]!=1)
  250.                         movability1[k][q]=1;}
  251.                         if(checkedby1[kp2i][kp2j]==1){
  252.                             zone2[i][j]=1;
  253.                         }
  254.                 }
  255.                 if(domain[i][j]=='q')
  256.                 {
  257.                     k=i+1;
  258.                     q=j+1;
  259.                     while(!occupied[k][q]&&k<ROWS&&q<COLUMNS)
  260.                     {
  261.                         checkedby1[k+1][q+1]=1;
  262.                         movability1[k++][q++]=1;
  263.                     }
  264.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  265.                     if(occupied[k][q]==2 || occupied[k][q]==0 )
  266.                     {
  267.                         checkedby1[k+1][q+1]=1;
  268.                         movability1[k][q]=1;
  269.                         if(checkedby1[kp2i][kp2j]==1){
  270.                                 k--;q--;
  271.                         while(!occupied[k][q]&&k>=0&&q>=0)
  272.                             zone2[k--][q--]=1;
  273.                         }
  274.                     }else
  275.                     {
  276.                         checkedby1[k+1][q+1]=1;
  277.                     }}
  278.                     k=i-1;
  279.                     q=j-1;
  280.                         while(!occupied[k][q]&&k>0&&q>0)
  281.                     {
  282.                         checkedby1[k+1][q+1]=1;
  283.                         movability1[k--][q--]=1;
  284.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  285.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  286.                     {
  287.                         checkedby1[k+1][q+1]=1;
  288.                         movability1[k][q]=1;
  289.                         if(checkedby1[kp2i][kp2j]==1){
  290.                                 k++;q++;
  291.                         while(!occupied[k][q]&&k<8&&q<8)
  292.                             zone2[k++][q++]=1;
  293.                         }
  294.                     }else
  295.                     {
  296.                         checkedby1[k+1][q+1]=1;
  297.                     }}
  298.                     k=i-1;
  299.                     q=j+1;
  300.                     while(!occupied[k][q]&&k>0&&q<COLUMNS)
  301.                     {
  302.                         checkedby1[k+1][q+1]=1;
  303.                         movability1[k--][q++]=1;
  304.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  305.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  306.                     {
  307.                         checkedby1[k+1][q+1]=1;
  308.                         movability1[k][q]=1;
  309.                         if(checkedby1[kp2i][kp2j]==1){
  310.                                 k++;q--;
  311.                         while(!occupied[k][q]&&k<8&&q>=0)
  312.                             zone2[k++][q--]=1;
  313.                         }
  314.                     }else
  315.                     {
  316.                         checkedby1[k+1][q+1]=1;
  317.                     }}
  318.                     k=i+1;
  319.                     q=j-1;
  320.                      while(!occupied[k][q]&&k<ROWS&&q>0)
  321.                     {
  322.                         checkedby1[k+1][q+1]=1;
  323.                         movability1[k++][q--]=1;
  324.                     }if((k<8 && q<8)&&(k>=0 && q>=0)){
  325.                     if(occupied[k][q]==2 || occupied[k][q]==0)
  326.                     {
  327.                         checkedby1[k+1][q+1]=1;
  328.                         movability1[k][q]=1;
  329.                         if(checkedby1[kp2i][kp2j]==1){
  330.                                 k--;q++;
  331.                         while(!occupied[k][q]&&k>=0&&q<8)
  332.                             zone2[k--][q++]=1;
  333.                         }
  334.                     }else
  335.                     {
  336.                         checkedby1[k+1][q+1]=1;
  337.                     }}
  338.                    k=i+1;
  339.                     while(!occupied[k][j]&&k<ROWS)
  340.                     {
  341.                         checkedby1[k+1][j+1]=1;
  342.                         movability1[k++][j]=1;
  343.  
  344.                     }
  345.                     if(k<8&&k>=0){
  346.                     if(occupied[k][j]==2 ||occupied[k][j]==0)
  347.                     {
  348.                         checkedby1[k+1][j+1]=1;
  349.                         movability1[k][j]=1;
  350.                         if(checkedby1[kp2i][kp2j]==1){
  351.                                 k--;
  352.                         while(!occupied[k][j]&&k>=0)
  353.                             zone2[k--][j]=1;
  354.                         }
  355.                     }
  356.                     else
  357.                     {
  358.                         checkedby1[k+1][j+1]=1;
  359.                     }}
  360.                     k=i-1;
  361.                     while(!occupied[k][j]&&k>0)
  362.                     {
  363.                         checkedby1[k+1][j+1]=1;
  364.                         movability1[k--][j]=1;
  365.                         }
  366.  
  367.                     if(k<8&&k>=0){
  368.                     if(occupied[k][j]==2 ||occupied[k][j]==0)
  369.                     {
  370.                         checkedby1[k+1][j+1]=1;
  371.                         movability1[k][j]=1;
  372.                         if(checkedby1[kp2i][kp2j]==1){
  373.                                 k++;
  374.                         while(!occupied[k][j]&&k<8)
  375.                             zone2[k++][j]=1;
  376.                         }
  377.                     }
  378.                     else
  379.                     {
  380.                         checkedby1[k+1][j+1]=1;
  381.                     }}
  382.                     k=j+1;
  383.                     while(!occupied[i][k]&&k<COLUMNS)
  384.                     {
  385.                         checkedby1[i+1][k+1]=1;
  386.                         movability1[i][k++]=1;
  387.  
  388.                     }if(k<8&&k>=0){
  389.                     if(occupied[i][k]==2 || occupied[i][k]==0 )
  390.                     {
  391.                         checkedby1[i+1][k+1]=1;
  392.                         movability1[i][k]=1;
  393.                         if(checkedby1[kp2i][kp2j]==1){
  394.                                 k--;
  395.                         while(!occupied[i][k]&&k>=0)
  396.                             zone2[i][k--]=1;
  397.                         }
  398.                        
  399.                     }
  400.                     else
  401.                     {
  402.                     checkedby2[i+1][k+1]=1;
  403.                     }}
  404.                     k=j-1;
  405.                     while(!occupied[i][k]&&k>0)
  406.                     {
  407.                         checkedby1[i+1][k+1]=1;
  408.                         movability1[i][k--]=1;
  409.  
  410.                     }if(k<8&&k>=0){
  411.                     if(occupied[i][k]==2 || occupied[i][k]==0)
  412.                     {
  413.                         checkedby1[i+1][k+1]=1;
  414.                         movability1[i][k]=1;
  415.                         if(checkedby1[kp2i][kp2j]==1){
  416.                                 k++;
  417.                         while(!occupied[i][k]&&k<8)
  418.                             zone2[i][k++]=1;
  419.                         }
  420.                     }
  421.                     else
  422.                     {
  423.                         checkedby1[i+1][k+1]=1;
  424.                     }}
  425.                 }
  426.                 if(domain[i][j]=='p')
  427.                 {
  428.                     k=i+1;
  429.                     q=j+1;
  430.                     if((k<8 && q<8)&&(k>=0 && q>=0)){
  431.                     checkedby1[k+1][q+1]=1;
  432.                     if(occupied[k][q]==2)
  433.                         movability1[k][q]=1;}
  434.                         q=j-1;
  435.                         if((k<8 && q<8)&&(k>=0 && q>=0)){
  436.  
  437.                     checkedby1[k+1][q+1]=1;
  438.                     if(occupied[k][q]==2)
  439.                         movability1[k][q]=1;}
  440.                     if(i==1)
  441.                     {
  442.                         k=i+1;
  443.                         if(!occupied[k][j]){
  444.                         movability1[k][j]=1;
  445.                         k++;
  446.                         if(!occupied[k][j])
  447.                         movability1[k][j]=1;}
  448.                     }else{
  449.                         if(k<8&&k>=0){
  450.                         k=i+1;
  451.                         if(!occupied[k][j])
  452.                         movability1[k][j]=1;}
  453.                     }
  454.                     if(checkedby1[kp2i][kp2j]==1)
  455.                         zone2[i][j]=1;
  456.                    
  457.                 }
  458.  
  459.             }
  460.         }
  461.     }
  462. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top