En Un Aprieto
Hola, me han pedido en el instituto q realice un programa de 3 en raya en lenguaje C, el problema es q no tengo mucha idea de como hacerlo, y tengo q entregarlo dentro de poco... alguien puede echarme un cable ????
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define max 9
int saludo();
int posicion[3][3];
void tablero();
void jugador();
void ordenador();
int ganador();
void main()
{
clrscr();
int i, j, sal, gan=-1;
for (i=1; i<4; i++)
for (j=1; j<4; j++)
posicion[i][j]=-1;
sal=saludo();
tablero();
i=0;
if (sal==0)
do{
jugador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
ordenador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
else
do{
ordenador();
if (i>3)
gan=ganador();
i++;
if (i<max+1 && gan==-1)
{
jugador();
if (i>3)
gan=ganador();
i++;
}
}while (i<max+1 && gan==-1);
gotoxy(13,20);
if (gan==1)
puts ("!!!!!!!! HAS PERDIDO !!!!!!!!!!!!!!");
else if (gan==-1)
puts ("------------ T A B L A S ---------------");
else
puts ("******** HAS GANADO: ERES UN MONSTRUO *********");
getch();
}
int saludo()
{
int x;
puts ( "n VAS A JUGAR UNA FABULOSA PARTIDA DE TRES EN RAYA."
"n TU RIVAL ES EL ORDENADOR MAS TORPE QUE EXISTE."
"n TIENES TRES OPCIONES PARA PONER PRIMERO:"
"n (0) JUGADOR (1) ORDENADOR (2) A SUERTES");
do{
gotoxy(20,10);
puts ("¨Quien empieza?: ( )");
gotoxy(38,10);
scanf("%d",&x);
}while (x<0 || x>2);
if (x==2)
{
randomize();
x=rand()%2;
}
return x;
}
void tablero()
{
clrscr();
gotoxy(20,5); puts ("-------------");
gotoxy(20,6); puts ("| 1 | 2 | 3 |");
gotoxy(20,7); puts ("-------------");
gotoxy(20,8); puts ("| 4 | 5 | 6 |");
gotoxy(20,9); puts ("-------------");
gotoxy(20,10); puts ("| 7 | 8 | 9 |");
gotoxy(20,11); puts ("-------------");
gotoxy(13,13); puts ("(X=JUGADOR // $=ORDENADOR)");
}
void jugador()
{
int i, j, tirada;
do{
gotoxy(13,20); puts ("¨Qu posici¢n eliges?: ( )");
gotoxy(37,20);
scanf ("%d", &tirada);
switch (tirada)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("X");
posicion[i][j]=0;
return;
}
void ordenador()
{
int i, j, O;
do{
randomize();
O=(rand()%9)+1;
switch (O)
{
case 1: i=1; j=1; gotoxy(22,6); break;
case 2: i=1; j=2; gotoxy(26,6); break;
case 3: i=1; j=3; gotoxy(30,6); break;
case 4: i=2; j=1; gotoxy(22,8); break;
case 5: i=2; j=2; gotoxy(26,8); break;
case 6: i=2; j=3; gotoxy(30,8); break;
case 7: i=3; j=1; gotoxy(22,10); break;
case 8: i=3; j=2; gotoxy(26,10); break;
case 9: i=3; j=3; gotoxy(30,10); break;
}
}while(posicion[i][j]!=-1);
puts ("$");
posicion[i][j]=1;
return;
}
int ganador()
{
int i, j, V=-1;
for (i=1; i<4; i++)
if (posicion[i][1]!=-1)
if (posicion[i][1]==posicion[i][2]
&& posicion[i][1]==posicion[i][3])
{
V=posicion[i][1];
break;
}
if (V==-1)
for (j=1; j<4; j++)
if (posicion[1][j]!=-1)
if (posicion[1][j]==posicion[2][j]
&& posicion[1][j]==posicion[3][j])
{
V=posicion[1][j];
break;
}
if (V==-1 && posicion[2][2]!=-1)
{
if (posicion[1][1]==posicion[2][2]
&& posicion[1][1]==posicion[3][3])
V=posicion[2][2];
if (posicion[1][3]==posicion[2][2]
&& posicion[1][3]==posicion[3][1])
V=posicion[2][2];
}
return V;
}
