Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package geracaotecprojetos;
- import java.util.Scanner;
- public class JogoDaVelha {
- boolean vitoria = false;
- boolean continuar = true;
- boolean casa00x = false;
- boolean casa01x = false;
- boolean casa02x = false;
- boolean casa10x = false;
- boolean casa11x = false;
- boolean casa12x = false;
- boolean casa20x = false;
- boolean casa21x = false;
- boolean casa22x = false;
- boolean casa00y = false;
- boolean casa01y = false;
- boolean casa02y = false;
- boolean casa10y = false;
- boolean casa11y = false;
- boolean casa12y = false;
- boolean casa20y = false;
- boolean casa21y = false;
- boolean casa22y = false;
- String matriz[][] = new String[3][3];
- int contador = 0;
- int contaVitoriasX = 0;
- int contaVitoriasY = 0;
- int contaEmpates = 0;
- String nome1 = "";
- String nome2 = "";
- boolean jogada1 = true;
- boolean jogada2 = true;
- public JogoDaVelha() {
- Scanner entrada = new Scanner(System.in);
- System.out.println("nome jogador 1:");
- nome1 = entrada.next();
- System.out.println("nome jogador 2:");
- nome2 = entrada.next();
- int X = 0;
- int Y = 0;
- while (vitoria == false && continuar == true) {
- // while (vitoria == false ) {
- while (jogada1 == true) {
- System.out.println("_____________________________________");
- System.out.println("jogador 1 informe a posicao do X (xis) através do numero de linha e coluna:");
- System.out.println("numero de linha para jogador 1 é:");
- Scanner entradaLinha = new Scanner(System.in);
- X = entradaLinha.nextInt();
- System.out.println("numero de coluna para jogador 1 é:");
- Scanner entradaColuna = new Scanner(System.in);
- Y = entradaColuna.nextInt();
- if (X == 0 && Y == 0 && casa00x == false && casa00y == false) {
- matriz[0][0] = "X";//poe o X
- casa00x = true;//a casa fica ocupada
- jogada1 = false;//sai da jogada
- } else if (X == 0 && Y == 0 && (casa00x == true || casa00y == true)) {
- jogada1 = true;//continua jogando no while de jogada 1.
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");//avisa que está ocupada...
- }
- if (X == 0 && Y == 1 && casa01x == false && casa01y == false) {
- matriz[0][1] = "X";
- casa01x = true;
- jogada1 = false;
- } else if (X == 0 && Y == 1 && (casa01x == true || casa01y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 0 && Y == 2 && casa02x == false && casa02y == false) {
- matriz[0][2] = "X";
- casa02x = true;
- jogada1 = false;
- } else if (X == 0 && Y == 2 && (casa02x == true || casa02y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 1 && Y == 0 && casa10x == false && casa10y == false) {
- matriz[1][0] = "X";
- casa10x = true;
- jogada1 = false;
- } else if (X == 1 && Y == 0 && (casa10x == true || casa10y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 1 && Y == 1 && casa11x == false && casa11y == false) {
- matriz[1][1] = "X";
- casa11x = true;
- jogada1 = false;
- } else if (X == 1 && Y == 1 && (casa11x == true || casa11y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 1 && Y == 2 && casa12x == false && casa12y == false) {
- matriz[1][2] = "X";
- casa12x = true;
- jogada1 = false;
- } else if (X == 1 && Y == 2 && (casa12x == true || casa12y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 2 && Y == 0 && casa20x == false && casa20y == false) {
- matriz[2][0] = "X";
- casa20x = true;
- jogada1 = false;
- } else if (X == 2 && Y == 0 && (casa20x == true || casa20y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 2 && Y == 1 && casa21x == false && casa21y == false) {
- matriz[2][1] = "X";
- casa21x = true;
- jogada1 = false;
- } else if (X == 2 && Y == 1 && (casa21x == true || casa21y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X == 2 && Y == 2 && casa22x == false && casa22y == false) {
- matriz[2][2] = "X";
- casa22x = true;
- jogada1 = false;
- } else if (X == 2 && Y == 2 && (casa22x == true || casa22y == true)) {
- jogada1 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- // imprime matriz atual... com jogada do jogador 1...
- for (int i = 0; i < matriz.length; i++) {
- for (int k = 0; k < matriz.length; k++) {
- // if(i==X&&k==Y) {matriz[i][k]="X"; }
- // else
- // {System.out.println("este casa já está ocupada");}
- // if(i==X2&&k==Y2) {matriz[i][k]="O";}
- // rag
- // else
- if (matriz[i][k] == null) {
- matriz[i][k] = " ";
- }
- System.out.print("[ " + matriz[i][k] + " ]");
- }// for 2
- System.out.println("");
- } // for1
- }// FECHA WHILE JOGADA1
- // System.out.println("jogada2"+jogada2);
- //vitorias
- if (casa00x && casa10x && casa20x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa00x && casa01x && casa02x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa02x && casa12x && casa22x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa20x && casa21x && casa22x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa01x && casa11x && casa21x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa10x && casa11x && casa12x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa00x && casa11x && casa22x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- if (casa20x && casa11x && casa02x == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR X " + nome1 + " FEZ VELHA!!!");
- jogada2 = false;
- contaVitoriasX = contaVitoriasX + 1;;
- }
- //Scanner entrada3 = new Scanner(System.in);
- //System.out.println("nome jogador 1:");
- //String jogaDeNovo = entrada3.next();
- // if (jogaDeNovo=="S"||jogaDeNovo=="s"){continuar=true;} else {continuar=false;}
- contador = contador + 1;
- if (contador == 9 && vitoria == false) {
- System.out.println("_____________________________________");
- System.out.println("Houve empate (X), todas as jogadas foram realizadas...");
- System.out.println("_____________________________________");
- continuar = false;
- contaEmpates = contaEmpates + 1;
- //para entrar no if de joga de novo
- }//if de empate
- while (jogada2 == true && vitoria == false) {
- System.out.println("_____________________________________");
- System.out.println("jogador 2 informe a posicao do O (circulo) através do numero de linha e coluna:");
- System.out.println("numero de linha para jogador 2 é:");
- Scanner entradaLinhaJogador2 = new Scanner(System.in);
- int X2 = entradaLinhaJogador2.nextInt();
- System.out.println("numero de coluna para jogador 2 é:");
- Scanner entradaColunaJogador2 = new Scanner(System.in);
- int Y2 = entradaColunaJogador2.nextInt();
- if (X2 == 0 && Y2 == 0 && casa00y == false && casa00x == false) {
- matriz[0][0] = "O";
- casa00y = true;
- jogada2 = false;
- } else if (X2 == 0 && Y2 == 0 && (casa00y == true || casa00x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 0 && Y2 == 1 && casa01y == false && casa01x == false) {
- matriz[0][1] = "O";
- casa01y = true;
- jogada2 = false;
- } else if (X2 == 0 && Y2 == 1 && (casa01y == true || casa01x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 0 && Y2 == 2 && casa02y == false && casa02x == false) {
- matriz[0][2] = "O";
- casa02y = true;
- jogada2 = false;
- } else if (X2 == 0 && Y2 == 2 && (casa02y == true || casa02x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 1 && Y2 == 0 && casa10y == false && casa10x == false) {
- matriz[1][0] = "O";
- casa10y = true;
- jogada2 = false;
- } else if (X2 == 1 && Y2 == 0 && (casa10y == true || casa10x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 1 && Y2 == 1 && casa11y == false && casa11x == false) {
- matriz[1][1] = "O";
- casa11y = true;
- jogada2 = false;
- } else if (X2 == 1 && Y2 == 1 && (casa11y == true || casa11x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 1 && Y2 == 2 && casa12y == false && casa12x == false) {
- matriz[1][2] = "O";
- casa12y = true;
- jogada2 = false;
- } else if (X2 == 1 && Y2 == 2 && (casa12y == true || casa12x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 2 && Y2 == 0 && casa20y == false && casa20x == false) {
- matriz[2][0] = "O";
- casa20y = true;
- jogada2 = false;
- } else if (X2 == 2 && Y2 == 0 && (casa20y == true || casa20x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 2 && Y2 == 1 && casa21y == false && casa21x == false) {
- matriz[2][1] = "O";
- casa21y = true;
- jogada2 = false;
- } else if (X2 == 2 && Y2 == 1 && (casa21y == true || casa21x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- if (X2 == 2 && Y2 == 2 && casa22y == false && casa22x == false) {
- matriz[2][2] = "O";
- casa22y = true;
- jogada2 = false;
- } else if (X2 == 2 && Y2 == 2 && (casa22y == true || casa22x == true)) {
- jogada2 = true;
- System.out.println("ESTA CASA JÁ ESTÁ OCUPADA, POR FAVOR INSIRA OUTRA CASA:");
- }
- // imprime matriz atual... com jogada do jogador2
- for (int i = 0; i < matriz.length; i++) {
- for (int k = 0; k < matriz.length; k++) {
- System.out.print("[" + matriz[i][k] + " ]");
- }// for 2
- System.out.println("");
- } // for1
- }// fecha while...
- if (casa00y && casa10y && casa20y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR O " + nome2 + " FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa00y && casa01y && casa02y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR O " + nome2 + " FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa02y && casa12y && casa22y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR O " + nome2 + " FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa20y && casa21y && casa22y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR " + nome2 + " O FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa01y && casa11y && casa21y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR " + nome2 + " O FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa10y && casa11y && casa12y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR " + nome2 + " O FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa00y && casa11y && casa22y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR " + nome2 + " O FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- if (casa20y && casa11y && casa02y == true) {
- vitoria = true;
- continuar = false; //para entrar no if de joga de novo
- System.out.println("JOGADOR " + nome2 + " O FEZ VELHA!!!");
- contaVitoriasY = contaVitoriasY + 1;
- }
- contador = contador + 1;
- if (contador == 9) {
- System.out.println("Houve empate (Y), todas as jogadas foram realizadas...");
- continuar = false; //para entrar no if de joga de novo
- contaEmpates = contaEmpates + 1;
- }//if do empate
- //é preciso estes booleans para o jogador começar a jogar de novo, se for a hora de alternar de jogador.
- //o programa só enxerga isto no fim , então começa com o jogador certo...
- //antes do jogaDeNovo, pois lá é a alteração de jogador...
- jogada1=true;
- jogada2=true;
- //se sair do while de vitoria, verifica nova jogada...
- if ((vitoria == true && continuar == false)) {
- // System.out.println("vitoria"+vitoria);
- // System.out.println("continuar"+continuar);
- jogaDeNovo();
- }
- }//whilevitoria
- }//construtor
- public static void main(String[] args) {
- new JogoDaVelha();
- }// public main
- public void vitorias() {
- }
- public void jogaDeNovo() {
- //mostra resultados
- System.out.println("_____________________________________");
- System.out.println("vitorias de jogador 1: " + nome1 + " = " + contaVitoriasX);
- System.out.println("vitorias de jogador 2: " + nome2 + " = " + contaVitoriasY);
- System.out.println("empates do jogo : " + contaEmpates);
- System.out.println("_____________________________________");
- //pergunta se joga de novo...
- Scanner entrada5 = new Scanner(System.in);
- System.out.println("_____________________________________");
- System.out.println("jogar de novo? (S ou s) ?");
- System.out.println("_____________________________________");
- String jogaDeNovo = entrada5.next();
- if (jogaDeNovo.equals("S") || jogaDeNovo.equals("s")) {
- vitoria = false;
- continuar = true;
- } else {
- continuar = false;
- }
- limpaMatriz();
- //alterna jogadadores...
- // System.out.println("jogada1: (antes) "+jogada1);
- // if ((jogada1==false)) {jogada1=true;} else {jogada1=false;}//isso vai alternar os jogadores... 1 e 2...
- int contaTodasJogadas=contaEmpates+contaVitoriasX+contaVitoriasY;
- if ((contaTodasJogadas%2==0)) {jogada1=true;jogada2=true; } else {jogada1=false;jogada2=true;}
- }
- public void limpaMatriz() {
- casa00x = false;
- casa01x = false;
- casa02x = false;
- casa10x = false;
- casa11x = false;
- casa12x = false;
- casa20x = false;
- casa21x = false;
- casa22x = false;
- casa00y = false;
- casa01y = false;
- casa02y = false;
- casa10y = false;
- casa11y = false;
- casa12y = false;
- casa20y = false;
- casa21y = false;
- casa22y = false;
- // resetavalores
- for (int i = 0; i < matriz.length; i++) {
- for (int k = 0; k < matriz.length; k++) {
- matriz[i][k] = " ";
- }// for 2
- System.out.println("");
- }
- contador = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment