
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class oyun implements ActionListener
{
JButton[] jbtns;
JLabel jlab;
String oyunsirasi="X";
JButton jbtn_yeni;
oyun(){
JFrame jfrm = new JFrame("Oyun, Hafta-9");
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfrm.setSize(200,270);
jfrm.setLayout(new GridLayout(4,1));
jbtns= new JButton[9];
JPanel jpn= new JPanel();;
for(int sayac=0;sayac<jbtns.length;sayac++)
{
if(sayac%3==0)
{
jpn = new JPanel();
jpn.setLayout(new GridLayout(1,3));
jfrm.add(jpn);
}
JPanel jpn1 = new JPanel();
jbtns[sayac] = new JButton("?");
jbtns[sayac].setActionCommand("oyna");
jbtns[sayac].addActionListener(this);
jpn1.add(jbtns[sayac]);
jpn.add(jpn1);
}
jlab=new JLabel("Oyun sırası: "+oyunsirasi);
jbtn_yeni= new JButton("Yeniden Oyna");
jbtn_yeni.setActionCommand("yeniden");
jbtn_yeni.addActionListener(this);
JPanel jpn2= new JPanel();
jpn2.add(jlab);
jpn2.add(jbtn_yeni);
jbtn_yeni.setVisible(false);
jfrm.add(jpn2);
jfrm.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals("oyna"))
{
JButton jbt=(JButton) ae.getSource();
jbt.setText(oyunsirasi);
jbt.setEnabled(false);
kontrol();
}
else
{
// yeniden oyna
//oyunsirasi="X";
jbtn_yeni.setVisible(false);
for(int i=0;i<jbtns.length;i++)
{ jbtns[i].setText("?");
jbtns[i].setEnabled(true);
}
jlab.setText("Oyun sırası: "+oyunsirasi);
}
}
private void kontrol()
{
String kazanan="";
for(int i=0;i<3;i++)
{
// satir kontrol
if(!jbtns[3*i].getText().equals("?") && jbtns[3*i].getText().equals(jbtns[3*i+1].getText()) && jbtns[3*i].getText().equals(jbtns[3*i+2].getText()))
{
kazanan=jbtns[3*i].getText();
break;
}
if(!jbtns[i].getText().equals("?") && jbtns[i].getText().equals(jbtns[i+3].getText()) && jbtns[i].getText().equals(jbtns[i+6].getText()))
{
kazanan=jbtns[i].getText();
break;
}
if(i==0)
{
// capraz alanlar
if(!jbtns[0].getText().equals("?") && jbtns[0].getText().equals(jbtns[4].getText()) && jbtns[0].getText().equals(jbtns[8].getText()))
{
kazanan=jbtns[0].getText();
break;
}
if(!jbtns[2].getText().equals("?") && jbtns[2].getText().equals(jbtns[4].getText()) && jbtns[2].getText().equals(jbtns[6].getText()))
{
kazanan=jbtns[2].getText();
break;
}
}
}
if(kazanan.equals(""))
{
int durum=0;
for(int i=0;i<jbtns.length;i++)
{
if(jbtns[i].getText().equals("?"))
durum=1;
}
if(durum==0)
{
jlab.setText("Oyun berabere bitti");
jbtn_yeni.setVisible(true);
}
else
{
if(oyunsirasi.equals("X"))
oyunsirasi="O";
else
oyunsirasi="X";
jlab.setText("Oyun sırası: "+oyunsirasi);
}
}
else
{
jlab.setText("Oyunu Kazanan:"+kazanan);
jbtn_yeni.setVisible(true);
for(int i=0;i<jbtns.length;i++)
jbtns[i].setEnabled(false);
}
}
public static void main(String[] asda)
{
new oyun();
}
}