Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2006, 09:20
Amagoia686
 
Fecha de Ingreso: junio-2005
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Como arreglar este programaa

Hola, no se mucho de prog y tampoco se lo que le pasa a este programa a ver si alguien consigue arreglarlo para que funcione adecuadamente.saludos


Código:
/*REALIZAR JUEGO TRES EN RAYA: JUGADOR CONTRA JUGADOR*/

#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <dos.h>

void tablero (int,int);
void jugador1(void);
void jugador2(void);
char matriz [3][3];
int comprueba(void);


void main(void)
{

printf("BIENVENIDO AL TRES EN RAYA\n");
printf("--------------------------\n");
printf("Las posiciones empiezan en '0' y acaban en '2'\n\n");

do
{
jugador1();
jugador2();
}
while(comprueba!=0);



getch();
}

void jugador1(void)
{
int i,j;

printf("\n\nJugador 1, introduce una posicion\n\n");
printf("\n\n FILA : ");
scanf("%d",&i);
printf("\nCOLUMNA : ");
scanf("%d",&j);

if(i>3 || j>3)
 {
 printf("\n\nLo siento,esa coordenada no existe");
 }

 else
  {
	matriz[i][j]='X';
	tablero(i,j);

  }
comprueba();
getch();
}



void jugador2(void)
{
int i,j;

printf("\n\nJugador 2, introduce una posicion\n\n");
printf("\n\n FILA : ");
scanf("%d",&i);
printf("\nCOLUMNA : ");
scanf("%d",&j);

if(i>3 || j>3)
 {
 printf("\n\nLo siento,esa coordenada no existe");
 }
 else
  {
	matriz[i][j]='O';
	tablero(i,j);

  }

getch();
comprueba();
return;

}

int comprueba (void)
{
      //gana jugador 1
  if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='X')
     {
     printf("Jugador 1, has ganado la partida!!");
     	if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='O')
        printf("Jugador 2, has ganado la partida!!");
     }
  if(matriz[0][0]== matriz[1][0] && matriz[1][0]==matriz[2][0]&& matriz[0][0]=='X')
     {
     printf("Jugador 1, has ganado la partida!!");

     }
  if(matriz[0][1]== matriz[1][1] && matriz[2][1]==matriz[2][1]&& matriz[0][1]=='O')
     {
     printf("Jugador 1, has ganado la partida!!");

     }
   if(matriz[0][2]== matriz[1][2] && matriz[2][2]==matriz[2][2]&& matriz[0][2]=='O')
     {
     printf("Jugador 1, has ganado la partida!!");

     }
    if(matriz[0][2]== matriz[1][1] && matriz[2][0]==matriz[2][0]&& matriz[0][2]=='O')
     {
     printf("Jugador 1, has ganado la partida!!");

     }


return(1);
}

void tablero (int i,int j)
{
clrscr();

printf("\n\n    0  |  1  | 2 \n");
printf("-------------------\n");
printf(" 0  %c  |  %c  |  %c\n",matriz[0][0],matriz[0][1],matriz[0][2]);
printf("-------------------\n");
printf(" 1  %c  |  %c  |  %c\n",matriz[1][0],matriz[1][1],matriz[1][2]);
printf("-------------------\n");
printf(" 2  %c  |  %c  |  %c\n",matriz[2][0],matriz[2][1],matriz[2][2]);


return;
}