Sei sulla pagina 1di 12

#include

#include
#include
#include
#include
#include
#include

<iostream.h>
<conio.h>
<stdlib.h>
<time.h>
<string.h>
<stdio.h>
<windows.h>

struct finalista
{
char nombre[8];
int record;
};
finalista jugar1;
finalista jugar2;
int tiro,Com, empate, decidirlugar;
char Random[9];
char totito[3][3];
char marca;
char compu[8]="Comptdr";
//_________________________________datosganador_________________________________
_________________________
void datosganador()
{
cout << "\n" << jugar1.nombre << " gano: " << jugar1.record;
cout << "\n" << jugar2.nombre << " gano: " << jugar2.record;
cout << "\nEmpates: " << empate << endl;
}
//__________________________________Repetidor___________________________________
___________________
bool repetidor(int n)
{
int i;
srand (time(0));
for(i=0; i<9; i++)
{
if(Random[i] == n)
{
return true;
}
}
return false;
}

//____________________________________ganador___________________________________
____________________
void ganador()
{
int x,y,punto;

for(x=0; x<3; x++)


{
if((totito[x][0]=='X') || totito[x][0]=='O')
{
if(totito[x][0]==totito[x][1] && totito[x][0] == totito[x][2])
{
if(totito[x][0]=='X')
{
punto=1;
}
if(totito[x][0]=='O')
{
punto=2;
}
}
}
}

for(y=0; y<3; y++)


{
if((totito[0][y]=='X') || (totito[0][y]=='O'))
{
if(totito[0][y]==totito[1][y] && totito[0][y] == totito[2][y])
{
if(totito[0][y]=='X')
{
punto=1;
}
if(totito[0][y]=='O')
{
punto=2;
}
}
}
}

if((totito[1][1]=='X') || totito[1][1]=='O')
{
if((totito[1][1]==totito[0][0] && totito[1][1] == totito[2][2]))
{
if(totito[1][1]=='X')
{
punto=1;
}
if(totito[1][1]=='O')
{
punto=2;
}
}
if((totito[1][1]==totito[2][0] && totito[1][1] == totito[0][2]))
{
if(totito[1][1]=='X')
{
punto=1;
}

if(totito[1][1]=='O')
{
punto=2;
}
}
}

if ( (totito[0][0] == 'X' || totito[0][0]=='O') &&


(totito[1][0] == 'X' || totito[1][0]=='O') &&
(totito[2][0] == 'X' || totito[2][0]=='O') &&
(totito[0][1] == 'X' || totito[0][1]=='O') &&
(totito[1][1] == 'X' || totito[1][1]=='O') &&
(totito[2][1] == 'X' || totito[2][1]=='O') &&
(totito[0][2] == 'X' || totito[0][2]=='O') &&
(totito[1][2] == 'X' || totito[1][2]=='O') &&
(totito[2][2] == 'X' || totito[2][2]=='O') &&
(punto!=1 && punto!=2) )

{
gotoxy(22,7); clreol();
textcolor(YELLOW);
gotoxy(23,9); cprintf("EMPATE!!!");
empate = empate + 1;
tiro=10;
}

if (punto==1 || punto==2)
{
if (punto==1)
{
gotoxy(22,7); clreol();
jugar1.record = jugar1.record + 1;
gotoxy(23,9); cout<<" FELICIDADES!!!!! ";
textcolor(YELLOW); cprintf(jugar1.nombre);
cout<<" HA GANADO";
tiro=10;
}
if (punto==2)
{
gotoxy(22,9); clreol();
jugar2.record = jugar2.record + 1;
gotoxy(23,9); cout<<" FELICIDADES!!!!! ";
textcolor(YELLOW); cprintf(jugar2.nombre);
cout<<" HA GANADO";
tiro=10;
}
}
}

//_________________________________proceso______________________________________
_________________
void proceso()
{
int x,y,c,d,i;
x=0;
y=0;
c=27;
d=13;

for(i=0; i<3 ; i++)


{
if(tiro==i+1)
{
if(totito[i][0]=='O' || totito[i][0]=='X')
{
gotoxy(10,25); cout<<"\aEl espacio ya esta utilizado, escoja otro";
}
else
{
totito[i][0]=marca;
gotoxy(c+(6*i),d); cout<< totito[i][0];
gotoxy(10,25); cout<<"
";
Random[i]= i+1;
}
}
}

for(i=3; i<6 ; i++)


{
if(tiro==i+1)
{
if(totito[x+(i-3)][y+1]=='O' || totito[x+(i-3)][y+1]=='X')
{
gotoxy(10,25); cout<<"\aEl espacio ya esta utilizado, escoja otro";
}
else
{
totito[x+(i-3)][y+1]=marca;
gotoxy(c+(6*(i-3)),d+4); cout<< totito[x+(i-3)][y+1];
gotoxy(10,25); cout<<"
";
Random[i]= i+1;
}
}
}

for(i=6; i<9 ; i++)


{
if(tiro==i+1)
{
if(totito[x+i][y+2]=='O' || totito[x+i][y+2]=='X')
{
gotoxy(10,25); cout<<"\aEl espacio ya esta utilizado, escoja otro";
}
else
{
totito[x+(i-6)][y+2]=marca;
gotoxy(c+(6*(i-6)),d+8); cout<< totito[x+(i-6)][y+2];
gotoxy(10,25); cout<<"
"
;
Random[i]= i+1;
}
}
}
ganador();
}

//________________________________Turnos________________________________________
_________________
void turnos()
{
int h,i,j,n;
tiro=0;
marca=0;
for(j=0; j<=2; j++)
{
for(h=0; h<3; h++)
{
totito[j][h]=0;
}
}
do
{
gotoxy(10,26); cout<<"
";
gotoxy(10,26); cout<<"Es el turno de: "<<jugar1.nombre;
gotoxy(10,24); cout<<"Seleccione el area donde estara su eleccion
";
if (strcmp(jugar1.nombre,compu)==0)
{
marca='X';
do

{
n = (rand() % 9+1);
}while(repetidor(n));
for(int i=0; i<9; i++)
{
if(Random[i]==0);
{
Random[i] = n;
tiro = n;
break;
}
}
proceso();
}
else
{
cin>>tiro;
if(tiro!=10)
{
marca='X';
proceso();
}
}

if (tiro!=10)
{
gotoxy(10,26); cout<<"
";
gotoxy(10,26); cout<<"Es el turno de: "<<jugar2.nombre;
gotoxy(10,24); cout<<"Seleccione el area donde estara su eleccion
";
if (strcmp(jugar2.nombre,compu)==0)
{
marca='O';
do
{
n = (rand() % 9+1);
}while(repetidor(n));
for(int i=0; i<9; i++)
{
if(Random[i]==0);
{
Random[i] = n;
tiro = n;
break;
}
}
proceso();
}
else
{
cin>>tiro;
if(tiro!=10)
{
marca='O';
proceso();

}
}
}
}while(tiro!=10);
getch();
}
//___________________________imagen_____________________________________________
____
void imagen()
{
clrscr();
gotoxy(24,3); cout<<"TERCERA FASE DE TOTITO";
gotoxy(12,5); cout<<jugar1.nombre <<"= Jugador 1
VRS
nombre <<"= Jugador 2";
gotoxy(22,7); cout<<"Que comience el juego!!!!! \n\n";
textcolor(LIGHTGREEN);

" <<jugar2.

gotoxy(25,12); cprintf("
|
|
");
gotoxy(25,13); cprintf("
|
|
");
gotoxy(25,14); cprintf("
|
|
");
gotoxy(25,15); cprintf("=================");
gotoxy(25,16); cprintf("
|
|
");
gotoxy(25,17); cprintf("
|
|
");
gotoxy(25,18); cprintf("
|
|
");
gotoxy(25,19); cprintf("=================");
gotoxy(25,20); cprintf("
|
|
");
gotoxy(25,21); cprintf("
|
|
");
gotoxy(25,22); cprintf("
|
|
");
textcolor(LIGHTMAGENTA);
gotoxy(50,15); cprintf("
gotoxy(50,16); cprintf("
gotoxy(50,17); cprintf("
gotoxy(50,18); cprintf("

=======
|Salir|
| 10 |
=======

");
");
");
");

//___________________________________estructura_________________________________
____________________
void estructura()
{

int cantidad, cantidad2;


gotoxy(7,17); cout<<"
";
do
{
gotoxy(7,17); cout<<"\a\ala cantidad de caracteres debe ser, max 8 letras";
gotoxy(5,2); cout<<"A continuacion debe de llenar la siguiente tabla para in
gresar sus nombres\n\n";
cout<<"Nombre: ";
cin>>jugar1.nombre;
cantidad= strlen (jugar1.nombre);
}
while (cantidad>8);
gotoxy(12,13);cout<<jugar1.nombre;

do
{
gotoxy(7,17); cout<<"\a\ala cantidad de caracteres debe ser, max 8 letras";
gotoxy(1,5); cout<<"Nombre: ";
cin>>jugar2.nombre;
cantidad2=strlen (jugar2.nombre);
}
while(cantidad2>8);
gotoxy(31,13); cout<<jugar2.nombre;
getch();
}

//__________________________________dato________________________________________
____________________
void dato()
{
clrscr();
gotoxy(10,9);
gotoxy(10,10);
gotoxy(10,11);
gotoxy(10,12);
gotoxy(10,13);
gotoxy(10,14);
gotoxy(10,15);

cout<<"+=====================================+";
cout<<"|
Jugador 1 (X) |
Jugador 2 (O) |";
cout<<"|=====================================|";
cout<<"|
|
|";
cout<<"|
|
|";
cout<<"|
|
|";
cout<<"+=====================================+";

//__________________________________Eleccion____________________________________
_____________________

void eleccion()
{
clrscr();
int cantidad, opcion;
gotoxy(10,10);
cout<<"Elige el jugador que deseas ser: " <<"\n\n Jugador 1 = X" <<"\n Jugado
r 2 = O\n\n";
cin>>opcion;
switch(opcion)
{
case 1: dato();
decidirlugar = 2;
strcpy(jugar2.nombre,compu);
gotoxy(31,13); cout<<jugar2.nombre;
gotoxy(7,17); cout<<"
";
do
{
gotoxy(7,17); cout<<"\a\ala cantidad de caracteres debe ser, max 8 letras";
gotoxy(5,2); cout<<"A continuacion debe de llenar la siguiente tabla para in
gresar su nombre\n\n";
cout<<"Nombre: ";
cin>>jugar1.nombre;
cantidad= strlen (jugar1.nombre);
}
while (cantidad>8);
gotoxy(12,13);cout<<jugar1.nombre;
break;
case 2: dato();
decidirlugar = 1;
strcpy(jugar1.nombre,compu);
gotoxy(12,13);cout<<jugar1.nombre;
gotoxy(7,17); cout<<"
";
do
{
gotoxy(7,17); cout<<"\a\ala cantidad de caracteres debe ser, max 8 letras";
gotoxy(5,2); cout<<"A continuacion debe de llenar la siguiente tabla para in
gresar su nombre\n\n";
cout<<"jugar2.nombre: ";
cin>>jugar2.nombre;
cantidad= strlen (jugar1.nombre);
}
while (cantidad>8);
gotoxy(31,13); cout<<jugar2.nombre;
break;
}
getch();
}
bool seguirmodo()
{

int ing;
system("CLS");
datosganador();
cout << "\n\nDesea seguir jugando en este modo?" << endl;
cout << "1 Si \n2 No \n";
cin >> ing;
if (ing==1)
{
return true;
}else if(ing==2)
{
/*Iniciar nuevamente los datos*/
jugar1.record = 0;
jugar2.record = 0;
empate = 0;
return false;
}
}

//__________________________________jugadores___________________________________
______________________
void jugadores()
{
int opcion;
clrscr();
textcolor(YELLOW);
gotoxy(25,15); printf("A continuacion seleccione el modo de juego ");
gotoxy(20,17);cprintf("\n 1. Jugador vs Jugador");
gotoxy(20,18);cprintf("\n 2. Jugador vs Ordenador\n\n");
cin>>opcion;
if(opcion==1 || opcion==2)
{
switch(opcion)
{
case 1:
dato();
estructura();
do
{
imagen();
turnos();
} while(seguirmodo());
break;
case 2:
eleccion();
do
{
imagen();
turnos();
} while(seguirmodo());
break;
}
}
else
{
opcion=0;
textcolor(RED); cprintf("\n\a\aOpcion no valida, intentelo de nuevo");

}
getch();
}

//_________________________________animacion____________________________________
__________________________
void animacion()
{
clrscr();
int s;
s=6;
cout << "\n";
for(int i=0; i<=79; i++)
cout << "_";
for(int i=0; i<=79; i++)
{
cout << "=";
Sleep(s*1000/80);
}
}

//___________________________________menu_______________________________________
_______________________
void menu()
{
int opcion;
gotoxy(18,12);
textcolor(LIGHTGREEN);
cprintf("JUEGO DE TOTITO (Tercera parte)\n");
cout<<"\n1. Inicio";
cout<<"\n2. Salir";
cout<<"\n\nIngrese la opcion a utilizar: (SOLO DIGITOS) ";
scanf("%i",&opcion);
if(opcion==1 || opcion==2)
{
switch(opcion)
{
case 1: jugadores();
break;
case 2: animacion(); exit(0);
break;
}
}
else
{
opcion=0;
textcolor(RED); cprintf("\n\a\aOpcion no valida, intentelo de nuevo");
}
getch();
}

//___________________________________main_______________________________________
__________________________
int main()
{
clrscr();
while(10)
{
clrscr();
menu();
clrscr();
cout<<"\n\nPresione una tecla para regresar al menu principal...";
getch();
}
}
i.

Potrebbero piacerti anche