Advertisement
christianrmmoreira

Jogo da velha - Monitoria 2018.1

Jun 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. package jogodavelha1;
  2. /*
  3. @author christian moreira
  4. github.com/crmon
  5. */
  6.  
  7. import javax.swing.JOptionPane;
  8.  
  9. public class JogoDaVelha {
  10.     private int contadorDeJogadas = 1;
  11.     private String velha[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9"};
  12.    
  13.     public String desenhar(){
  14.         String grid = "";
  15.         for(int i = 0; i < velha.length; i++){
  16.             grid += velha[i];
  17.            
  18.             if(i == 2 || i == 5 || i == 8){
  19.                 grid += "\n";
  20.             }
  21.             else{
  22.                 grid += "  |  ";
  23.             }
  24.         }
  25.         return grid;
  26.     }
  27.    
  28.     public String jogadorAtual(){
  29.         return contadorDeJogadas % 2 == 1? "X": "O";
  30.     }  
  31.        
  32.     public boolean verificarVitoria(){
  33.         //h
  34.         if(velha[0].equals(jogadorAtual()) && velha[1].equals(jogadorAtual()) && velha[2].equals(jogadorAtual())){
  35.             return true;
  36.         }
  37.         if(velha[3].equals(jogadorAtual()) && velha[4].equals(jogadorAtual()) && velha[5].equals(jogadorAtual())){
  38.             return true;
  39.         }
  40.         if(velha[6].equals(jogadorAtual()) && velha[7].equals(jogadorAtual()) && velha[8].equals(jogadorAtual())){
  41.             return true;
  42.         }
  43.        
  44.         //v
  45.         if(velha[0].equals(jogadorAtual()) && velha[3].equals(jogadorAtual()) && velha[6].equals(jogadorAtual())){
  46.             return true;
  47.         }
  48.         if(velha[1].equals(jogadorAtual()) && velha[4].equals(jogadorAtual()) && velha[7].equals(jogadorAtual())){
  49.             return true;
  50.         }
  51.         if(velha[2].equals(jogadorAtual()) && velha[5].equals(jogadorAtual()) && velha[8].equals(jogadorAtual())){
  52.             return true;
  53.         }
  54.        
  55.         //d
  56.         if(velha[0].equals(jogadorAtual()) && velha[4].equals(jogadorAtual()) && velha[8].equals(jogadorAtual())){
  57.             return true;
  58.         }
  59.         if(velha[2].equals(jogadorAtual()) && velha[4].equals(jogadorAtual()) && velha[8].equals(jogadorAtual())){
  60.             return true;
  61.         }
  62.        
  63.         return false;
  64.     }
  65.    
  66.     public void inserir(){
  67.         String pos = JOptionPane.showInputDialog(desenhar() + "\n" + "Insira uma posição valida");  
  68.         if(velha[Integer.parseInt(pos)-1].equals("X") || velha[Integer.parseInt(pos)-1].equals("O")){
  69.             JOptionPane.showMessageDialog(null,"Jogada invalida, repita sua jogada...");
  70.         }
  71.         else{
  72.             //if(!verificarVitoria()){
  73.                 velha[Integer.parseInt(pos)-1] = jogadorAtual();
  74.                 contadorDeJogadas++;
  75.             //}
  76.         }
  77.     }
  78.  
  79.    
  80.     public static void main(String[] args) {
  81.         JogoDaVelha jogo = new JogoDaVelha();
  82.         while(jogo.contadorDeJogadas < 9){
  83.             if(jogo.verificarVitoria()){
  84.                 JOptionPane.showMessageDialog(null, jogo.jogadorAtual() + " Venceu o jogo");
  85.                 System.exit(0);
  86.             }
  87.             else{
  88.                 jogo.inserir();
  89.             }
  90.            
  91.         }
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement