legostr

Untitled

Jan 31st, 2013
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.79 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3.  
  4. public class Principal {
  5.    
  6.     String[][] v = new String[3][3];
  7.     Scanner scanner = new Scanner(System.in);
  8.     int l, c;
  9.     String j1;
  10.     String j2;
  11.     int p1 = 0, p2 = 0;
  12.     String resp = "sim";
  13.     boolean result = false;
  14.     int jogadas = 0;
  15.    
  16.    
  17.     public static void main (String[] args){
  18.         Principal p = new Principal();
  19.         p.velha();
  20.    
  21.     }
  22.        
  23.     public void tabuleiro(){
  24.         System.out.println("\t"+v[0][0] + " | " + v[0][1] + " | "+v[0][2]);
  25.         System.out.println("\t"+"---------");
  26.         System.out.println("\t"+v[1][0] + " | " + v[1][1] + " | "+v[1][2]);
  27.         System.out.println("\t"+"---------");
  28.         System.out.println("\t"+v[2][0] + " | " + v[2][1] + " | "+v[2][2]+"\n");
  29.     }
  30.    
  31.     public void validaLinha(){
  32.         while(l < 0 || l > 2){
  33.             System.out.println("Linha inválida, digite outra linha de 0 a 2: ");
  34.             l = scanner.nextInt();
  35.         }
  36.     }
  37.    
  38.     public void validaColuna(){
  39.         while(c < 0 || c > 2){
  40.             System.out.println("Coluna inválida, digite outra coluna de 0 a 2: ");
  41.             c = scanner.nextInt();
  42.         }
  43.     }
  44.    
  45.     public void validaLinhaColuna(){
  46.         while(v[l][c] != " "){
  47.             System.out.println("Essa posição já está preechida, informe outra linha: ");
  48.             l = scanner.nextInt();
  49.             System.out.println("Informe a coluna: ");
  50.             c = scanner.nextInt();
  51.         }
  52.     }
  53.    
  54.     public boolean vitoria(String simb){
  55.         boolean result = false;
  56.         if((v[0][0] == simb && v[0][1] == simb && v[0][2] == simb) ||
  57.                 (v[1][0] == simb && v[1][1] == simb && v[1][2] == simb) ||
  58.                 (v[2][0] == simb && v[2][1] == simb && v[2][2] == simb) ||
  59.                 (v[0][0] == simb && v[1][1] == simb && v[2][2] == simb) ||
  60.                 (v[0][2] == simb && v[1][1] == simb && v[2][0] == simb) ||
  61.                 (v[0][0] == simb && v[1][0] == simb && v[2][0] == simb) ||
  62.                 (v[0][1] == simb && v[1][1] == simb && v[2][1] == simb) ||
  63.                 (v[0][2] == simb && v[1][2] == simb && v[2][2] == simb)){
  64.            
  65.             if(simb == "X"){
  66.                 System.out.println(j1+", é o vencedor! Parabéns!");
  67.                 p1++;
  68.                 result = true;
  69.             }else if(simb == "O"){
  70.                 System.out.println(j2+", é o vencedor! Parabéns!");
  71.                 p2++;
  72.                 result = true;
  73.             }
  74.            
  75.         }
  76.             else if(jogadas == 9){
  77.                 System.out.println("EMPATE");
  78.                 result = true;
  79.         }
  80.         return result;
  81.     }
  82.    
  83.     public void placar(){
  84.         System.out.println("PLACAR");
  85.         System.out.println("\t"+j1+": "+p1+" vitória(s)");
  86.         System.out.println("\t"+j2+": "+p2+" vitória(s)");
  87.     }
  88.    
  89.     public void velha(){
  90.         System.out.println("Informe o nome do jogador 1: ");
  91.         j1 = scanner.next();
  92.        
  93.         System.out.println("Informe o nome do jogador 2: ");
  94.         j2 = scanner.next();
  95.        
  96.         while(resp == "sim"){
  97.    
  98.             v[0][0] = " ";
  99.             v[0][1] = " ";
  100.             v[0][2] = " ";
  101.             v[1][0] = " ";
  102.             v[1][1] = " ";
  103.             v[1][2] = " ";
  104.             v[2][0] = " ";
  105.             v[2][1] = " ";
  106.             v[2][2] = " ";
  107.            
  108.             tabuleiro();
  109.            
  110.            
  111.             while( result == false){
  112.            
  113.                 System.out.println(j1+", informe a linha de 0 a 2: ");
  114.                 l = scanner.nextInt();
  115.        
  116.                 validaLinha();
  117.                
  118.                 System.out.println(j1+", informe a coluna de 0  a 2: ");
  119.                 c = scanner.nextInt();
  120.                
  121.                 validaColuna();
  122.                
  123.                 validaLinhaColuna();
  124.                
  125.                 v[l][c] = "X";
  126.                 jogadas++;
  127.                
  128.                 System.out.println(jogadas);
  129.                
  130.                 if(result == false){
  131.                     vitoria("X");
  132.                 }
  133.                
  134.                 tabuleiro();
  135.                            
  136.                 System.out.println(j2+", informe a linha de 0 a 2: ");
  137.                 l = scanner.nextInt();
  138.                
  139.                 validaLinha();
  140.                
  141.                 System.out.println(j2+", informe a coluna de 0  a 2: ");
  142.                 c = scanner.nextInt();
  143.                
  144.                 validaColuna();
  145.                
  146.                 validaLinhaColuna();
  147.                
  148.                 v[l][c] = "O";
  149.                 jogadas++;
  150.                
  151.                 System.out.println(jogadas);
  152.                
  153.                 if(result == false){
  154.                     vitoria("O");
  155.                 }
  156.                
  157.                 tabuleiro();
  158.                
  159.             }
  160.             placar();
  161.            
  162.             System.out.println("Deseja jogar novamente? Digite 'sim'");
  163.             scanner.next(resp);
  164.         }
  165.     }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment