#include int main(void){ int i,j,k,v,l1,l2,a,b,veerg,rida,rida2,veerg2,nupp,kuhurida,kuhuveerg,onupp,knupp,kkonta,kkontb; char tekst[80]; char kuhutekst[80]; int kood=(int) tekst [0]; int kuhukood=(int) kuhutekst [0]; int laud[8][8]={ {1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 2, 0, 2, 0, 2, 0, 2}, {2, 0, 2, 0, 2, 0, 2, 0}, {0, 2, 0, 2, 0, 2, 0, 2} }; start: k++; if (k%2==0){ printf("\n"); printf("Algab valgete ehk 1-de k2imise kord...\n"); knupp=1; onupp=2; } else{ printf("\n"); printf("Algab mustade ehk 2-de k2imise kord...\n"); knupp=2; onupp=1; } votmiskontroll: v=0; //võtmiskontroll for (i=0; i<8; i++){ for (j=0; j<8; j++){ if (laud[i][j]==knupp){ votmisjarg: if ((laud[i+1][j+1]==onupp && laud[i+2][j+2]==0 && i<6 && j<6) && ((i==a && j==b) || v==0)){ laud[i+2][j+2]=knupp; laud[i][j]=0; laud[i+1][j+1]=0; i=i+2; j=j+2; v++; a=i; b=j; goto votmisjarg; } if ((laud[i+1][j-1]==onupp && laud[i+2][j-2]==0 && i<6 && j>1) && ((i==a && j==b) || v==0)){ laud[i+2][j-2]=knupp; laud[i][j]=0; laud[i+1][j-1]=0; i=i+2; j=j-2; v++; a=i; b=j; goto votmisjarg; } if ((laud[i-1][j+1]==onupp && laud[i-2][j+2]==0 && i>1 && j<6) && ((i==a && j==b) || v==0)){ laud[i-2][j+2]=knupp; laud[i][j]=0; laud[i-1][j+1]=0; i=i-2; j=j+2; v++; a=i; b=j; goto votmisjarg; } if ((laud[i-1][j-1]==onupp && laud[i-2][j-2]==0 && i>1 && j>1) && ((i==a && j==b) || v==0)){ laud[i-2][j-2]=knupp; laud[i][j]=0; laud[i-1][j-1]=0; i=i-2; j=j-2; v++; a=i; b=j; goto votmisjarg; } } } } if (v>0){ printf("Seoses v6tmise reeglitega tehti %d kohustuslikku k2iku...\n",v); goto lugemine; } else{ kaimine: printf("\n"); printf("A B C D E F G H\n"); printf("---------------\n"); for (i=0; i<8; i++){ //väljatrükk for (j=0; j<8; j++){ printf("%d ", laud[i][j]); } printf("|%d\n",i+1); } // printf("Anna ruut: "); //nupu kontroll // fgets(tekst, 80, stdin); // kood=(int)tekst [0]; // printf("%d, %c, %d\n", kood, tekst[0], tekst[1]); // if (laud[tekst[1]-49][kood-97]>0){ // printf("Sellel ruudul on nupp!\n"); // } // else{ // printf("Sellel ruudul pole nuppu!\n"); // } printf("\n"); printf("Millise nupuga soovid liikuda?\n"); //käigud fgets(tekst, 80, stdin); kood=(int)tekst [0]; if (laud[tekst[1]-49][kood-97]>0){ if (laud[tekst[1]-49][kood-97]==knupp){ printf("Kuhu soovid liikuda?\n"); fgets(kuhutekst, 80, stdin); kuhukood=(int)kuhutekst[0]; kkonta=kood-kuhukood; kkontb=tekst[1]-kuhutekst[1]; nupp=laud[tekst[1]-49][kood-97]; veerg=kood-97; rida=tekst[1]-49; kuhuveerg=kuhukood-97; kuhurida=kuhutekst[1]-49; rida2=2*kuhurida-rida; veerg2=2*kuhuveerg-veerg; // printf("%d, %c, %d\n", kood, tekst[0], tekst[1]-49); //väljatrükk // printf("%d, %c, %d\n", kuhukood, kuhutekst[0], kuhutekst[1]-49); // printf("Veerg2 ja rida2: %d, %d\n", veerg2, rida2); // printf("Nupp: %d\n", nupp); // printf("Kuhuveerg ja kuhurida: %d, %d\n", kuhuveerg, kuhurida); // printf("Nupp ees: %d\n", laud[kuhurida][kuhuveerg]); if (laud[kuhurida][kuhuveerg]>0){ if (laud[kuhurida][kuhuveerg]==nupp){ printf("Siin on juba sinu nupp ees!\n"); goto kaimine; } if (laud[rida2][veerg2]==0 && laud[kuhurida][kuhuveerg]!=nupp){ //võtmine laud[rida2][veerg2]=laud[rida][veerg]; laud[kuhurida][kuhuveerg]=0; laud[rida][veerg]=0; printf("\n"); printf("V6tmine tehtud...\n"); } else{ printf("Nii ei saa k2ia!\n"); goto kaimine; } } else { if (((nupp%2 > 0 && kuhurida > rida) | (nupp%2==0 && kuhurida < rida))&&((kkonta==1 | kkonta==-1) && (kkontb==1 | kkontb==-1))){ //kas käiakse õigele poole ning käigu kontroll laud[kuhurida][kuhuveerg]=laud[rida][veerg]; laud[rida][veerg]=0; printf("\n"); printf("K2ik tehtud...\n"); } else{ printf("Selline liikumine pole lubatud!\n"); goto kaimine; } } } else{ printf("Pole sinu kord k2ia!\n"); goto kaimine; } } else{ printf("Sellel ruudul puudub nupp!\n"); goto kaimine; } } lugemine: l1=0; l2=0; for (i=0;i<8;i++){ for(j=0;j<8;j++){ if (laud[i][j]==1){ l1++; } if (laud[i][j]==2){ l2++; } } } if (l1>l2){ printf("Valged juhivad.\n"); } else{ if (l2>l1){ printf("Mustad juhivad.\n"); } if(l1==l2){ printf("Seis on viigis.\n"); } } goto start; return 0; }