C/Visual C - ultima ayuda el contador

 
Vista:

ultima ayuda el contador

Publicado por Diego (15 intervenciones) el 25/07/2006 15:18:21
ya funciona pero no se donde poner el contador pa ra contar las ganadas y parar el el juego cuando nadie gana y que cuente la ganada pa la vieja intento hacerlo pero no se donde colocarlo tu me dijiste pero no lo entendi mucho

#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++)
{

{
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;}
c1=c1+1;
/*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;}

}
}
}
}
}
reiniciar ()
{
for (i=1;i<=3;i++)
{
for (j=1;j<=3;j++)
{
m[i][j]=0;
}
}
}

main()
{

int opcion;
clrscr();
leer ();
StarLabel:
reiniciar ();
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ultima ayuda el contador

Publicado por Nelek (816 intervenciones) el 25/07/2006 16:35:10
definicion de funcion:

valor_retorno nombre_funcion (parametros_entrada)

tu lo tienes todo como: void funcion () por lo que no puedes hacer returns

asi que lo mas facil es que te declares tres variables contador de ambito global (o sea FUERA de todas las funciones)

int partidas1 = 0, partidas2 = 0, partidas_vieja = 0;

y en la funcion donde determinas quien ha ganado, tan simple como un if una vez sabes quien ha ganado.

if (ganador == 1) //si gana el primero
partidas1++; //aumentas su puntuacion
else if (ganador == 2) //si gana el segundo
partidas2++; //aumentas su puntuacion
else //si no gana nadie
partidas_vieja++; //partida pa la vieja

Suerte, me voy a casa ya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar