Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void set_checks1(void)
- {
- int i,j,k,q;
- for(k=0;k<ROWS;k++)
- {
- for(q=0;q<COLUMNS;q++)
- {
- movability1[k][q]=movability2[k][q]=0;
- checkedby1[k+1][q+1]=checkedby2[k+1][q+1]=0;
- if(islower(domain[k][q]))
- occupied[k][q]=1;
- else if(isupper(domain[k][q]))
- occupied[k][q]=2;
- else
- occupied[k][q]=0;
- }
- }
- for(i=0; i<ROWS;i++)
- {
- for(j=0; j<COLUMNS; j++)
- {
- if(occupied[i][j]==1){
- if(domain[i][j]=='r')
- {
- k=i+1;
- while(!occupied[k][j]&&k<ROWS)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k++][j]=1;
- }
- if(k<8&&k>=0){
- if(occupied[k][j]==2 ||occupied[k][j]==0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k][j]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;
- while(!occupied[k][j]&&k>=0)
- zone2[k--][j]=1;
- }
- }
- else
- {
- checkedby1[k+1][j+1]=1;
- }}
- k=i-1;
- while(!occupied[k][j]&&k>0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k--][j]=1;
- }
- if(k<8&&k>=0){
- if(occupied[k][j]==2 ||occupied[k][j]==0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k][j]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;
- while(!occupied[k][j]&&k<8)
- zone2[k++][j]=1;
- }
- }
- else
- {
- checkedby1[k+1][j+1]=1;
- }}
- k=j+1;
- while(!occupied[i][k]&&k<COLUMNS)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k++]=1;
- }if(k<8&&k>=0){
- if(occupied[i][k]==2 || occupied[i][k]==0 )
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;
- while(!occupied[i][k]&&k>=0)
- zone2[i][k--]=1;
- }
- }
- else
- {
- checkedby2[i+1][k+1]=1;
- }}
- k=j-1;
- while(!occupied[i][k]&&k>0)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k--]=1;
- }if(k<8&&k>=0){
- if(occupied[i][k]==2 || occupied[i][k]==0)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;
- while(!occupied[i][k]&&k<8)
- zone2[i][k++]=1;
- }
- }
- else
- {
- checkedby1[i+1][k+1]=1;
- }}
- }
- if(domain[i][j]=='b')
- {
- k=i+1;
- q=j+1;
- while(!occupied[k][q]&&k<ROWS&&q<COLUMNS)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k++][q++]=1;
- }
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0 )
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;q--;
- while(!occupied[k][q]&&k>=0&&q>=0)
- zone2[k--][q--]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i-1;
- q=j-1;
- while(!occupied[k][q]&&k>0&&q>0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k--][q--]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;q++;
- while(!occupied[k][q]&&k<8&&q<8)
- zone2[k++][q++]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i-1;
- q=j+1;
- while(!occupied[k][q]&&k>0&&q<COLUMNS)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k--][q++]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;q--;
- while(!occupied[k][q]&&k<8&&q>=0)
- zone2[k++][q--]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i+1;
- q=j-1;
- while(!occupied[k][q]&&k<ROWS&&q>0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k++][q--]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;q++;
- while(!occupied[k][q]&&k>=0&&q<8)
- zone2[k--][q++]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- }
- if(domain[i][j]=='n')
- {
- q=j+2;
- k=i-1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j+2;
- k=i+1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j-2;
- k=i-1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j-2;
- k=i+1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j-1;
- k=i-2;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j+1;
- k=i-2;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j+1;
- k=i+2;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- q=j-1;
- k=i+2;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]!=1)
- movability1[k][q]=1;}
- if(checkedby1[kp2i][kp2j]==1){
- zone2[i][j]=1;
- }
- }
- if(domain[i][j]=='q')
- {
- k=i+1;
- q=j+1;
- while(!occupied[k][q]&&k<ROWS&&q<COLUMNS)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k++][q++]=1;
- }
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0 )
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;q--;
- while(!occupied[k][q]&&k>=0&&q>=0)
- zone2[k--][q--]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i-1;
- q=j-1;
- while(!occupied[k][q]&&k>0&&q>0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k--][q--]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;q++;
- while(!occupied[k][q]&&k<8&&q<8)
- zone2[k++][q++]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i-1;
- q=j+1;
- while(!occupied[k][q]&&k>0&&q<COLUMNS)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k--][q++]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;q--;
- while(!occupied[k][q]&&k<8&&q>=0)
- zone2[k++][q--]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i+1;
- q=j-1;
- while(!occupied[k][q]&&k<ROWS&&q>0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k++][q--]=1;
- }if((k<8 && q<8)&&(k>=0 && q>=0)){
- if(occupied[k][q]==2 || occupied[k][q]==0)
- {
- checkedby1[k+1][q+1]=1;
- movability1[k][q]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;q++;
- while(!occupied[k][q]&&k>=0&&q<8)
- zone2[k--][q++]=1;
- }
- }else
- {
- checkedby1[k+1][q+1]=1;
- }}
- k=i+1;
- while(!occupied[k][j]&&k<ROWS)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k++][j]=1;
- }
- if(k<8&&k>=0){
- if(occupied[k][j]==2 ||occupied[k][j]==0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k][j]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;
- while(!occupied[k][j]&&k>=0)
- zone2[k--][j]=1;
- }
- }
- else
- {
- checkedby1[k+1][j+1]=1;
- }}
- k=i-1;
- while(!occupied[k][j]&&k>0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k--][j]=1;
- }
- if(k<8&&k>=0){
- if(occupied[k][j]==2 ||occupied[k][j]==0)
- {
- checkedby1[k+1][j+1]=1;
- movability1[k][j]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;
- while(!occupied[k][j]&&k<8)
- zone2[k++][j]=1;
- }
- }
- else
- {
- checkedby1[k+1][j+1]=1;
- }}
- k=j+1;
- while(!occupied[i][k]&&k<COLUMNS)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k++]=1;
- }if(k<8&&k>=0){
- if(occupied[i][k]==2 || occupied[i][k]==0 )
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k--;
- while(!occupied[i][k]&&k>=0)
- zone2[i][k--]=1;
- }
- }
- else
- {
- checkedby2[i+1][k+1]=1;
- }}
- k=j-1;
- while(!occupied[i][k]&&k>0)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k--]=1;
- }if(k<8&&k>=0){
- if(occupied[i][k]==2 || occupied[i][k]==0)
- {
- checkedby1[i+1][k+1]=1;
- movability1[i][k]=1;
- if(checkedby1[kp2i][kp2j]==1){
- k++;
- while(!occupied[i][k]&&k<8)
- zone2[i][k++]=1;
- }
- }
- else
- {
- checkedby1[i+1][k+1]=1;
- }}
- }
- if(domain[i][j]=='p')
- {
- k=i+1;
- q=j+1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]==2)
- movability1[k][q]=1;}
- q=j-1;
- if((k<8 && q<8)&&(k>=0 && q>=0)){
- checkedby1[k+1][q+1]=1;
- if(occupied[k][q]==2)
- movability1[k][q]=1;}
- if(i==1)
- {
- k=i+1;
- if(!occupied[k][j]){
- movability1[k][j]=1;
- k++;
- if(!occupied[k][j])
- movability1[k][j]=1;}
- }else{
- if(k<8&&k>=0){
- k=i+1;
- if(!occupied[k][j])
- movability1[k][j]=1;}
- }
- if(checkedby1[kp2i][kp2j]==1)
- zone2[i][j]=1;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement