NECESITO AYUDA POR FA CON ESTE PROGRAMA SE TRATA UN JUEGO DE DAMAS DE DOS PLAYER ME MUESTRA EL TABLERO PERO NO ME KIERE HACER LA JUGADA O MOVER LA FICHA Y EL UNICO MENSAJE KE SALE AL DAR LAS COORDENAS ME SALE JUGADA NO VALIDA A LO MEJOR PIENSO KE STA MAL HECHAS LAS CONDICIONES DEL JUGADOR1
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
void tablero() (este procedimiento es pa darle forma al tablero)
{
.......int mat[8][8],i,j;
.......for(i=36;i<43;i=i+2)
...........{
...........for(j=8;j<15;j=j+2)
................{
.................gotoxy(i,j);printf("Û");
.................}
...........}
............for(i=37;i<44;i=i+2)
.................{
..................for(j=9;j<17;j=j+2)
......................{
.......................gotoxy(i,j);printf("Û");
.......................}
.................}
..................for(i=35;i<36;i++)
......................{
.......................for(j=7;j<
............................{
............................gotoxy(i,j);printf("ÉÍ ÍÍÍÍÍÍÍ»");
.............................}
.......................}
.......................for(i=35;i<36;i++)
...........................{
............................for(j=8;j<16;j++)
................................{
............................gotoxy(i,j);printf("º" );
................................}
............................}
............................for(i=35;i<36;i++)
.................................{
..................................gotoxy(i,j);prin tf("ÈÍÍÍÍÍÍÍͼ");
.................................}
.................................for(i=44;i<45;i++ )
.....................................{
.....................................for(j=8;j<16; j++)
.........................................{
.........................................gotoxy(i, j);printf("º");
.........................................}
.....................................}
.....................................for(i=36;i<37 ;i++)
.........................................{
.........................................for(j=6;j <7;j++)
..............................................{
...............................................got oxy(i,j);printf("abcdefgh");
...............................................}
..........................................}
...........................................for(i=3 4;i<35;i++)
...............................................{
................................................fo r(j=8;j<9;j++)
.................................................. ...{
.................................................. ...gotoxy(i,8);printf("1");
.................................................. ...gotoxy(i,9);printf("2");
.................................................. ...gotoxy(i,10);printf("3");
.................................................. ...gotoxy(i,11);printf("4");
.................................................. ...gotoxy(i,12);printf("5");
.................................................. ...gotoxy(i,13);printf("6");
.................................................. ...gotoxy(i,14);printf("7");
.................................................. ...gotoxy(i,15);printf("8");
.................................................. ...}
................................................}
getch();
}fin del tablero
void llenado() (este no necesita tanto tabulao)(es para llenar el tablero con las fichas)
{
…….int mat[8][8],i,j;
…….for(i=0;i<8;i=i+2)
………..{
…………mat[1]
=1;
…………mat[2]=1;
…………mat[6]=2;
………...}
…………for(i=0;i<7;i=i+2)
…………….{
……………..mat[1]=1;
……………..mat[5]=2;
……………..mat[7]=2;
……………..}
……………..for(i=37;i<44;i=i+2)
………………..{
…………………gotoxy(i,8);printf("o");
…………………gotoxy(i,10);printf("o");
…………………gotoxy(i,14);printf("x");
…………………}
………………….for(i=36;i<43;i=i+2)
……………………...{
………………………gotoxy(i,9);printf("o");
………………………gotoxy(i,13);printf("x");
………………………gotoxy(i,15);printf("x");
………………………}
}(“fin llenado del tablero”)
int verificando_piezas_jugador1() este funcion es para confirmar las piezas
{ del jugador1 )
int mat[8][8],i,j,cont=0;
for(i=0;i<8;i++)
.....{
......for(j=0;j<8;j++)
.....{
......if(mat[j]=='o')
........{
.........cont++;
.........}
.....}
}
return(cont);
}fin verificación jugador1)
int verificando_piezas_jugador2() (este funcion es para confirmar las piezas del
{ jugador2)
int mat[8][8],i,j,cont=0;
for(i=0;i<8;i++)
.....{
......for(j=0;j<8;j++)
..........{
..........if(mat[j]=='x')
............{
............cont++;
............}
.........}
.....}
return(cont);
}fin verificación jugador2
(Este es el procedimiento para mover las piezas del jugador1)
void jugador1()(he aki el meollo del problema por aki trato de mover las piezas
{ pero solamente me sale un mensaje “jugada no valida” y no puedo
.......int mat[8][8],i,j,j1a,i1,j2a,j1; mover las piezas)
......do
........{
.........do
...........{
............do
..............{
...............gotoxy(4,6);printf("LETRA:");
...............gotoxy(10,6);scanf("%s",&j1a);
...............gotoxy(4,7);printf("NUMERO:");
...............gotoxy(11,7);scanf("%d",&i1);
...............if(i>-1 && j>-1)
.................{
..................if(i<8 && j<8)
....................{
....................}
..................else
......................{
.......................gotoxy(4,10);printf("jugada no valida");
......................}
..................}
................}while(i>7 && j<0);
................if(mat[j]==' ')
..................{
...................gotoxy(4,11);printf("espacio ocupado por ficha contraria");
...................}
............}while(mat[j]=='o');
..............if(mat[j]!='x' && mat[j]!='o')
................{
.................gotoxy(4,12);printf("no se puede mover");
.................}
........}while(mat[j]!='x' || mat[j]!='o');
..........gotoxy(4,13);printf("%c",&mat[j]);
..........if(mat[j+1][i+1]='o' || mat[j-2][i+1]=='o')
............{
.............if(mat[j+2][i+2]==0 || mat[j-2][i+2]==0)
...............{
................do
..................{
...................gotoxy(4,14);printf("ingrese la letra y la vocal para eliminar
ficha");
...................gotoxy(4,15);printf("letra y numero");
...................gotoxy(4,16);printf("letra:");g otoxy(9,16),scanf("%c",&j1a);gotoxy(4,17);printf(" numero");gotoxy(10,17);scanf("%d",&i1);
...................gotoxy(4,19);printf("los numeros y las letras a comer son %c%d",j1a,i1);
....................getch();
...................}while(mat[j1][i1]!='o');
.....................if(mat[j+1][i+1]==mat[j1][i1])
......................{
.......................mat[j]=0;
.......................mat[j1][i1]=0;
.......................mat[j1+1][i1+1]='x';
.......................getch();
.......................}
.......................else
............................{
................................mat[j]=0;
................................mat[j1][i1]=0;
................................mat[j1-1][i1+1]='x';
................................getch();
............................}
...................}
................}
................else
....................{
.....................do
.......................{
........................gotoxy(4,14);printf("ingre se la letra y la vocal para eliminar ficha");
........................gotoxy(4,15);printf("letra y numero");
........................gotoxy(4,16);printf("letra :");gotoxy(9,16),scanf("%c",&j1a);gotoxy(4,17);pri ntf("numero");gotoxy(10,17);scanf("%d",&i1);
........................gotoxy(4,19);printf("los numeros y las letras a comer son %c%d",j1a,i1);
........................getch();
........................if(mat[j1][i1]==0)
...........................{
...........................mat[j]=0;
.......................... mat[j1][i1]='x';
...........................getch();
...........................}
...........................else
...............................{
................................gotoxy(4,10);print f("el espacio esta ocupado");
................................}
........................}while(mat[j1][i1]=='o' || mat[j1][i1]=='x');
......................}
}fin procedimiento para mover las piezas del jugador1
(este procedimiento es para mover las puexas del jugador2)
void jugador2()
{
......int mat[8][8],i,j,j1a,i1,j2a,j1;
......clrscr();
......do
........{
.........do
...........{
...........do
.............{
..............gotoxy(4,6);printf("LETRA:");
..............gotoxy(10,6);scanf("%s",&j1a);
..............gotoxy(4,7);printf("NUMERO:");
..............gotoxy(11,7);scanf("%d",&i1);
..............if(i>-1 && j>-1)
.................{
..................if(i<8 && j<8)
....................{
....................}
....................else
........................{
.........................gotoxy(4,10);printf("juga da no valida");
........................}
..................}
..............}while(i>7 || j<0);
i...............if(mat[j]=='x')
..................{
...................gotoxy(4,11);printf("espacio ocupado por ficha contraria");
..................}
...........}while(mat[j]!='x');
.............if(mat[j]!='x' && mat[j]!='o')
...............{
................gotoxy(4,12);printf("no se puede mover");
................}
...........}while(mat[j]!='x' || mat[j]!='o');
.............gotoxy(4,13);printf("%c",&mat[j]);
.............if(mat[j+1][i+1]='x' || mat[j-2][i+1]=='x' || mat[j+2][i+2]==0 || mat[j-2][i+2]==0)
...............{
.................do
....................{
.....................gotoxy(4,14);printf("ingrese la letra y la vocal para eliminar ficha");
.....................gotoxy(4,15);printf("letra y numero");
.....................gotoxy(4,16);printf("letra:") ;gotoxy(9,16),scanf("%c",&j1a);
.....................gotoxy(4,17);printf("numero") ;gotoxy(10,17);scanf("%d",&i1);
.....................gotoxy(4,19);printf("los numeros y las letras a comer son %c%d",j1a,i1);
.....................getch();
....................}while(mat[j1][i1]!='x');
......................if(mat[j+1][i+1]==mat[j1][i1])
........................{
..........................mat[j]=0;
..........................mat[j1][i1]=0;
..........................mat[j1+1][i1+1]='o';
..........................getch();
.........................}
...........................else
................................{
.................................mat[j]=0;
.................................mat[j1][i1]=0;
.................................mat[j1-1][i1+1]='o';
getch();
.................................}
.........................}
..........................else
..............................{
...............................do
.................................{
..................................gotoxy(4,14);pri ntf("ingrese la letra y la vocal para eliminar ficha");
.................................gotoxy(4,15);prin tf("letra y numero");
..................................gotoxy(4,16);pri ntf("letra:");gotoxy(9,16),scanf("%c",&j1a);gotoxy (4,17);printf("numero");gotoxy(10,17);scanf("%d",& i1);
..................................gotoxy(4,19);pri ntf("los numeros y las letras a comer son %c%d",j1a,i1);
..................................getch();
i..................................if(mat[j1][i1]==0)
....................................{
.....................................mat[j]=0;
.....................................mat[j1][i1]='o';
.....................................getch();
....................................}
.....................................else
..........................................{
..........................................gotoxy(4 ,10);printf("el espacio esta ocupado");
...........................................}
..................................}while(mat[j1][i1]=='o' || mat[j1][i1]=='x');
...............................}
}fin procedimiento jugador2
void main() (ESTO ES EL PROGRAMA PRINCIPAL con menu y todo eso)
{
....int i,op;
....do
......{
.......clrscr();
.......printf(" JUEGO DE LA DAMA\n");
.......printf(" 1) Jugar\n");
.......printf(" 2) Ver Reglas del juego\n");
.......printf(" 3) salir\n");
.......scanf("%d",&op);
.......switch(op)
.......{
.......case 1:
.......getch();
.......marco();
.......llenado();
.......tablero();
.......jugador1();
.......jugador2();
.......break;
.......case 2:
.......getch();
.......break;
.......case 3:
.......getch();
.......break;
.......}
.....}while(op<=3);
getch();
llenado();
tablero();
jugador1();
tablero();
jugador2();
clrscr();
tablero();
jugador1();
clrscr();
tablero();
jugador2();
clrscr();
tablero();
jugador1();
clrscr();
tablero();
jugador2();
getch();
clrscr();
getch();
}fin