You are on page 1of 23

#include <iostream>

#include <string>
using namespace std;
void reemplazar(string [3][3],string,string);
void verificar(string [3][3],string);
int main()
{
string A[3][3]={"1","2","3",
"4","5","6",
"7","8","9"};
string resp,figura="X";
while (resp!="fin")
{
//Muestra tabla
for(int fila=0;fila<3;fila++)
{
for(int columna=0;columna<3;columna++)
{
cout<<A[fila][columna]<<" ";
}
cout<<endl;
}
cout<<"Posicion "<<figura<<": ";
cin>>resp;
//Llamar funcion reemplazar
reemplazar(A,figura,resp);
//Llamar funcion verificar
verificar(A,figura);
//Intercambia X por O

if (figura=="X")
figura="O";
else
figura="X";

}
return 0;
}
//Funciones
void reemplazar(string A[3][3],string figura,string resp)
{
for(int fila=0;fila<3;fila++)
{
for(int columna=0;columna<3;columna++)
{
if(resp==A[fila][columna])
A[fila][columna]=figura;
}
}
return;
}
void verificar(string A[3][3],string figura)
{
if(A[0][0]==A[0][1] && A[0][1]==A[0][2])
cout<<"Gano "<<A[0][0]<<endl;
else if (A[1][0]==A[1][1] && A[1][1]==A[1][2])
cout<<"Gano "<<A[1][0]<<endl;
else if (A[2][0]==A[2][1] && A[2][1]==A[2][2])
cout<<"Gano "<<A[2][0]<<endl;

else if (A[0][0]==A[1][0] && A[1][0]==A[2][0])


cout<<"Gano "<<A[0][0]<<endl;
else if (A[0][1]==A[1][1] && A[1][1]==A[2][1])
cout<<"Gano "<<A[0][1]<<endl;
else if (A[0][2]==A[1][2] && A[1][2]==A[2][2])
cout<<"Gano "<<A[0][2]<<endl;
else if (A[0][0]==A[1][1] && A[1][1]==A[2][2])
cout<<"Gano "<<A[0][0]<<endl;
else if (A[0][2]==A[1][1] && A[1][1]==A[2][0])
cout<<"Gano "<<A[0][2]<<endl;
else //Veamos si hay dos iguales
{
if(A[0][0]==A[0][1] || A[0][0]==A[0][2]||A[0][1]==A[0][2])
cout<<"Cuidado con "<<figura<<endl;
else if (A[1][0]==A[1][1] || A[1][0]==A[1][2]||A[1][1]==A[1][2])
cout<<"Cuidado con "<<figura<<endl;
}
return;
}

/*REALIZAR JUEGO TRES EN RAYA: JUGADOR CONTRA JUGADOR*/


#include
#include
#include
#include

<conio.h>
<stdio.h>
<string.h>
<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;
}

//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++

Module Name: windows.h

Purpose: Master include file for Windows applications.

--*/

#ifndef __WINDOWS__
#define __WINDOWS__

#ifdef SHx
#pragma warning(disable:4710)
#endif

#include <windef.h>
#include <types.h>
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>

#include <winreg.h>
#include <shellapi.h>
#if !defined(WINCEMACRO) && !defined(WIN32_NO_OLE)
#include <ole2.h>
#endif

#include <imm.h>

#include <tchar.h>
#include <excpt.h>

// On CE force the functions to be linked instead of inline and


// turn off auto deprecate
#ifdef UNDER_CE
#define STRSAFE_LIB
#define STRSAFE_NO_DEPRECATE
#endif
#include <strsafe.h>

#endif /* __WINDOWS__ */

#include <stdio.h>
#include <stdlib.h>

void SumaEstadistica(int jug);

void DespliegaEstadistica(int,int,int,int,int);
void Ocupado(int jug);
void Preparaturno(int jug);
void menu();
void victoria(int);
void jugando();
int main(int argc, char *argv[],int jug)
{
//Imprime menu
int opc=0;
int jug1p=0;
int jug1g=0;
int jug2p=0;
int jug2g=0;
int emp=0;
if(jug==2){
jug2g++;
jug1p++;
}
if (jug==1){
jug1g++;
jug2p++;
}
if (jug==5)
{
emp++
}
do
{

system("CLS");
system("Color 0a");
printf ("Bienvenido al juego del gato.\nPor favor, sirvase escoger una opcion.\n1. Jugar\n2.
Estadisticas\n3. Salir\n");
scanf("%d",&opc);
switch (opc){
case 1://jugar
jugando();
break;
case 2://estadisticas
system("cls");
printf("\t\tEstadisticas\n\t\t------------\n");
printf("Jugador\tGanadas\tPerdidas\tEmpatadas\n");
printf("O\t %d\t%d\t\t%d\n",jug1g,jug1p,emp);
printf("X\t %d\t%d\t\t%d\n",jug2g,jug2p,emp);
Sleep(4000);
system("cls");
main(1,1,0);
break;
case 3:

break;
}
}while (opc=!3);

return 0;
}

void Ocupado(int jug){


//Mensaje de posicion Ocupada.
system("CLS");
system("Color c");
printf("El espacio esta ocupado, seleccione otro.");
Sleep(1500);
system("Cls");

system("color 0a");
Preparaturno(jug);
jug=0;
}
void Preparaturno(int jug){
//Prepara turno para jugador
system("cls");
printf("\nJugador %d. \nIngrese fila y columna.\n",jug);
jug=0;
}
int verifganador(int dat1, int dat2, int dat3){
if (dat1 == 0 && dat2 == 0 && dat3 == 0){}
else
{
if (dat1 == dat2 && dat1 == dat3 && dat1 == 3){return 1;}
}
if (dat1 == dat2 && dat1 == dat3 && dat1 == 5){return 2;}

void victoria(int quien){


system("CLS");
system("Color 0b");

if (quien==2){printf ("Felicidadesjugador 2, has vencido!");


Sleep(2000);
main(1,0,2);
}

if (quien==1){printf("Felicidades jugador 1, has vencido!");}


Sleep(2000);
main(1,0,1);
}

void jugando(){
int Tablero[3][3];
int x =0;
int z =0;
int jugador =1 ;
int fila =0;
int col =0;
int intentos=0;
int gano=0;

//Dar formato a matriz


for(z=0;z<3;z++){for(x=0;x<3;x++){Tablero[z][x]=0;}}
do
{ system("color 0a");
//Grafica matriz

system("CLS");
for(z=0;z<3;z++){
for(x=0;x<3;x++){
if (Tablero[z][x]==0){printf(" ");if(x<2){printf(" | ");}}
if (Tablero[z][x]==3){printf("O");if(x<2){printf(" | ");}}
if (Tablero[z][x]==5){printf("X");if(x<2){printf(" | ");}}}
if(z<2){
printf("\n__________\n");}
}
printf("\n");
//Comprobacion Diaagonal izquierda,
gano = verifganador(Tablero[0][2],Tablero[1][1],Tablero[2][0]);
//Comprobacion Diaagonal derecha,
gano = verifganador(Tablero[0][0],Tablero[1][1],Tablero[2][2]);
//Comprobacion horizontal
for(z=0;z<3;z++){gano = verifganador(Tablero[z][0],Tablero[z][1],Tablero[z][2]);}
//Comprobacion vertical
for(z=0;z<3;z++){gano = verifganador(Tablero[0][z],Tablero[1][z],Tablero[2][z]);}
if (gano==1){intentos=10;jugador=0;}
if (gano==2){intentos=10;jugador=0;}
//Alternado entre jugadores
if (jugador==1)
{
printf("\nJugador %d. \nIngrese fila y columna.\n",jugador);
scanf("%d %d",&fila, &col);
fflush (stdin);
if (Tablero[fila-1][col-1] == 0){
//La posicion esta libre
Tablero[fila-1][col-1]=3;

jugador=2;
}
else
{
//la posicion esta ocupada
Ocupado(1);
jugador=1;
}
//Suma intentos para controlar fin del juego o empate.
intentos++;
}
if (jugador==2 )
{
printf("\nJugador %d. \nIngrese fila y columna.\n",jugador);
scanf("%d %d",&fila, &col);
fflush (stdin);
if (Tablero[fila-1][col-1] == 0){
Tablero[fila-1][col-1]=5;
jugador=1;
}
else
{
Ocupado(2);
jugador=2;
}

intentos++;
}

}while(intentos<9);
victoria(gano);
}

void DespliegaEstadistica(int jug1p,int jug1g,int jug2p,int jug2g,int emp){


system("cls");
printf("\t\tEstadisticas\n\t\t------------\n");
printf("Jugador\tGanadas\tPerdidas\tEmpatadas\n");
printf("O\t %d\t%d\t\t%d\n",jug1g,jug1p,emp);
printf("X\t %d\t%d\t\t%d\n",jug2g,jug2p,emp);
Sleep(4000);
system("cls");

#include <iostream.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
char coma,c1[2][3],a[2][3];
int x1, y1, x2, y2, aciertos,r,c,val;
int jugador=1,ganador1=0,ganador2=0,nuevo=0;
void Valores()
{
aciertos=0;
c1[0][0]='A';c1[0][1]='A';c1[0][2]='B';
c1[1][0]='D';c1[1][1]='D';c1[1][2]='B';
}
void Ocultar()
{
for(r=0;r<2;r++)
{
for(c=0;c<3;c++)
{a[r][c]='*';}
}
}
void Cordenadas()
{
cout<<"\nCOORDENADAS \n";
cout<<"\n 0 1 2 \n";
for ( r=0; r<2; r++)
{
cout<<r<<" ";
for ( c=0; c<3; c++)
cout<<a[r][c]<<" ";
cout<<"\n";
}
cout<<"\n";
}

int posiciones()
{
gotoxy(5,10);cout<<"Jugador: "<<jugador;
gotoxy(48,3);cout<<"Ejemplo como coordenar";
gotoxy(48,4);cout<<"Tecleas 1,2 Enter";
gotoxy(5,11);cout<<"primer coordenada: ";
cin>>x1>>coma>>y1;
gotoxy(5,13);cout<<"seguda cordenada: ";
cin>>x2>>coma>>y2;
cout<<"\n 0 1 2\n";
for (r=0;r<2;r++)
{
cout<<r<<" ";
for (c=0;c<3;c++)
{

if ((r==x1)&&(c==y1))
{
cout<<c1[r][c]<<" ";
}
else if((r==x2)&&(c==y2))
{
cout<<c1[r][c]<<" ";
}
else
{
cout<<"* ";
}
}
cout<<"\n";
}
if (c1[x1][y1]==c1[x2][y2])
{
cout<<"Felicidades tienes un par jugador "<<jugador;
a[x1][y1]=c1[x1][y1];
a[x2][y2]=c1[x2][y2];
aciertos++;
getch();
clrscr(); //limpiador de pantalla
if (jugador==2){jugador=2;ganador2=ganador2+1;}
else {jugador=1;ganador1=ganador1+1; }
}
else
{
cout<<"Lo siento jugador "<<jugador<<" No es un par \n";
getch();
clrscr();
if (jugador==2){jugador=1;}
else {jugador=2; }
}
return aciertos;
}
main()
{ while(nuevo<1){
int res;
int pares=0;
Valores();
Ocultar();
gotoxy(30,2);cout<< "M..E..M..O..R..A..M..A";
getch();
clrscr();
do{
Cordenadas();
pares=posiciones();
}while(pares<3);
if(ganador2>ganador1){clrscr();gotoxy(40,15);cout<<"El ganador es el jugador: 2"; }
else if(ganador1>ganador2){clrscr();gotoxy(40,15);cout<<"El ganador es el jugador: 1 "; }
else {clrscr();gotoxy(40,15);cout<<"ES UN EMPATE"; }
gotoxy(50,8);cout<<"..Aciertos..";
gotoxy(50,9);cout<<"Jugador #1:"<<ganador1;
gotoxy(50,10);cout<<"Jugador #2:"<<ganador2;

getch();
cout<<"\n\nDeseas volver a jugar";
cout<<"\n1.-SI";
cout<<"\n2.-No\n";
cin>>res;
if(res==2){clrscr();nuevo=3;gotoxy(30,15);cout<< "GAME OVER";gotoxy(40,17);getch();}
aciertos=0;
ganador1=0;
ganador2=0;
clrscr();
}
return 0;
}

import java.io.*;
public class TresEnRaya{
BufferedReader consola;
public String tablero[][];
public int fila;
public int columna;
public String jugador1;
public String jugador2;
public TresEnRaya(){
consola = new BufferedReader(new InputStreamReader(System.in));
tablero = new String[3][3];
}
public void start(){
leerJugadores();
System.out.println("Comencemos");
System.out.println();
iniciaTablero();
for(int jugadas = 0; jugadas < 9; jugadas++){
if(jugada(jugadas))
return;
}
imprimeTablero();
System.out.println("Tablas!!!!");
}
public boolean jugada(int jugada){
String jugador = null;
String valor = null;
if(jugada %
jugador
valor =
}else{
jugador
valor =
}

2 == 0){
= jugador1;
"X";
= jugador2;
"O";

imprimeTablero();
leerEntrada(jugador);
tablero[fila][columna] = valor;
if(hayGanador(valor)){
System.out.println("Ha ganado " + jugador + "!!!!");
return true;
}else{
return false;
}
}
public boolean hayGanador(String valor){
boolean tresEnRaya = false;
int i, j;
int contador;

//comprueba filas
for(i = 0; i < 3; i++){
contador = 0;
for(j = 0; j < 3; j++){
if(tablero[i][j].compareTo(valor) == 0)
contador++;
}
if(contador == 3){
tresEnRaya = true;
break;
}
}
//comprueba columnas
if(!tresEnRaya){
for(j = 0; j < 3; j++){
contador = 0;
for(i = 0; i < 3; i++){
if(tablero[i][j].compareTo(valor) == 0)
contador++;
}
if(contador == 3){
tresEnRaya = true;
break;
}
}
}
//comprueba diagonal principal
if(!tresEnRaya){
contador = 0;
for(i = 0; i < 3; i++){
if(tablero[i][i].compareTo(valor) == 0)
contador++;
}
if(contador == 3){
tresEnRaya = true;
}
}
//comprueba diagonal secundaria
if(!tresEnRaya){
contador = 0;
for(i = 0; i < 3; i++){
if(tablero[i][2 - i].compareTo(valor) == 0)
contador++;
}
if(contador == 3){
tresEnRaya = true;
}
}
return tresEnRaya;
}
public void iniciaTablero(){

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


for(int j = 0; j < 3; j++){
tablero[i][j] = "-";
}
}
}
public void imprimeTablero(){
System.out.println(" 1 2 3");
for(int i = 0; i < 3; i++){
System.out.print(i+1 + " ");
for(int j = 0; j < 3; j++){
System.out.print(tablero[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
public boolean entradaValida(){
if(tablero[fila][columna].compareTo("-") == 0){
return true;
}else{
return false;
}
}
public void leerJugadores(){
boolean entradaCorrecta = false;
while(!entradaCorrecta){
try{
System.out.println("Empiezan X.");
System.out.print("Nombre del jugador con X: ");
jugador1 = consola.readLine();
System.out.print("Nombre del jugador con O: ");
jugador2 = consola.readLine();
System.out.println();
entradaCorrecta = true;
}catch(Exception e){
System.out.println("Valor incorrecto.");
entradaCorrecta = false;
}
}
}
public void leerEntrada(String jugador){
boolean entradaCorrecta = false;
System.out.println("Es el turno de " + jugador + ":");
while(!entradaCorrecta){
try{
String entrada;
System.out.print("Fila
(1, 2, 3): ");
entrada = consola.readLine();
fila = Integer.parseInt(entrada) - 1;
if(fila > 2 || fila < 0){
System.out.println("Valor fuera de rango.");
entradaCorrecta = false;

}else{
System.out.print("Columna (1, 2, 3): ");
entrada = consola.readLine();
columna = Integer.parseInt(entrada) - 1;
if(columna > 2 || columna < 0){
System.out.println("Valor fuera de rango.");
entradaCorrecta = false;
}else{
if(entradaValida()){
System.out.println();
entradaCorrecta = true;
}else{
System.out.println("Casilla ocupada.");
entradaCorrecta = false;
}
}
}
}catch(Exception e){
System.out.println("Valor incorrecto.");
entradaCorrecta = false;
}
}
}
public static void main(String args[]){
TresEnRaya ter = new TresEnRaya();
ter.start();
}

You might also like