Urgente NeleK ayuda chance
Publicado por Diego (15 intervenciones) el 24/07/2006 23:04:10
me dieron chance pal miercoles hice lo de la etiqueta y todo salio bien no se sale pero ahora cuando coloco una x o una O me aparece el menu y no me deja jugar y cuando vuelve a empezar la casilla que yo habia jugado en lam partida anterior en la nueva aparece ocupada o sea que la matriz no se borra como hago. te mando el programa pa que lo veas. por eso te pregunte como se borra la memoria porq la matriz no toma valores nuevos.
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
char j1[20],j2[20],m[3][3];
int c1,c2,lv,i,j;
char continuar;
leer ()
{
int i,j,sitio;
c1=0;
c2=0;
lv=0;
gotoxy(10,2);printf("BIENVENIDO AL GRAN JUEGO DE LA VIEJA\n");
gotoxy(10,6);printf("Ingrese Nombre del jugador 1\n");
gotoxy(15,8);scanf("%s",&j1);
gotoxy(10,10);printf("Ingrese Nombre del jugador 2\n");
gotoxy(15,12);scanf("%s",&j2);
}
mostrar()
{
clrscr();
m[i][j]=0;
c1=0;
c2=0;
lv=0;
textcolor(GREEN);
gotoxy(1,2);cprintf("Instituto Universitario de Tecnologia José Antonio Anzoategui\n");
gotoxy(20,3);cprintf("I.U.J.A.A\n");
textcolor(YELLOW);
gotoxy(15,1);cprintf("''''''''''LA VIEJA''''''''''\n");
gotoxy(1,13);cprintf("%s [X]:%d\n",j1,c1);
gotoxy(1,15);cprintf("%s [O]:%d\n",j2,c2);
gotoxy(1,17);cprintf("vieja :%d\n",lv);
gotoxy(30,8);printf("%s juega con casillas\n",j1);gotoxy(56,8);printf("%s juega con casillas\n",j2);
gotoxy(16,11);printf(" | | \n");gotoxy(40,9);printf(" | | \n");gotoxy(65,9);printf(" | | \n");
gotoxy(16,12);printf(" | | \n");gotoxy(40,10);printf(" 1 | 2 | 3 \n");gotoxy(65,10);printf(" 10 | 11 | 12 \n");
gotoxy(16,13);printf(" | | \n");gotoxy(40,11);printf("---|---|---\n");gotoxy(65,11);printf("----|----|----\n");
gotoxy(16,14);printf("-----|-----|-----\n");gotoxy(40,12);printf(" 4 | 5 | 6 \n");gotoxy(65,12);printf(" 13 | 14 | 15 \n");
gotoxy(16,15);printf(" | | \n");gotoxy(40,13);printf("---|---|---\n");gotoxy(65,13);printf("----|----|----\n");
gotoxy(16,16);printf(" | | \n");gotoxy(40,14);printf(" 7 | 8 | 9 \n");gotoxy(65,14);printf(" 16 | 17 | 18 \n");
gotoxy(16,17);printf(" | | \n");gotoxy(40,15);printf(" | | \n");gotoxy(65,15);printf(" | | \n");
gotoxy(16,18);printf("-----|-----|-----\n");
gotoxy(16,19);printf(" | | \n");
gotoxy(16,20);printf(" | | \n");
gotoxy(16,21);printf(" | | \n");
}
usuarios ()
{
int i,j,sitio;
for(sitio=1;sitio<=19;sitio++)
for (i=1;i<=3;i++)
for (j=1;j<=3;j++)
gotoxy(1,13);cprintf("%s [X]:%d\n",j1,c1);c1=c1+1;
gotoxy(1,15);cprintf("%s [O]:%d\n",j2,c2);c2=c2+1;
gotoxy(1,17);cprintf("vieja :%d\n",lv);
{
do
{
gotoxy(1,4);printf("Ingrese el sitio de tu jugada [1-18]: ");
scanf("%d",&sitio);
/*Jugadas para 'X'*/
if (sitio<=0 || sitio>18)
{gotoxy (1,6); printf ("Entrada incorrecta, introduzca un no. valido:");}
else if (sitio==1) {i=j=1;}
else if (sitio==2) {i=1; j=2;}
else if (sitio==3) {i=1; j=3;}
else if (sitio==4) {i=2; j=1;}
else if (sitio==5) {i=j=2;}
else if (sitio==6) {i=2; j=3;}
else if (sitio==7) {i=3; j=1;}
else if (sitio==8) {i=3; j=2;}
else if (sitio==9) {i=j=3;}
/*Jugadas Para 'O'*/
else if (sitio==10) {i=j=1;}
else if (sitio==11) {i=1; j=2;}
else if (sitio==12) {i=1; j=3;}
else if (sitio==13) {i=2; j=1;}
else if (sitio==14) {i=j=2;}
else if (sitio==15) {i=2; j=3;}
else if (sitio==16) {i=3; j=1;}
else if (sitio==17) {i=3; j=2;}
else if (sitio==18) {i=j=3;}
if (m[i][j]=='O'||m[i][j]=='X')
{gotoxy (1,5); printf ("Esta casilla esta ocupada, introduzca una nueva: ");
sitio=0;}
}
/*Formula para imprimir la jugada donde corresponda*/
while (sitio <=0 || sitio>18);
{
if(sitio<10)
{gotoxy(((j+1)*6)+6,((i+1)*3)+7); printf ("X");
m[i][j]='X';}
if(sitio>9)
{gotoxy(((j+1)*6)+6,((i+1)*3)+7); printf ("O");
m[i][j]='O';}
}
/*Revisar Ganador para 'X'*/
if (m[1][1]=='X'&& m[1][1]==m[2][2]&& m[2][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("\\");gotoxy(24,16); printf ("\\");gotoxy(30,19); printf ("\\");
return 0;}
if (m[3][1]=='X'&& m[3][1]==m[2][2]&& m[2][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(30,13); printf ("/");gotoxy(24,16); printf ("/");gotoxy(18,19); printf ("/");
return 0;}
if (m[1][1]=='X'&& m[1][1]==m[2][1]&& m[2][1]==m[3][1])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("|");gotoxy(18,16); printf ("|");gotoxy(18,19); printf ("|");
return 0;}
if (m[1][2]=='X'&& m[1][2]==m[2][2]&& m[2][2]==m[3][2])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(24,13); printf ("|");gotoxy(24,16); printf ("|");gotoxy(24,19); printf ("|");
return 0;}
if (m[1][3]=='X'&& m[1][3]==m[2][3]&& m[2][3]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(30,13); printf ("|");gotoxy(30,16); printf ("|");gotoxy(30,19); printf ("|");
return 0;}
if (m[1][1]=='X'&& m[1][1]==m[1][2]&& m[1][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("_"); gotoxy(24,13); printf ("_");gotoxy(30,13); printf ("_");
return 0;}
if (m[2][1]=='X'&& m[2][1]==m[2][2]&& m[2][2]==m[2][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,16); printf ("_"); gotoxy(24,16); printf ("_");gotoxy(30,16); printf ("_");
return 0;}
if (m[3][1]=='X'&& m[3][1]==m[3][2]&& m[3][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,19); printf ("_"); gotoxy(24,19); printf ("_");gotoxy(30,19); printf ("_");
return 0;}
/*Revisar Ganador para 'O'*/
if (m[1][1]=='O'&& m[1][1]==m[2][2]&& m[2][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("\\");gotoxy(24,16); printf ("\\");gotoxy(30,19); printf ("\\");
return 0;}
if (m[3][1]=='O'&& m[3][1]==m[2][2]&& m[2][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(30,13); printf ("/");gotoxy(24,16); printf ("/");gotoxy(18,19); printf ("/");
return 0;}
if (m[1][1]=='O'&& m[1][1]==m[2][1]&& m[2][1]==m[3][1])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("|");gotoxy(18,16); printf ("|");gotoxy(18,19); printf ("|");
return 0;}
if (m[1][2]=='O'&& m[1][2]==m[2][2]&& m[2][2]==m[3][2])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(24,13); printf ("|");gotoxy(24,16); printf ("|");gotoxy(24,19); printf ("|");
return 0;}
if (m[1][3]=='O'&& m[1][3]==m[2][3]&& m[2][3]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(30,13); printf ("|");gotoxy(30,16); printf ("|");gotoxy(30,19); printf ("|");
return 0;}
if (m[1][1]=='O'&& m[1][1]==m[1][2]&& m[1][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("_"); gotoxy(24,13); printf ("_");gotoxy(30,13); printf ("_");
return 0;}
if (m[2][1]=='O'&& m[2][1]==m[2][2]&& m[2][2]==m[2][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,16); printf ("_"); gotoxy(24,16); printf ("_");gotoxy(30,16); printf ("_");
return 0;}
if (m[3][1]=='O'&& m[3][1]==m[3][2]&& m[3][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,19); printf ("_"); gotoxy(24,19); printf ("_");gotoxy(30,19); printf ("_");
return 0;}
}
}
main()
{
int opcion;
clrscr();
leer ();
StarLabel:
m[i][J]=0;
mostrar ();
usuarios ();
printf ("\n\n\n");
printf ("Que deseas hacer?");
printf ("Opcion 1: continuar");
printf ("Opcion 2:salir");
scanf ("%d", &opcion);
switch (opcion)
{
case 1:goto StarLabel;
case 2:return 0;
}
}
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
char j1[20],j2[20],m[3][3];
int c1,c2,lv,i,j;
char continuar;
leer ()
{
int i,j,sitio;
c1=0;
c2=0;
lv=0;
gotoxy(10,2);printf("BIENVENIDO AL GRAN JUEGO DE LA VIEJA\n");
gotoxy(10,6);printf("Ingrese Nombre del jugador 1\n");
gotoxy(15,8);scanf("%s",&j1);
gotoxy(10,10);printf("Ingrese Nombre del jugador 2\n");
gotoxy(15,12);scanf("%s",&j2);
}
mostrar()
{
clrscr();
m[i][j]=0;
c1=0;
c2=0;
lv=0;
textcolor(GREEN);
gotoxy(1,2);cprintf("Instituto Universitario de Tecnologia José Antonio Anzoategui\n");
gotoxy(20,3);cprintf("I.U.J.A.A\n");
textcolor(YELLOW);
gotoxy(15,1);cprintf("''''''''''LA VIEJA''''''''''\n");
gotoxy(1,13);cprintf("%s [X]:%d\n",j1,c1);
gotoxy(1,15);cprintf("%s [O]:%d\n",j2,c2);
gotoxy(1,17);cprintf("vieja :%d\n",lv);
gotoxy(30,8);printf("%s juega con casillas\n",j1);gotoxy(56,8);printf("%s juega con casillas\n",j2);
gotoxy(16,11);printf(" | | \n");gotoxy(40,9);printf(" | | \n");gotoxy(65,9);printf(" | | \n");
gotoxy(16,12);printf(" | | \n");gotoxy(40,10);printf(" 1 | 2 | 3 \n");gotoxy(65,10);printf(" 10 | 11 | 12 \n");
gotoxy(16,13);printf(" | | \n");gotoxy(40,11);printf("---|---|---\n");gotoxy(65,11);printf("----|----|----\n");
gotoxy(16,14);printf("-----|-----|-----\n");gotoxy(40,12);printf(" 4 | 5 | 6 \n");gotoxy(65,12);printf(" 13 | 14 | 15 \n");
gotoxy(16,15);printf(" | | \n");gotoxy(40,13);printf("---|---|---\n");gotoxy(65,13);printf("----|----|----\n");
gotoxy(16,16);printf(" | | \n");gotoxy(40,14);printf(" 7 | 8 | 9 \n");gotoxy(65,14);printf(" 16 | 17 | 18 \n");
gotoxy(16,17);printf(" | | \n");gotoxy(40,15);printf(" | | \n");gotoxy(65,15);printf(" | | \n");
gotoxy(16,18);printf("-----|-----|-----\n");
gotoxy(16,19);printf(" | | \n");
gotoxy(16,20);printf(" | | \n");
gotoxy(16,21);printf(" | | \n");
}
usuarios ()
{
int i,j,sitio;
for(sitio=1;sitio<=19;sitio++)
for (i=1;i<=3;i++)
for (j=1;j<=3;j++)
gotoxy(1,13);cprintf("%s [X]:%d\n",j1,c1);c1=c1+1;
gotoxy(1,15);cprintf("%s [O]:%d\n",j2,c2);c2=c2+1;
gotoxy(1,17);cprintf("vieja :%d\n",lv);
{
do
{
gotoxy(1,4);printf("Ingrese el sitio de tu jugada [1-18]: ");
scanf("%d",&sitio);
/*Jugadas para 'X'*/
if (sitio<=0 || sitio>18)
{gotoxy (1,6); printf ("Entrada incorrecta, introduzca un no. valido:");}
else if (sitio==1) {i=j=1;}
else if (sitio==2) {i=1; j=2;}
else if (sitio==3) {i=1; j=3;}
else if (sitio==4) {i=2; j=1;}
else if (sitio==5) {i=j=2;}
else if (sitio==6) {i=2; j=3;}
else if (sitio==7) {i=3; j=1;}
else if (sitio==8) {i=3; j=2;}
else if (sitio==9) {i=j=3;}
/*Jugadas Para 'O'*/
else if (sitio==10) {i=j=1;}
else if (sitio==11) {i=1; j=2;}
else if (sitio==12) {i=1; j=3;}
else if (sitio==13) {i=2; j=1;}
else if (sitio==14) {i=j=2;}
else if (sitio==15) {i=2; j=3;}
else if (sitio==16) {i=3; j=1;}
else if (sitio==17) {i=3; j=2;}
else if (sitio==18) {i=j=3;}
if (m[i][j]=='O'||m[i][j]=='X')
{gotoxy (1,5); printf ("Esta casilla esta ocupada, introduzca una nueva: ");
sitio=0;}
}
/*Formula para imprimir la jugada donde corresponda*/
while (sitio <=0 || sitio>18);
{
if(sitio<10)
{gotoxy(((j+1)*6)+6,((i+1)*3)+7); printf ("X");
m[i][j]='X';}
if(sitio>9)
{gotoxy(((j+1)*6)+6,((i+1)*3)+7); printf ("O");
m[i][j]='O';}
}
/*Revisar Ganador para 'X'*/
if (m[1][1]=='X'&& m[1][1]==m[2][2]&& m[2][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("\\");gotoxy(24,16); printf ("\\");gotoxy(30,19); printf ("\\");
return 0;}
if (m[3][1]=='X'&& m[3][1]==m[2][2]&& m[2][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(30,13); printf ("/");gotoxy(24,16); printf ("/");gotoxy(18,19); printf ("/");
return 0;}
if (m[1][1]=='X'&& m[1][1]==m[2][1]&& m[2][1]==m[3][1])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("|");gotoxy(18,16); printf ("|");gotoxy(18,19); printf ("|");
return 0;}
if (m[1][2]=='X'&& m[1][2]==m[2][2]&& m[2][2]==m[3][2])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(24,13); printf ("|");gotoxy(24,16); printf ("|");gotoxy(24,19); printf ("|");
return 0;}
if (m[1][3]=='X'&& m[1][3]==m[2][3]&& m[2][3]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(30,13); printf ("|");gotoxy(30,16); printf ("|");gotoxy(30,19); printf ("|");
return 0;}
if (m[1][1]=='X'&& m[1][1]==m[1][2]&& m[1][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,13); printf ("_"); gotoxy(24,13); printf ("_");gotoxy(30,13); printf ("_");
return 0;}
if (m[2][1]=='X'&& m[2][1]==m[2][2]&& m[2][2]==m[2][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,16); printf ("_"); gotoxy(24,16); printf ("_");gotoxy(30,16); printf ("_");
return 0;}
if (m[3][1]=='X'&& m[3][1]==m[3][2]&& m[3][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j1);
gotoxy(18,19); printf ("_"); gotoxy(24,19); printf ("_");gotoxy(30,19); printf ("_");
return 0;}
/*Revisar Ganador para 'O'*/
if (m[1][1]=='O'&& m[1][1]==m[2][2]&& m[2][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("\\");gotoxy(24,16); printf ("\\");gotoxy(30,19); printf ("\\");
return 0;}
if (m[3][1]=='O'&& m[3][1]==m[2][2]&& m[2][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(30,13); printf ("/");gotoxy(24,16); printf ("/");gotoxy(18,19); printf ("/");
return 0;}
if (m[1][1]=='O'&& m[1][1]==m[2][1]&& m[2][1]==m[3][1])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("|");gotoxy(18,16); printf ("|");gotoxy(18,19); printf ("|");
return 0;}
if (m[1][2]=='O'&& m[1][2]==m[2][2]&& m[2][2]==m[3][2])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(24,13); printf ("|");gotoxy(24,16); printf ("|");gotoxy(24,19); printf ("|");
return 0;}
if (m[1][3]=='O'&& m[1][3]==m[2][3]&& m[2][3]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(30,13); printf ("|");gotoxy(30,16); printf ("|");gotoxy(30,19); printf ("|");
return 0;}
if (m[1][1]=='O'&& m[1][1]==m[1][2]&& m[1][2]==m[1][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,13); printf ("_"); gotoxy(24,13); printf ("_");gotoxy(30,13); printf ("_");
return 0;}
if (m[2][1]=='O'&& m[2][1]==m[2][2]&& m[2][2]==m[2][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,16); printf ("_"); gotoxy(24,16); printf ("_");gotoxy(30,16); printf ("_");
return 0;}
if (m[3][1]=='O'&& m[3][1]==m[3][2]&& m[3][2]==m[3][3])
{
gotoxy(14,23);printf("%s Gano la Partida\n",j2);
gotoxy(18,19); printf ("_"); gotoxy(24,19); printf ("_");gotoxy(30,19); printf ("_");
return 0;}
}
}
main()
{
int opcion;
clrscr();
leer ();
StarLabel:
m[i][J]=0;
mostrar ();
usuarios ();
printf ("\n\n\n");
printf ("Que deseas hacer?");
printf ("Opcion 1: continuar");
printf ("Opcion 2:salir");
scanf ("%d", &opcion);
switch (opcion)
{
case 1:goto StarLabel;
case 2:return 0;
}
}
Valora esta pregunta


0