Proyecto Tres en Raya
-
Upload
pauleduardocervantesparvina -
Category
Documents
-
view
14 -
download
2
description
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;