1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class oxo implements ActionListener,MouseListener
{
private JFrame f;
private JButton [][] tableau;
private String valeur;
private int score1, score2;
private int joueur;
private JLabel j8, j6;
public void mouseClicked(MouseEvent e)
{
//temp est le bouton cliqué
JButton temp = (JButton) e.getSource();
//il se trouve en position x,y (attention! x,y : 0 ->9)
int x,y;x=-1;y=-1;
boolean rester = true;
for (int i=0;rester && i<10;i++)
{
for (int j=0;rester && j<10;j++)
{
if (tableau[i][j] == temp){x=i;y=j;rester = false;}
}
}
//Le bouton cliqué devient inutilisable et prend une valeur
if (temp.getText().equals(""))
{
if (e.getButton()==1)
{temp.setText("O");}
else {temp.setText("X");}
temp.setEnabled(false);
joueur=joueur+1;
if (joueur/(joueur/2)==2)
{
j6.setForeground(Color.red);
j8.setForeground(Color.blue);
}
else
{
j6.setForeground(Color.blue);
j8.setForeground(Color.red);
}
}
//ce choix amène-t-il à OXO ? Calculs ...
if (temp.getText().equals("X"))
{
if(tableau[x-1][y-1].getText().equals("O") && tableau[x+1][y+1].getText().equals("O"))
{
System.out.println("oxo fait en diagonale!");
}
if(tableau[x][y-1].getText().equals("O") && tableau[x][y+1].getText().equals("O"))
{
System.out.println("oxo fait en horizontal!");
}
if (tableau[x+1][y-1].getText().equals("O") && tableau[x-1][y+1].getText().equals("O"))
{
System.out.println("oxo fait en diagonale!");
}
if (tableau[x-1][y].getText().equals("O") && tableau[x+1][y].getText().equals("O"))
{
System.out.println("oxo fait en verticale!");
}
}
else
{
if(tableau[x-1][y].getText().equals("X") && tableau[x-2][y].getText().equals("O"))
{
System.out.println("oxo fait en verticale!");
}
if(tableau[x+1][y].getText().equals("X") && tableau[x+2][y].getText().equals("O"))//x+1,y=X && x+2,y=O
{
System.out.println("oxo fait en verticale!");
}
if(tableau[x][y+1].getText().equals("X") && tableau[x][y+1].getText().equals("O"))//x,y+1=X && x,y+2=O
{
System.out.println("oxo fait en horizontale!");
}
if(tableau[x][y-1].getText().equals("X") && tableau[x][y-2].getText().equals("O"))//x,y-1=X && x,y-2=O
{
System.out.println("oxo fait en horizontale!");
}
if(tableau[x-1][y+1].getText().equals("X") && tableau[x-2][y+2].getText().equals("O"))//x-1,y+1=X && x-2,y+2=O
{
System.out.println("oxo fait en Diagonale!");
}
if(tableau[x+1][y-1].getText().equals("X") && tableau[x+2][y-2].getText().equals("O"))//x+1,y-1=X && x+2,y-2=O
{
System.out.println("oxo fait en Diagonale!");
}
if(tableau[x-1][y-1].getText().equals("X") && tableau[x-2][y-2].getText().equals("O"))//x-1,y-1=X && x-2,y-2=O
{
System.out.println("oxo fait en Diagonale!");
}
if(tableau[x+1][y+1].getText().equals("X") && tableau[x+2][y+2].getText().equals("O"))//X+1,y+1=X && x+2,y+2=O
{
System.out.println("oxo fait en Diagonale!");
}
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void actionPerformed(ActionEvent e)
{}
public oxo()
{
joueur=1;
score1=0;
score2=0;
f = new JFrame("oxo");
Container panneau = f.getContentPane() ;
JPanel fond = new JPanel();
fond.setLayout (new BorderLayout());
JPanel centre = new JPanel();
fond.add(centre,BorderLayout.CENTER);
centre.setLayout(new GridLayout(10,10,5,15));
centre.setBackground(Color.BLACK);
f.setContentPane(fond);//p est le contenu de la fenêtre
MonProcesseurEvénements mp = new MonProcesseurEvénements();
f.addWindowListener(mp);
tableau = new JButton[10][10];
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
tableau[i][j] = new JButton("");
tableau[i][j].addActionListener(this);
tableau[i][j].addMouseListener(this);
}
}
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
centre.add(tableau[i][j]);
}
}
JPanel ouest = new JPanel();
ouest.setLayout(new GridLayout(20,1));
JLabel v1 = new JLabel("");
ouest.add (v1);
JLabel v2 = new JLabel("");
ouest.add (v2);
JButton b3 = new JButton("Nouvelle partie");
ouest.add(b3);
JLabel v4 = new JLabel("");
ouest.add (v4);
JLabel v5 = new JLabel("");
ouest.add (v5);
JLabel j6 = new JLabel("joueur 1 :");
j6.setForeground(Color.blue);
ouest.add (j6);
JLabel sc7 = new JLabel("score1");
ouest.add (sc7);
JLabel j8 = new JLabel("joueur 2 :");
j8.setForeground(Color.red);
ouest.add (j8);
JLabel sc9 = new JLabel("score2");
ouest.add (sc9);
fond.add(ouest,BorderLayout.WEST);
JPanel nord = new JPanel();
nord.setLayout(new GridLayout(3,1));
JLabel v10 = new JLabel("");
nord.add (v10);
JLabel v11 = new JLabel("Bienvenu dans oXo réaliser par Fannie et Clément");
nord.add (v11);
JLabel v12 = new JLabel("");
nord.add (v12);
fond.add(nord,BorderLayout.NORTH);
JPanel sud = new JPanel();
sud.setLayout(new GridLayout(3,1));
JLabel v13 = new JLabel("");
sud.add (v13);
JLabel v14 = new JLabel(" ");
sud.add (v14);
JLabel v15 = new JLabel("");
sud.add (v15);
fond.add(sud,BorderLayout.SOUTH);
JPanel est = new JPanel();
est.setLayout(new GridLayout(3,1));
JLabel v16 = new JLabel("");
est.add (v16);
JLabel v17= new JLabel(" ");
est.add (v17);
JLabel v18 = new JLabel("");
est.add (v18);
fond.add(est,BorderLayout.EAST);
f.pack();
f.setVisible(true);
}
}
class MonProcesseurEvénements extends WindowAdapter
{
public void windowClosing(WindowEvent événement)
{
System.exit(0);
}
} |