Jump to content

problema com array bidimensioanl


rippp
 Share

Recommended Posts

boas, tenho um problema que sempre que um jogador introduz dados, ele perde os valores anteriores... melhor dizendo.. sempre que da funcao jogo envio dados para a class tabuleiro... ele perde os valores anteriores

package jogogalo;
import java.util.*;


public class Main {


    public static void boasVindas() {
        

       System.out.println("Jogo do galo em java");
       System.out.println("Por Christopher");
       System.out.println("Para Começar o jogo carregar em 'Enter'");
       

    }
public static void jogo(){
     Scanner scan = new Scanner(System.in);
    tabuleiro tab = new tabuleiro();
     boolean vencedor;
     vencedor = false;

     do {
     System.out.println("Jogador 1 escolha uma coluna? ");
     int xCol = Integer.parseInt(scan.next());
    System.out.println("Jogador 1 escolha uma Linha? ");
    int xLin = Integer.parseInt(scan.next());
    tab.Tabuleiro(xCol,xLin, 1);

    System.out.println("Jogador 2 escolha uma coluna? ");
    int xCol2 = Integer.parseInt(scan.next());
    System.out.println("Jogador 2 escolha uma Linha? ");
    int xLin2 = Integer.parseInt(scan.next());
    tab.Tabuleiro(xCol2,xLin2, 2);
     }
     while(vencedor == false);
}




    public static void main(String[] args) {
        //int tabuleiro[][] = new int[3][3];
      Scanner scan = new Scanner(System.in);
        boasVindas();
        scan.nextLine();
       System.out. println("");
       jogo();
        
    }

}

class tabuleiro {
   public static void Tabuleiro(int xCol, int xLin, int valor){
    int table[][] = new int[3][3];
    char a,b,c,d,e,f,g,h,i;
    a = '_';
    b = '_';
    c = '_';
    d = '_';
    e = '_';
    f = '_';
    g = '_';
    h = '_';
    i = '_';

    table[xLin][xCol] = valor;

   if(table[1][1] == 1){
       a = 'X';
   }
   else if (table[1][1] == 2){
       a = 'O';
   }

      if(table[2][1] == 1){
       b = 'X';
   }
   else if (table[2][1] == 2){
       b = 'O';
   }



    System.out.println("   1  2  3 ");;
    System.out.printf("1 %c | %c | %c \n", a,b,c);
    System.out.printf("  __|___|__\n" );
    System.out.printf("1 %c | %c | %c \n", d,e,f);
    System.out.println("2 __|___|__");
    System.out.printf("1 %c | %c | %c \n", g,h,i);
    System.out.println("3   |   |  ");

}

}

Java, Android developerhttp://minimalcode.net

Link to comment
Share on other sites

ok ok.. Ja agora comé que faço um clear a tela em java??

e por exemplo quando o jogador 1 completa o esquema, so consigo fazer parar o jogo depois do jogador dois jogar pois so aí é que é chamada a classe vencedor.. mas nao consigo fazer parar antes.. alguem me pode ajudar ?

public static void jogo(){
     Scanner scan = new Scanner(System.in);
    tabuleiro tab = new tabuleiro();

     boolean vencedor,casaCheia;
     vencedor = false;
     casaCheia = false;
     do {
            do {
         System.out.println("Jogador 1 escolha uma linha? ");
     int xCol = Integer.parseInt(scan.next());
     System.out.println("Jogador 1 escolha uma coluna? ");
     int xLin = Integer.parseInt(scan.next());
           if((tab.table[xLin][xCol] == 1) || (tab.table[xLin][xCol] == 10)){
               System.out.println("Esta casa ja estao ocupada joga outra vez");
               casaCheia=true;
           }
           else
           {
            tab.tabuleiro(xLin,xCol, 1);
           casaCheia = false;
           }
           }
            while(casaCheia == true);
           
           
    do {
    System.out.println("Jogador 2 escolha uma linha? ");
    int xCol2 = Integer.parseInt(scan.next());
    System.out.println("Jogador 2 escolha uma coluna? ");
    int xLin2 = Integer.parseInt(scan.next());
          
        if((tab.table[xLin2][xCol2]== 1) || (tab.table[xLin2][xCol2]== 10))
        {
              System.out.println("Esta casa ja estao ocupada joga outra vez");
               casaCheia=true;
    }
        else
        {
    tab.tabuleiro(xLin2,xCol2, 10);
    casaCheia = false;
    }
  } while(casaCheia == true);

     vencedor vence = new vencedor();
     vencedor = vence.vencedor();
     
     }
     while(vencedor == false);
        System.out.println("o jogo acabou");

}


Java, Android developerhttp://minimalcode.net

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.