Ciao ragazzi, ho un problema con il mio programma che simula il TRIS (senza IA).
Il problema in se è il JOptionPane.showMessageDialog che non funge quando una condizione viene verificata ed è "vera" ed ho anche provato a mettere this, null e frame ai parametri, ma niente da fare.
Queste condizioni sono contenute nel metodo condizioni() con tutte le combinazioni che si possono creare nel TRIS (orizzontale, verticale, diagonale). Spero tantissimo mi possiate aiutare poiché questo sarà il mio progetto da portare per la maturità.
PS Ho dovuto "accorciare" il codice per questioni di spazio
Il problema in se è il JOptionPane.showMessageDialog che non funge quando una condizione viene verificata ed è "vera" ed ho anche provato a mettere this, null e frame ai parametri, ma niente da fare.
Queste condizioni sono contenute nel metodo condizioni() con tutte le combinazioni che si possono creare nel TRIS (orizzontale, verticale, diagonale). Spero tantissimo mi possiate aiutare poiché questo sarà il mio progetto da portare per la maturità.
PS Ho dovuto "accorciare" il codice per questioni di spazio
Codice:
package Tris;
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import javax.swing.JTextField;
public class Tris_1 {
private JFrame frame;
private String inizio = "X";
private int contX = 0;
private int contO = 0;
private JLabel bottone1;
private JLabel bottone2;
private JLabel bottone3;
private JLabel bottone4;
private JLabel bottone5;
private JLabel bottone6;
private JLabel bottone7;
private JLabel bottone8;
private JLabel bottone9;
private JTextField txtContX;
private JTextField txtContO;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Tris_1 window = new Tris_1();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Tris_1()
{
initialize();
}
private void Condizioni() //le varie combinazioni
{
String b1 = bottone1.getText();
String b2 = bottone2.getText();
String b3 = bottone3.getText();
String b4 = bottone4.getText();
String b5 = bottone5.getText();
String b6 = bottone6.getText();
String b7 = bottone7.getText();
String b8 = bottone8.getText();
String b9 = bottone9.getText();
//COMBINAZIONI X - ORIZZONTALI
if (b1 == ("X") && b2 == ("X") && b3 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
//OUTPUT NON FUNZIONANTE IN TUTTE LE CONDIZIONI
}
if (b4 == ("X") && b5 == ("X") && b6 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
if (b7 == ("X") && b8 == ("X") && b9 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
//COMBINAZIONI X - VERTICALI
if (b1 == ("X") && b4 == ("X") && b7 == ("X"))
{
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE);
contX++;
Punteggio();
}
if (b2 == ("X") && b5 == ("X") && b8 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
if (b3 == ("X") && b6 == ("X") && b9 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
//COMBINAZIONI X - DIAGONALI
if (b1 == ("X") && b5 == ("X") && b9 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
if (b3 == ("X") && b5 == ("X") && b7 == ("X"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contX++;
Punteggio();
}
//COMBINAZIONI O - ORIZZONTALI
if (b1 == ("O") && b2 == ("O") && b3 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
if (b4 == ("O") && b5 == ("O") && b6 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
if (b7 == ("O") && b8 == ("O") && b9 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
//COMBINAZIONI O - VERTICALI
if (b1 == ("O") && b4 == ("O") && b7 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
if (b2 == ("O") && b5 == ("O") && b8 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
if (b3 == ("O") && b6 == ("O") && b9 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
//COMBINAZIONI O - DIAGONALI
if (b1 == ("O") && b5 == ("O") && b9 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog (null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
if (b3 == ("O") && b5 == ("O") && b7 == ("O"))
{
ImageIcon icon = new ImageIcon("C:\\Users\\ruggiero\\workspace\\Tris_Progetto\\Icone\\vittoria.png");
JOptionPane.showMessageDialog(null, "Il giocatore X ha vinto!", "Vittoria!",JOptionPane.INFORMATION_MESSAGE, icon);
contO++;
Punteggio();
}
}
private void Punteggio()
{
txtContX.setText(String.valueOf(contX++));
txtContO.setText(String.valueOf(contO++));
}
private void Scelta()
{
if (inizio.equalsIgnoreCase("X")) //equalsIgnoreCase serve per fare un confronto non case-sensitive (non bada alle minuscole e alle maiuscole)
{
inizio = "O";
}
else
{
inizio= "X";
}
//non ho potute inserire il resto del codice