Proyecto Tres en Raya

15
import java.util.Scanner; public class megatriqui { public static void main(String[] args){ Scanner paul= new Scanner(System.in); String j[][]; j=new String[3][3];//matrices boolean p=true; int n=0,opc, cond = 0; int a,b,datoa = 0,datoa1 = 0,datob,datob1; int matrizderaz[][] = new int [3][3]; for (int i = 0; i < 3; i++) { for (int k = 0; k < 3; k++) { matrizderaz[i][k]=0; } } int sumafil=0; int sumacol=0; int sumadiag=0; for(a=0;a<=2;a++){ for(b=0;b<=2;b++){ j[a][b]="*"; } }

description

PROYECTO ALGORITMOS

Transcript of Proyecto Tres en Raya

import java.util.Scanner;

public class megatriqui {

public static void main(String[] args){

Scanner paul= new Scanner(System.in);

String j[][];

j=new String[3][3];//matrices

boolean p=true;

int n=0,opc, cond = 0;

int a,b,datoa = 0,datoa1 = 0,datob,datob1;

int matrizderaz[][] = new int [3][3];

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

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

matrizderaz[i][k]=0;

}

}

int sumafil=0;

int sumacol=0;

int sumadiag=0;

for(a=0;a<=2;a++){

for(b=0;b<=2;b++){

j[a][b]="*";

}

}

while(n<10){

////ahora haremos el tablero:

System.out.println(" 0 1 2 ");

System.out.println(" 0 "+j[0][0]+" | "+j[0][1]+" | "+j[0][2]);

System.out.println(" 1 "+j[1][0]+" | "+j[1][1]+" | "+j[1][2]);

System.out.println(" 2 "+j[2][0]+" | "+j[2][1]+" | "+j[2][2]);

cond=0;

while(cond==0){///ciclo

System.out.println("ES EL TURNO DE USTED( X )");

System.out.println("INGRESE FILA:");

datoa=paul.nextInt();

System.out.println("INGRESE COLUMNA:");

datoa1=paul.nextInt();

///Ahora vamos a verificar si la ugada existe, para ello haremos lo siguiente:

if (datoa>2||datoa1>2) {

do{

System.out.println("ESTA JUGANDO FUERA DE LA MATRIZ");

System.out.println("POR FAVOR INGRESE OTRA VEZ UNA FILA:");

datoa=paul.nextInt();

System.out.println("INGRESE COLUMNA:");

datoa1=paul.nextInt();

}while(datoa>2||datoa1>2);

}else {

while(j[datoa][datoa1]== "X"||j[datoa][datoa1]== "O"){

System.out.println("ESTE CASILLERO ESTA OCUPADO");

System.out.println("POR FAVOR INGRESE OTRA VEZ UNA FILA:");

datoa=paul.nextInt();

System.out.println("INGRESE COLUMNA:");

datoa1=paul.nextInt();

}

}

j[datoa][datoa1]= "X";

matrizderaz[datoa][datoa1]=-1;

///ES MI JUGADA

///AHORA HAREMOS OTRA VEZ EL TABLERO

System.out.println(" 0 1 2 ");

System.out.println(" 0 "+j[0][0]+" | "+j[0][1]+" | "+j[0][2]);

System.out.println(" 1 "+j[1][0]+" | "+j[1][1]+" | "+j[1][2]);

System.out.println(" 2 "+j[2][0]+" | "+j[2][1]+" | "+j[2][2]);

n=n+1;

if(j[0][0]== "X"&&j[0][1]== "X"&&j[0][2]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[1][0]=="X"&&j[1][1]== "X"&&j[1][2]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[2][0]== "X"&&j[2][1]=="X"&&j[2][2]== "X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[0][0]=="X"&&j[1][0]=="X"&&j[2][0]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[0][1]=="X"&&j[1][1]=="X"&&j[2][1]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[0][2]=="X"&&j[1][2]=="X"&&j[2][2]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[0][0]=="X"&&j[1][1]=="X"&&j[2][2]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if(j[0][2]=="X"&&j[1][1]=="X"&&j[2][0]=="X"){

System.out.println("FELICITACIONES, ERES EL GANADOR");

cond=9;

}

if (n==9 && cond!=9) {

System.out.println("EMPATE");

cond=9;

}

if(cond==9){

System.out.println("fin del juego");

System.out.println("1. continuar");

System.out.println("2. salir");

opc=paul.nextInt();

switch(opc){

case 1:

n=0;

datoa = 0;datoa1 = 0;datob=0;datob1=0;

for(a=0;a<=2;a++){

for(b=0;b<=2;b++){

matrizderaz[a][b]=0;

j[a][b]="*";

}

}

break;

case 2:

n=10;

break;

}

}

if (cond==0) {

System.out.println("AHORA LE TOCA JUGAR A LA COMPUTADORA");

do {

datob=(int)(Math.random()*3)+0;

datob1=(int)(Math.random()*3)+0;

p=true;

int sumadiag2=0;

int aux;

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

aux=2;

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

sumafil=sumafil+matrizderaz[i][k];

sumacol=sumacol+matrizderaz[k][i];

sumadiag=sumadiag+matrizderaz[k][k];

sumadiag2=sumadiag2+matrizderaz[k][aux];

aux=aux-1;

}

if (sumafil==-2) {

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

if (0==matrizderaz[i][k]) {

datob=i;

datob1=k;

p=false;

}

}

}

else{

sumafil=0;

}

if (sumacol==-2) {

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

if (0==matrizderaz[k][i]) {

datob=k;

datob1=i;

p=false;

}

}

}

else{

sumacol=0;

}

if (sumadiag==-2) {

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

if (0==matrizderaz[k][k]) {

datob=datob1=k;

p=false;

}

}

}

else{

sumadiag=0;

}

if (sumadiag2==-2) {

aux=2;

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

if (0==matrizderaz[k][aux]) {

datob=k;

datob1=aux;

p=false;

}

aux=aux-1;

}

}

else{

sumadiag2=0;

}

}

p=true;

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

aux=2;

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

sumafil=sumafil+matrizderaz[i][k];

sumacol=sumacol+matrizderaz[k][i];

sumadiag=sumadiag+matrizderaz[k][k];

sumadiag2=sumadiag2+matrizderaz[k][aux];

aux=aux-1;

}

if (sumafil==2) {

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

if (0==matrizderaz[i][k]) {

datob=i;

datob1=k;

p=false;

}

}

}

else{

sumafil=0;

}

if (sumacol==2) {

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

if (0==matrizderaz[k][i]) {

datob=k;

datob1=i;

p=false;

}

}

}

else{

sumacol=0;

}

if (sumadiag==2) {

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

if (0==matrizderaz[k][k]) {

datob=datob1=k;

p=false;

}

}

}

else{

sumadiag=0;

}

if (sumadiag2==2) {

aux=2;

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

if (0==matrizderaz[k][aux]) {

datob=k;

datob1=aux;

p=false;

}

aux=aux-1;

}

}

else{

sumadiag2=0;

}

}

} while (j[datob][datob1]== "O" || j[datob][datob1]== "X");

System.out.println("CASILLA ELEGIDA: FILA "+datob+", COLUMNA "+datob1);

j[datob][datob1]= "O";

matrizderaz[datob][datob1]=1;

/// JUGADA DE LA COMPUTADORA

//// TABLERO

System.out.println(" 0 1 2 ");

System.out.println(" 0 "+j[0][0]+" | "+j[0][1]+" | "+j[0][2]);

System.out.println(" 1 "+j[1][0]+" | "+j[1][1]+" | "+j[1][2]);

System.out.println(" 2 "+j[2][0]+" | "+j[2][1]+" | "+j[2][2]);

n++;

if(j[0][0]== "O"&&j[0][1]=="O"&&j[0][2]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[1][0]=="O"&&j[1][1]=="O"&&j[1][2]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[2][0]=="O"&&j[2][1]== "O"&&j[2][2]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[0][0]=="O"&&j[1][0]=="O"&&j[2][0]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[0][1]=="O"&&j[1][1]=="O"&&j[2][1]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[0][2]=="O"&&j[1][2]=="O"&&j[2][2]== "O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[0][0]=="O"&&j[1][1]== "O"&&j[2][2]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(j[0][2]== "O"&&j[1][1]=="O"&&j[2][0]=="O"){

System.out.println("PERDISTE");

cond=9;

}

if(cond==9){

System.out.println("fin del juego");

System.out.println("1. continuar");

System.out.println("2. salir");

opc=paul.nextInt();

switch(opc){

case 1:

n=0;

datoa = 0;datoa1 = 0;datob=0;datob1=0;

for(a=0;a<=2;a++){

for(b=0;b<=2;b++){

j[a][b]="*";

matrizderaz[a][b]=0;

}

}

break;

case 2:

n=10;

break;

}

}

}

}

}

}

}