Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Main.java
- package gioco;
- /**
- *
- * @author Christian V.
- * @version 1.0 del 17/02/2018
- */
- public class Main
- {
- /**
- * Main.
- * @param args
- */
- public static void main(String[] args)
- {
- Gioco gioco = new Gioco();
- }
- }
- //Gioco.java
- package gioco;
- import java.awt.*;
- import javax.swing.*;
- import java.awt.event.*;
- /**
- * @author Christian V.
- * @version 1.0 del 17/02/2018
- */
- public class Gioco extends JFrame implements ActionListener
- {
- /**
- * Indica di quale giocatore e' il turno in corso.
- */
- private String Giocatore = "G1"; //VIENE MODIFICATO DOPO IL CLICK SU UN TASTO
- /*
- * G1 = Giocatore 1 = X
- * G2 = Giocatore 2 = O
- */
- /**
- * Finestra di vittoria per il Giocatore 1.
- */
- Vittoria VittoriaG1 = new Vittoria("G1");
- /**
- * Finestra di vittoria per il Giocatore 2.
- */
- Vittoria VittoriaG2 = new Vittoria("G2");
- /**
- * Pannello contenente i pulsanti del tris, dove i giocatori mettono il proprio segno.
- */
- private JPanel griglia = new JPanel();
- /**
- * Pannello contenente sia la griglia che il pulsante di reset.
- */
- private JPanel tuttiBottoni = new JPanel();
- /**
- * Array bidimensionale di bottoni. Sarebbe la griglia dove i giocatori mettono il proprio segno.
- */
- private JButton[][] bottoni = new JButton[3][3];
- /**
- * Pulsante reset per ricominciare la partita.
- */
- private JButton reset = new JButton("Reset");
- /**
- * Scritta "Tris" posta al centro della finestra. Il titolo, praticamente.
- */
- private JLabel titolo = new JLabel("Tris", SwingConstants.CENTER);
- /**
- * Costruttore, imposta il titolo e chiama i metodi di generazione della finestra.
- */
- public Gioco()
- {
- super("Tris!");
- generaBottoni();
- generaPannelloBottoni();
- generaFinestra();
- }
- /*
- * #### GRIGLIA ####
- * [0,0] [0,1] [0,2] // [1] [2] [3]
- * [1,0] [1,1] [1,2] // [4] [5] [6]
- * [2,0] [2,1] [2,2] // [7] [8] [9]
- */
- /**
- * Ascoltatore. Vede quali pulsanti sono stati premuti, ed in base a cio' viene eseguita un'azione.
- */
- public void actionPerformed(ActionEvent E)
- {
- String PULSANTE = E.getActionCommand();
- /*
- * #### FUNZIONAMENTO PULSANTI TRIS ####
- *
- * if(PULSANTE.equals("TESTO DEL PULSANTE")) --> Dal testo si riesce anche a ricavare la posizione
- * {
- * boolean exe = false; --> Si crea una variabile bool exe per indicare se il tasto sia gia' stato premuto
- *
- * if(Giocatore.equals("G1") && exe == false) --> Controlla se sia il turno del giocatore 1 e se il tasto sia gia' stato premuto
- * {
- * bottoni[R][C].setText("X"); --> Cambia il testo del bottone in "X"
- * bottoni[R][C].setForeground(Color.green); --> Cambia il colore del testo in verde
- * Giocatore = G2; --> Cambia il turno in G2
- * exe = true; --> Imposta il tasto come gia' premuto
- * }
- *
- * if(Giocatore.equals("G2") && exe == false) --> Controlla se sia il turno del giocatore 2 e se il tasto sia gia' stato premuto
- * {
- * bottoni[C][R].setText("O"); --> Cambia il testo del bottone in "O"
- * bottoni[C][R].setForeground(Color.red); --> Cambia il colore del testo in rosso
- * Giocatore = "G1"; --> Cambia il turno in G1
- * exe = true; --> Imposta il tasto come gia' premuto
- * }
- *
- * //Controlla se ha vinto qualcuno
- *
- * //VINCE PER RIGA
- * if(bottoni[R][C].getText().equals("X") && bottoni[R][C].getText.equals("X") && bottoni[R][C].getText.equals("X")) --> Controlla se la riga contiene pulsanti tutti "X"
- * {
- * VittoriaG1.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 1
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- * if(bottoni[R][C].getText().equals("O") && bottoni[R][C].getText.equals("O") && bottoni[R][C].getText.equals("O")) --> Controlla se la riga contiene pulsanti tutti "O"
- * {
- * VittoriaG2.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 2
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- *
- * //VINCE PER DIAGONALE
- * if(bottoni[R][C].getText().equals("X") && bottoni[R][C].getText().equals("X") && bottoni[R][C].getText().equals("X")) --> Controlla se la diagonale corrispondente contiene pulsanti tutti "X"
- * {
- * VittoriaG1.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 1
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- * if(bottoni[R][C].getText().equals("O") && bottoni[R][C].getText().equals("O") && bottoni[R][C].getText().equals("O")) --> Controlla se la diagonale corrispondente contiene pulsanti tutti "O"
- * {
- * VittoriaG2.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 2
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- *
- * //VINCE PER COLONNA
- * if(bottoni[R][C].getText().equals("X") && bottoni[R][C].getText().equals("X") && bottoni[R][C].getText().equals("X")) --> Controlla se la colonna contiene pulsanti tutti "X"
- * {
- * VittoriaG1.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 1
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- * if(bottoni[R][C].getText().equals("O") && bottoni[R][C].getText().equals("O") && bottoni[R][C].getText().equals("O")) --> Controlla se la colonna coneiene pulsanti tutti "O"
- * {
- * VittoriaG2.setVisible(true); --> Mostra la schermata di vittoria per il Giocatore 2
- * postVittoria(); --> Avvia l'esecuzione del metodo post vittoria
- * }
- * }
- */
- if(PULSANTE.equals("1"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[0][0].setText("X");
- bottoni[0][0].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[0][0].setText("O");
- bottoni[0][0].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[0][0].getText().equals("X") && bottoni[0][1].getText().equals("X") && bottoni[0][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][0].getText().equals("O") && bottoni[0][1].getText().equals("O") && bottoni[0][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE
- if(bottoni[0][0].getText().equals("X") && bottoni[1][1].getText().equals("X") && bottoni[2][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][0].getText().equals("O") && bottoni[1][1].getText().equals("O") && bottoni[2][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[0][0].getText().equals("X") && bottoni[1][0].getText().equals("X") && bottoni[2][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][0].getText().equals("O") && bottoni[1][0].getText().equals("O") && bottoni[2][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("2"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[0][1].setText("X");
- bottoni[0][1].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[0][1].setText("O");
- bottoni[0][1].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[0][1].getText().equals("X") && bottoni[0][0].getText().equals("X") && bottoni[0][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][1].getText().equals("O") && bottoni[0][0].getText().equals("O") && bottoni[0][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[0][1].getText().equals("X") && bottoni[1][1].getText().equals("X") && bottoni[2][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][1].getText().equals("O") && bottoni[1][1].getText().equals("O") && bottoni[2][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("3"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[0][2].setText("X");
- bottoni[0][2].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[0][2].setText("O");
- bottoni[0][2].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[0][2].getText().equals("X") && bottoni[0][0].getText().equals("X") && bottoni[0][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][2].getText().equals("O") && bottoni[0][0].getText().equals("O") && bottoni[0][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE
- if(bottoni[0][2].getText().equals("X") && bottoni[1][1].getText().equals("X") && bottoni[2][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][2].getText().equals("O") && bottoni[1][1].getText().equals("O") && bottoni[2][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[0][2].getText().equals("X") && bottoni[1][2].getText().equals("X") && bottoni[2][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[0][2].getText().equals("O") && bottoni[1][2].getText().equals("O") && bottoni[2][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("4"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[1][0].setText("X");
- bottoni[1][0].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[1][0].setText("O");
- bottoni[1][0].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[1][0].getText().equals("X") && bottoni[1][1].getText().equals("X") && bottoni[1][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][0].getText().equals("O") && bottoni[1][1].getText().equals("O") && bottoni[1][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[1][0].getText().equals("X") && bottoni[0][0].getText().equals("X") && bottoni[2][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][0].getText().equals("O") && bottoni[0][0].getText().equals("O") && bottoni[2][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("5"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[1][1].setText("X");
- bottoni[1][1].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[1][1].setText("O");
- bottoni[1][1].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[1][1].getText().equals("X") && bottoni[1][0].getText().equals("X") && bottoni[1][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][1].getText().equals("O") && bottoni[1][0].getText().equals("O") && bottoni[1][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE 1
- if(bottoni[1][1].getText().equals("X") && bottoni[0][0].getText().equals("X") && bottoni[2][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][1].getText().equals("O") && bottoni[0][0].getText().equals("O") && bottoni[2][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE 2
- if(bottoni[1][1].getText().equals("X") && bottoni[0][2].getText().equals("X") && bottoni[2][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][1].getText().equals("O") && bottoni[0][2].getText().equals("O") && bottoni[2][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[1][1].getText().equals("X") && bottoni[2][1].getText().equals("X") && bottoni[0][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][1].getText().equals("O") && bottoni[2][1].getText().equals("O") && bottoni[0][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("6"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[1][2].setText("X");
- bottoni[1][2].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[1][2].setText("O");
- bottoni[1][2].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[1][2].getText().equals("X") && bottoni[1][0].getText().equals("X") && bottoni[1][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][2].getText().equals("O") && bottoni[1][0].getText().equals("O") && bottoni[1][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[1][2].getText().equals("X") && bottoni[2][2].getText().equals("X") && bottoni[0][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][2].getText().equals("O") && bottoni[2][2].getText().equals("O") && bottoni[0][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("7"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[2][0].setText("X");
- bottoni[2][0].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[2][0].setText("O");
- bottoni[2][0].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[2][0].getText().equals("X") && bottoni[2][1].getText().equals("X") && bottoni[2][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][0].getText().equals("O") && bottoni[2][1].getText().equals("O") && bottoni[2][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE
- if(bottoni[2][0].getText().equals("X") && bottoni[0][2].getText().equals("X") && bottoni[1][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][0].getText().equals("O") && bottoni[0][2].getText().equals("O") && bottoni[1][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[2][0].getText().equals("X") && bottoni[0][0].getText().equals("X") && bottoni[1][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[1][1].getText().equals("O") && bottoni[0][0].getText().equals("O") && bottoni[1][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("8"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[2][1].setText("X");
- bottoni[2][1].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[2][1].setText("O");
- bottoni[2][1].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[2][1].getText().equals("X") && bottoni[2][0].getText().equals("X") && bottoni[2][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][1].getText().equals("O") && bottoni[2][0].getText().equals("O") && bottoni[2][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[2][1].getText().equals("X") && bottoni[0][1].getText().equals("X") && bottoni[1][1].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][1].getText().equals("O") && bottoni[0][1].getText().equals("O") && bottoni[1][1].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("9"))
- {
- boolean exe = false;
- if(Giocatore.equals("G1") && exe == false)
- {
- bottoni[2][2].setText("X");
- bottoni[2][2].setForeground(Color.green);
- Giocatore = "G2";
- exe = true;
- }
- if(Giocatore.equals("G2") && exe == false)
- {
- bottoni[2][2].setText("O");
- bottoni[2][2].setForeground(Color.red);
- Giocatore = "G1";
- exe = true;
- }
- //Controlla se ha vinto qualcuno
- //VINCE PER RIGA
- if(bottoni[2][2].getText().equals("X") && bottoni[2][1].getText().equals("X") && bottoni[2][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][2].getText().equals("O") && bottoni[2][1].getText().equals("O") && bottoni[2][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER DIAGONALE
- if(bottoni[2][2].getText().equals("X") && bottoni[1][1].getText().equals("X") && bottoni[0][0].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][2].getText().equals("O") && bottoni[1][1].getText().equals("O") && bottoni[0][0].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- //VINCE PER COLONNA
- if(bottoni[2][2].getText().equals("X") && bottoni[0][2].getText().equals("X") && bottoni[1][2].getText().equals("X"))
- {
- VittoriaG1.setVisible(true);
- postVittoria();
- }
- if(bottoni[2][2].getText().equals("O") && bottoni[0][2].getText().equals("O") && bottoni[1][2].getText().equals("O"))
- {
- VittoriaG2.setVisible(true);
- postVittoria();
- }
- }
- if(PULSANTE.equals("Reset"))
- {
- reset();
- }
- }
- /**
- * Genera i bottoni del tris. Viene usata una variabile t per impostare il testo dei bottoni, che va da 0 a 9.
- */
- public void generaBottoni()
- {
- /* Viene usata una variabile intera t per impostare il testo dei bottoni, che puo essere da 0 a 9.
- * Funge anche da ID per l'ActionPerformed. Vedi commento #### GRIGLIA #### per maggiori informazioni.
- */
- int t = 0;
- for(int i = 0; i < 3; i++)
- {
- for(int j = 0; j < 3; j++)
- {
- if(j == 0 && i == 0)
- {
- t = 1;
- bottoni[i][j] = new JButton(String.valueOf(1));
- }
- if(j == 0 && i == 1)
- {
- t = 3+(j+1);
- bottoni[i][j] = new JButton(String.valueOf(t));
- }
- if(j == 0 && i == 2)
- {
- t = 6 + (j+1);
- bottoni[i][j] = new JButton(String.valueOf(t));
- }
- bottoni[i][j] = new JButton(String.valueOf(t));
- t++;
- //Viene creato direttamente l'ActionListener
- bottoni[i][j].addActionListener(this);
- bottoni[i][j].setPreferredSize(new Dimension(50, 50));
- bottoni[i][j].setBackground(Color.orange);
- }
- }
- reset.addActionListener(this);
- }
- /**
- * Genera la parte della finestra contenente i bottoni del tris e il tasto di Reset.
- */
- public void generaPannelloBottoni()
- {
- for(int i = 0; i < 3; i++)
- {
- for(int j = 0; j < 3; j++)
- {
- griglia.add(bottoni[i][j]);
- }
- }
- griglia.setLayout(new GridLayout(3,3));
- tuttiBottoni.add(griglia, BorderLayout.LINE_START);
- reset.setPreferredSize(new Dimension(90, 40));
- reset.setBackground(Color.yellow);
- tuttiBottoni.add(reset, BorderLayout.LINE_END);
- }
- /**
- * Genera la finestra principale del Tris.
- */
- public void generaFinestra()
- {
- titolo.setForeground(Color.red);
- titolo.setFont(new Font("Ubuntu", Font.BOLD, 28));
- this.getContentPane().add(titolo, BorderLayout.NORTH);
- this.getContentPane().add(tuttiBottoni, BorderLayout.CENTER);
- this.pack();
- this.setResizable(false);
- this.setVisible(true);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- /**
- * Reimposta il testo ed il colore di default dei bottoni, annullando la partita in corso.
- */
- public void reset()
- {
- int t = 0;
- for(int i = 0; i < 3; i++)
- {
- for(int j = 0; j < 3; j++)
- {
- bottoni[i][j].setEnabled(true);
- if(j == 0 && i == 0)
- {
- t = 1;
- bottoni[i][j].setText(String.valueOf(1));
- }
- if(j == 0 && i == 1)
- {
- t = 3+(j+1);
- bottoni[i][j].setText(String.valueOf(t));
- }
- if(j == 0 && i == 2)
- {
- t = 6 + (j+1);
- bottoni[i][j].setText(String.valueOf(t));
- }
- bottoni[i][j].setText(String.valueOf(t));
- bottoni[i][j].setForeground(Color.black);
- t++;
- }
- }
- Giocatore = "G1";
- }
- /**
- * Disattiva i tasti in modo che non possano essere cliccati dopo una condizione di vittoria.
- */
- public void postVittoria()
- {
- for(int i = 0; i < 3; i++)
- {
- for(int j = 0; j < 3; j++)
- {
- bottoni[i][j].setEnabled(false);
- }
- }
- }
- }
- //Vittoria.Java
- package gioco;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.*;
- import javax.swing.*;
- /**
- *
- * @author Christian V.
- * @version 1.0 del 17/02/2018
- *
- */
- public class Vittoria extends JFrame implements ActionListener
- {
- /**
- * Pannello principale della finestra.
- */
- private JPanel pannello = new JPanel();
- /**
- * Bottone OK. Serve per chiudere la finestra.
- */
- private JButton OK = new JButton("OK");
- /**
- * Label che indica chi ha vinto.
- */
- private JLabel avviso;
- /**
- * Costruttore. Genrea la finestra.
- * @param Giocatore Indica chi ha vinto.
- */
- public Vittoria(String Giocatore)
- {
- super("ABBIAMO UN VINCITORE!");
- //In base al giocatore cambia il testo
- if(Giocatore.equals("G1"))
- {
- avviso = new JLabel ("CONGRATULAZIONI GIOCATORE 1, HAI VINTO!!!", SwingConstants.CENTER);
- }
- if(Giocatore.equals("G2"))
- {
- avviso = new JLabel ("CONGRATULAZIONI GIOCATORE 2, HAI VINTO!!!", SwingConstants.CENTER);
- }
- avviso.setForeground(Color.red);
- avviso.setFont(new Font("Ubuntu", Font.ITALIC, 16));
- pannello.add(avviso, BorderLayout.NORTH);
- pannello.add(OK);
- OK.addActionListener(this);
- pannello.setLayout(new GridLayout(2,1));
- this.getContentPane().add(pannello);
- this.setSize(400, 100);
- this.setResizable(false);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- /**
- * Controlla se e' stato premuto il tasto "OK" ed in caso chiude la finestra.
- */
- public void actionPerformed(ActionEvent E)
- {
- String PULSANTE = E.getActionCommand();
- if(PULSANTE.equals("OK"))
- {
- Vittoria.super.dispose();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement