Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- else {
- TicTacCollection.gatos.add(otro);
- public JButton[][] board;
- private char currentPlayerMark;
- Tablero otro;
- public Tablero() {
- board = new JButton[3][3];
- currentPlayerMark = 'X';
- initComponents();
- initializeBoard();
- setLocationRelativeTo(null);
- }
- private void initializeBoard() {
- board[0][0] = b1;
- board[0][1] = b2;
- board[0][2] = b3;
- board[1][0] = b4;
- board[1][1] = b5;
- board[1][2] = b6;
- board[2][0] = b7;
- board[2][1] = b8;
- board[2][2] = b9;
- }
- private void reset(){
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- board[i][j].setText("");
- }
- }
- }
- public boolean isBoardFull() {
- boolean isFull = true;
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- if (board[i][j].getText().equals("")) {
- isFull = false;
- }
- }
- }
- return isFull;
- }
- public boolean checkForWin() {
- boolean winner = (checkRowsForWin() || checkColumnsForWin() || checkDiagonalsForWin());
- if (winner) {
- if (TicTacCollection.gatos.isEmpty()) {
- TicTacCollection.gatos.add(this);
- } else {
- TicTacCollection.gatos.add(this);
- }
- }
- return winner;
- }
- private boolean checkRowsForWin() {
- for (int i = 0; i < 3; i++) {
- if (checkRowCol(board[i][0].getText(), board[i][1].getText(), board[i][2].getText()) == true) {
- return true;
- }
- }
- return false;
- }
- private boolean checkColumnsForWin() {
- for (int i = 0; i < 3; i++) {
- if (checkRowCol(board[0][i].getText(), board[1][i].getText(), board[2][i].getText()) == true) {
- return true;
- }
- }
- return false;
- }
- private boolean checkDiagonalsForWin() {
- return ((checkRowCol(board[0][0].getText(), board[1][1].getText(), board[2][2].getText()) == true) || (checkRowCol(board[0][2].getText(), board[1][1].getText(), board[2][0].getText()) == true));
- }
- private boolean checkRowCol(String c1, String c2, String c3) {
- return ((c1.length() > 0) && (c1.equals(c2)) && (c2.equals(c3)));
- }
- public void setMarca(JButton boton) {
- if (currentPlayerMark == 'X') {
- boton.setText("X");
- currentPlayerMark = 'O';
- } else {
- currentPlayerMark = 'X';
- boton.setText("O");
- }
- if (checkForWin()){
- JOptionPane.showMessageDialog(null, "El ganador fue el jugador con la marca: " + boton.getText());
- System.out.println("EN GATO HAY " + TicTacCollection.gatos.size());
- if (TicTacCollection.gatos.size() == 4) {
- TicTacCollection.showMatches();
- }
- if (TicTacCollection.gatos.size() >= 1 && TicTacCollection.gatos.size() < 4) {
- otro = new Tablero();
- this.hide();
- otro.setVisible(true);
- otro.setTitle("otro tablero");
- }
- } else if (isBoardFull()) {
- JOptionPane.showMessageDialog(null, "Empate");
- reset();
- }
- }
- @SuppressWarnings("unchecked") //Código auto generado ...
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- Tablero tabla = new Tablero();
- tabla.setVisible(true);
- }
- });
- }
- //Cada uno de los nueve botones tiene su `ActionPerformed` donde se invoca `setMarca(boton)`
- private void b1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN- FIRST:event_b1ActionPerformed
- setMarca(b1);
- }//GEN-LAST:event_b1ActionPerformed
- public class TicTacCollection {
- public static ArrayList<Tablero> gatos = new ArrayList<Tablero>();
- static int x =10,y=20;
- public ArrayList<Tablero> devuelveGatos(){
- return gatos;
- }
- public static void showMatches(){
- System.out.println("Estas son las partidas y los resultados");
- for (int i = 0; i < gatos.size(); i++) {
- if(i != 0){
- gatos.get(i).setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
- }
- gatos.get(i).setTitle("Gato"+i);
- gatos.get(i).setLocation(x,y);x+=286;
- gatos.get(i).setVisible(true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement