Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- void display(int bishop1,char arr[8][8],char turn){
- int i,j;
- i=bishop1/8;
- j=bishop1%8;
- //top
- if(i-2 >=0 && j-1 >=0){
- if(arr[i-2][j-1] == '0')
- printf("%c%d%c%d",(j+49)+'0',8-i,(j-1+49)+'0',8-i+2);
- }
- if(i-2 >=0 && j+1<=7){
- if(arr[i-2][j+1] == '0' || arr[i-2][j+1] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j+1+49)+'0',8-i+2);
- }
- if(i-1 >=0 && j-2>=0){
- if(arr[i-1][j-2] == '0' || arr[i-1][j+2] == '9')
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j-2+49)+'0',8-i+1);
- }
- if(i-1 >=0 && j+2<=7){
- if(arr[i-1][j+2] == '0' || arr[i-1][j+2] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j+2+49)+'0',8-i+1);
- }
- //bottom
- if(i-1 >=0 && j-2>=0){
- if(arr[i-1][j-2] == '0' || arr[i-1][j-2] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j-2+49)+'0',8-i-1);
- }
- if(i+1 <=7 && j+2<=7){
- if(arr[i+1][j+2] == '0' || arr[i+1][j+2] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j+2+49)+'0',8-i-1);
- }
- if(i-2 >=0 && j-1>=0){
- if(arr[i-2][j-1] == '0' || arr[i-2][j-1] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j-1+49)+'0',8-i-2);
- }
- if(i+2 <=7 && j+1<=7){
- if(arr[i+2][j+1] == '0' || arr[i+2][j+1] == '9' )
- printf(",%c%d%c%d",(j+49)+'0',8-i,(j+1+49)+'0',8-i-2);
- }
- }
- int main(){
- int i,j,n,num,a=0,b=0,count=0,bishop1=-1,bishop2=-1;
- char fenstr[100],turn;
- char arr[8][8];
- for(i=0;i<8;i++){
- for(j=0;j<8;j++){
- arr[i][j] = '9';
- }
- }
- scanf("%s %c",fenstr,&turn);
- for(i=0;i<strlen(fenstr);i++){
- if(fenstr[i] >= 48 && fenstr[i] <= 57){
- num = fenstr[i] - 48;
- for(j=0;j<num;j++){
- arr[a][b++] = '0';
- count++;
- }
- }
- else if(fenstr[i] == '/'){
- if(count != 8)
- return 0;
- count=0;
- a++;b=0;
- continue;
- }
- else{
- if(turn == 'w' && fenstr[i] == 'K'){
- if(bishop1 == -1)
- bishop1 = 8*a + b;
- else
- bishop2 = 8*a + b;
- }
- else if(turn == 'b' && fenstr[i] == 'k'){
- if(bishop1 == -1)
- bishop1 = 8*a + b;
- else
- bishop2 = 8*a + b;
- }
- arr[a][b++] = fenstr[i];
- count++;
- }
- }
- printf("%d %d\n",bishop1,bishop2);
- printf("\n\ta\tb\tc\td\te\tf\tg\th\n8\t");
- for(i=0;i<8;i++){
- for(j=0;j<8;j++){
- printf("%c\t",arr[i][j]);
- }
- printf("\n\n%d\t",8-i-1);
- }
- //printf("%d %d \n %d %d",bishop1/8,bishop1%8,bishop2/8,bishop2%8);
- printf("[");
- if(bishop1 != -1 )
- display(bishop1,arr,turn);
- if(bishop2 !=-1)
- display(bishop2,arr,turn);
- printf("]");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement