<div style='background-color: none transparent;'></div>
Home » » Tic Tac Toe Game in java

Tic Tac Toe Game in java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.undo.CompoundEdit.*;

class TicTacToe
{
public static void main(String s[])
{
UserInterface uf=new UserInterface();
uf.setSize(400,300);
uf.setLocation(120,90);
uf.setResizable(false);
uf.setVisible(true);
}
}


class UserInterface extends JFrame implements ActionListener
{
JMenuBar jmb;
JMenu jm1,jm3;
JMenuItem jmi1,jmi2,jmi4;

UserInterface()
{
this.setTitle("TicTacToe");
jmb=new JMenuBar();

jm1=new JMenu("File");
jmi1=new JMenuItem("New");
jmi2=new JMenuItem("Exit");

jm1.add(jmi1);
jm1.addSeparator();
jm1.add(jmi2);

jmi1.addActionListener(this);
jmi2.addActionListener(this);


jm3=new JMenu("Player");
jmi4=new JMenuItem("Choose Player");

jm3.add(jmi4);

jmi4.addActionListener(this);

jmb.add(jm1);
jmb.add(jm3);

setJMenuBar(jmb);

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
}




public void actionPerformed(ActionEvent e)
{

JMenuItem jmi=(JMenuItem)e.getSource();

if(jmi==jmi1)
{
UserInterface uf=new UserInterface();
uf.setSize(400,300);
uf.setLocation(120,90);
uf.setResizable(false);
uf.setVisible(true);
}

if(jmi==jmi2)
{
System.exit(0);
}


if(jmi==jmi4)
{
boolean flag=true;
String Pname=JOptionPane.showInputDialog("Enter Your Name..... ");
String Po=JOptionPane.showInputDialog("If u want to play as Leading player type ~1~ else type ~2~");
Pname=Pname.trim();
int p=Integer.parseInt(Po.trim());

this.setVisible(false);
Board b=new Board(Pname,p);
b.setSize(400,300);
b.setLocation(120,90);
b.setResizable(false);
b.setLayout(null);
b.setVisible(true);
}
}
}


class Board extends JFrame implements ActionListener
{
JMenuBar jmb;
JMenu jm1,jm2;
JMenuItem jmi1,jmi2,jmi3;
JButton jb[][]=new JButton[3][3];
int arr[][]=new int[3][3];
String Pname;
int Po,turn=1;
Board(String Pname,int Po)
{
this.Pname=Pname;
this.Po=Po;
//System.out.print(Pname);
//System.out.print(Po);

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
arr[i][j]=2;

this.setTitle("TicTacToe");
jmb=new JMenuBar();

jm1=new JMenu("File");
jmi1=new JMenuItem("New");
jmi2=new JMenuItem("Exit");

jm1.add(jmi1);
jm1.addSeparator();
jm1.add(jmi2);

jmi1.addActionListener(this);
jmi2.addActionListener(this);

jm2=new JMenu("Edit");
jmi3=new JMenuItem("Undo");

jm2.add(jmi3);

jmi3.addActionListener(this);

jmb.add(jm1);
jmb.add(jm2);


setJMenuBar(jmb);

if(this.Po==1)
{
//System.out.println(Pname);
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
jb[i][j]=new JButton("");

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
jb[i][j].setBounds(0+i*130,0+j*80,130,80);
add(jb[i][j]);
jb[i][j].addActionListener(this);
}

}

if(this.Po==2)
{
//System.out.println(Pname);
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
jb[i][j]=new JButton("");

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
jb[i][j].setBounds(0+i*130,0+j*80,130,80);
add(jb[i][j]);
jb[i][j].addActionListener(this);
}
OnClickT();

}



addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});

}

public void actionPerformed(ActionEvent e)
{

JComponent jc=(JComponent)e.getSource();


for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(jc==jb[i][j])
{
if(Po==1)
{

jb[i][j].setText("X");
arr[i][j]=3;
if(turn<9)
{
int k=0,l=0;
turn++;


if(arr[0][0]*arr[2][2]*arr[1][1]==27)
{
/*Final f=new Final(this);
f.setSize(400,300);
f.setLocation(120,90);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);*/

this.setVisible(false);
new win(~P~,Pname);
}
else
{
if(arr[2][0]*arr[1][1]*arr[0][2]==27)
{
/*Final f=new Final(this);
f.setSize(400,300);
f.setLocation(120,90);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);*/

this.setVisible(false);
new win(~P~,Pname);
}
else
{
while(l==0)
{
for(k=0;k<3;k++)
{

if(arr[k][0]*arr[k][1]*arr[k][2]==27)
{
l++;
/*Final f=new Final(this);
f.setSize(400,300);
f.setLocation(120,90);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);*/

this.setVisible(false);
new win(~P~,Pname);
}
else
{
if(arr[0][k]*arr[1][k]*arr[2][k]==27)
{
l++;
/*Final f=new Final(this);
f.setSize(400,300);
f.setLocation(120,90);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);*/

this.setVisible(false);
new win(~P~,Pname);
}


}
System.out.println("k=="+k);
}
l++;
}
if(l!=2)
{
System.out.println("");
System.out.println("l!=2");
OnClickL();
}
}
}




//OnClickL();
}
else
{
this.setVisible(false);
new win(~D~,"Dwawn");
}
}
if(Po==2)
{
jb[i][j].setText("O");
arr[i][j]=5;
turn++;
int k=0,l=0;


if(arr[0][0]*arr[2][2]*arr[1][1]==125)
{
this.setVisible(false);
new win(~P~,Pname);
}
else
{
if(arr[2][0]*arr[1][1]*arr[0][2]==125)
{
this.setVisible(false);
new win(~P~,Pname);
}
else
{
while(l==0)
{
for(k=0;k<3;k++)
{
if(arr[k][0]*arr[k][1]*arr[k][2]==125)
{
l++;
this.setVisible(false);
new win(~P~,Pname);
}
else
{
if(arr[0][k]*arr[1][k]*arr[2][k]==125)
{
l++;
this.setVisible(false);
new win(~P~,Pname);
}
}
System.out.println("k=="+k);
}
l++;
}
if(l!=2)
{
System.out.println("");
System.out.println("l!=2");
OnClickT();
}
}
}
}
}
}

if(jc==(JComponent)jmi1)
{
UserInterface uf=new UserInterface();
uf.setSize(400,300);
uf.setLocation(120,90);
uf.setResizable(false);
uf.setVisible(true);
}

if(jc==(JComponent)jmi2)
{
System.exit(0);
}

if(jc==(JComponent)jmi3)
{

}
}

void OnClickT()
{
if(turn==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(turn==3)
{
if(arr[2][2]!=2)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
else
{
arr[2][2]=3;
jb[2][2].setText("X");
}
}

if(turn==5)
{
int n=posswin(~X~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(n==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}

if(n==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(n==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}

if(n==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(n==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(n==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(n==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
this.setVisible(false);
new win(~C~,Pname);
}
else
{
int m=posswin(~O~);
if(m!=0)
{
if(m==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(m==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}

if(m==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(m==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}

if(m==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(m==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(m==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(m==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
}
else
{
if(arr[0][2]==2)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
else
{
arr[2][0]=3;
jb[2][0].setText("X");
}
}
}
}

if(turn==7)
{
int n=posswin(~X~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(n==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}

if(n==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(n==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}

if(n==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(n==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(n==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(n==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
this.setVisible(false);
new win(~C~,Pname);
}
else
{
int m=posswin(~O~);
if(m!=0)
{
if(m==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(m==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}

if(m==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(m==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}

if(m==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(m==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(m==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(m==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
}
else
{
int cou=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(cou<1 && arr[i][j]==2)
{
arr[i][j]=3;
jb[i][j].setText("X");
}
}
}
}

}

if(turn==9)
{
int n=posswin(~X~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}

if(n==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}

if(n==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(n==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}
if(n==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(n==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(n==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(n==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
this.setVisible(false);
new win(~C~,Pname);
}
else
{
int m=posswin(~O~);
if(m!=0)
{
if(m==1)
{
arr[0][0]=3;
jb[0][0].setText("X");
}
if(m==2)
{
arr[1][0]=3;
jb[1][0].setText("X");
}
if(m==3)
{
arr[2][0]=3;
jb[2][0].setText("X");
}
if(m==4)
{
arr[0][1]=3;
jb[0][1].setText("X");
}
if(m==6)
{
arr[2][1]=3;
jb[2][1].setText("X");
}
if(m==7)
{
arr[0][2]=3;
jb[0][2].setText("X");
}
if(m==8)
{
arr[1][2]=3;
jb[1][2].setText("X");
}
if(m==9)
{
arr[2][2]=3;
jb[2][2].setText("X");
}
}
else
{
int cou=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(cou<1 && arr[i][j]==2)
{
arr[i][j]=3;
jb[i][j].setText("X");
}
}
}
this.setVisible(false);
new win(~D~,"Drawn");
}
}
}
turn++;
}

void OnClickL()
{
if(turn==2)
{
if(arr[1][1]!=2)
{
arr[0][0]=5;
jb[0][0].setText("O");
}
else
{
arr[1][1]=5;
jb[1][1].setText("O");
}
}

if(turn==4)
{
int n=posswin(~X~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=5;
jb[0][0].setText("O");
}

if(n==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}

if(n==3)
{
arr[2][0]=5;
jb[2][0].setText("O");
}
if(n==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(n==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(n==7)
{
arr[0][2]=5;
jb[0][2].setText("O");
}
if(n==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(n==9)
{
arr[2][2]=5;
jb[2][2].setText("O");
}
}
else
{
System.out.println("test");
int m=make2();
System.out.println(m);
if(m==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}
if(m==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(m==5)
{
arr[1][1]=5;
jb[1][1].setText("O");
}

if(m==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(m==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(m==99)
{
int cou=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(arr[i][j]==2 && cou<1)
{
arr[i][j]=5;
jb[i][j].setText("O");
cou++;
}

}
}


}
}

if(turn==6)
{
int n=posswin(~O~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=5;
jb[0][0].setText("O");
}

if(n==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}

if(n==3)
{
arr[2][0]=5;
jb[2][0].setText("O");
}
if(n==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(n==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(n==7)
{
arr[0][2]=5;
jb[0][2].setText("O");
}
if(n==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(n==9)
{
arr[2][2]=5;
jb[2][2].setText("O");
}
this.setVisible(false);
new win(~C~,Pname);

}
else
{
int n1=posswin(~X~);
if(n1!=0)
{
if(n1==1)
{
arr[0][0]=5;
jb[0][0].setText("O");
}

if(n1==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}

if(n1==3)
{
arr[2][0]=5;
jb[2][0].setText("O");
}
if(n1==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(n1==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(n1==7)
{
arr[0][2]=5;
jb[0][2].setText("O");
}
if(n1==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(n1==9)
{
arr[2][2]=5;
jb[2][2].setText("O");
}
}
else
{
int m=make2();
if(m==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}
if(m==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(m==5)
{
arr[1][1]=5;
jb[1][1].setText("O");
}

if(m==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(m==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(m==0)
{
int count=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(count==0)
{
if(arr[i][j]==2)
{
arr[i][j]=5;
jb[i][j].setText("O");
count++;
}
}
}
}
}
}
}
}

if(turn==8)
{
int n=posswin(~O~);
if(n!=0)
{
if(n==1)
{
arr[0][0]=5;
jb[0][0].setText("O");
}

if(n==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}

if(n==3)
{
arr[2][0]=5;
jb[2][0].setText("O");
}
if(n==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(n==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(n==7)
{
arr[0][2]=5;
jb[0][2].setText("O");
}
if(n==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(n==9)
{
arr[2][2]=5;
jb[2][2].setText("O");
}

this.setVisible(false);
new win(~C~,Pname);

}
else
{
int n1=posswin(~X~);
if(n1!=0)
{
if(n1==1)
{
arr[0][0]=5;
jb[0][0].setText("O");
}

if(n1==2)
{
arr[1][0]=5;
jb[1][0].setText("O");
}

if(n1==3)
{
arr[2][0]=5;
jb[2][0].setText("O");
}
if(n1==4)
{
arr[0][1]=5;
jb[0][1].setText("O");
}

if(n1==6)
{
arr[2][1]=5;
jb[2][1].setText("O");
}
if(n1==7)
{
arr[0][2]=5;
jb[0][2].setText("O");
}
if(n1==8)
{
arr[1][2]=5;
jb[1][2].setText("O");
}
if(n1==9)
{
arr[2][2]=5;
jb[2][2].setText("O");
}
}
else
{
int cou=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{

if(arr[i][j]==2)
{
if(cou<1)
{
arr[i][j]=5;
jb[i][j].setText("O");
cou++;
}

}
}
//new win(~D~,"Drawn");
}
}
}
turn++;
}





int posswin(char c)
{


if(c==~X~)
{
if(arr[0][0]*arr[1][1]*arr[2][2]==18)
{

if(arr[0][0]==2)
{
System.out.println(1);
return 1;
}
else
{
if(arr[1][1]==2)
{
System.out.println(5);

return 5;
}

else
{
System.out.println(9);

return 9;
}
}
}

else
{

if(arr[2][0]*arr[1][1]*arr[0][2]==18)
{

if(arr[2][0]==2)
{
System.out.println(3);

return 3;
}
else
{
if(arr[1][1]==2)
{
System.out.println(5);

return 5;
}
else
{
System.out.println(7);

return 7;
}
}
}
else
{
for(int i=0;i<3;i++)
{
if(arr[i][0]*arr[i][1]*arr[i][2]==18)
{
for(int j=0;j<3;j++)
{
if(arr[i][j]==2)
{
if(i==0)
{
if(j==0)
{
System.out.println(1);

return 1;
}
if(j==1)
{
System.out.println(4);

return 4;
}
if(j==2)
{
System.out.println(7);

return 7;
}

}
if(i==1)
{
if(j==0)
{
System.out.println(2);

return 2;
}
if(j==1)
{
System.out.println(5);

return 5;
}
if(j==2)
{
System.out.println(8);

return 8;
}

}
if(i==2)
{
if(j==0)
{
System.out.println(3);

return 3;
}
if(j==1)
{
System.out.println(6);

return 6;
}
if(j==2)
{
System.out.println(9);

return 9;
}

}
}
}
}
else
{
if(arr[0][i]*arr[1][i]*arr[2][i]==18)
{
for(int j=0;j<3;j++)
{
if(arr[j][i]==2)
{
if(i==0)
{
if(j==0)
{
System.out.println(1);

return 1;
}
if(j==1)
{
System.out.println(2);

return 2;
}
if(j==2)
{
System.out.println(3);

return 3;
}
}
if(i==1)
{
if(j==0)
{
System.out.println(4);

return 4;
}
if(j==1)
{
System.out.println(5);

return 5;
}
if(j==2)
{
System.out.println(6);

return 6;
}
} if(i==2)
if(i==2)
{
System.out.println("i==2");
if(j==0)
{
System.out.println(7);

return 7;
}
if(j==1)
{
System.out.println(8);

return 8;
}
if(j==2)
{
System.out.println("j==2");
System.out.println(9);

return 9;
}
}
}
}
}
/*else
{
System.out.println("1st"+0);

return 0;
}*/
}
}
}
System.out.println("2nd"+0);

return 0;
}
}
else
{
if(c==~O~)
{
if(arr[0][0]*arr[1][1]*arr[2][2]==50)
{
if(arr[0][0]==2)
{
System.out.println(1);

return 1;
}
else
{
if(arr[1][1]==2)
{
System.out.println(5);

return 5;
}
else
{
System.out.println(9);

return 9;
}
}
}
else
{
if(arr[2][0]*arr[1][1]*arr[0][2]==50)
{
if(arr[2][0]==2)
{
System.out.println(3);

return 3;
}
else
{
if(arr[1][1]==2)
{
System.out.println(5);

return 5;
}
else
{
System.out.println(7);

return 7;
}
}
}
else
{
for(int i=0;i<3;i++)
{
System.out.println("inside for");

if(arr[i][0]*arr[i][1]*arr[i][2]==50)
{
System.out.println("right");

for(int j=0;j<3;j++)
{
if(arr[i][j]==2)
{
System.out.println("akhane");

if(i==0)
{
if(j==0)
{
System.out.println(1);

return 1;
}
if(j==1)
{
System.out.println(4);

return 4;
}
if(j==2)
{
System.out.println(7);

return 7;
}

}
if(i==1)
{
System.out.println("i=1");

if(j==0)
{
System.out.println(2);

return 2;
}
if(j==1)
{
System.out.println(5);

return 5;
}
if(j==2)
{
System.out.println(8);

return 8;
}
}
if(i==2)
{
if(j==0)
{
System.out.println(3);

return 3;
}
if(j==1)
{
System.out.println(6);

return 6;
}
if(j==2)
{
System.out.println(9);

return 9;
}
}
}
}
}
else
{
if(arr[0][i]*arr[1][i]*arr[2][i]==50)
{
for(int j=0;j<3;j++)
{
if(arr[j][i]==2)
{
if(i==0)
{
if(j==0)
{
System.out.println(1);

return 1;
}
if(j==1)
{
System.out.println(2);

return 2;
}
if(j==2)
{
System.out.println(3);

return 3;
}
}
if(i==1)
{
if(j==0)
{
System.out.println(4);

return 4;
}
if(j==1)
{
System.out.println(5);

return 5;
}
if(j==2)
{
System.out.println(6);

return 6;
}
} if(i==2)
if(i==2)
{
if(j==0)
{
System.out.println(7);

return 7;
}
if(j==1)
{
System.out.println(8);

return 8;
}
if(j==2)
{
System.out.println(9);

return 9;
}
}
}
}
}

}
}
System.out.println("4yh"+0);

return 0;
}
}
}
else
{
System.out.println("5th"+0);

return 0;
}

}

}



int make2()
{

if(arr[1][1]==2)
{
return 5;
}
else
{
if(arr[1][0]==2)
{
return 2;
}
else
{
if(arr[0][1]==2)
{
return 4;
}
else
{
if(arr[2][1]==2)
{
return 6;
}
else
{
if(arr[1][2]==2)
{
return 8;
}
else
{
return 0;
}
}
}
}
}
}
}




class win extends JFrame implements ActionListener
{
String s="Match Drawn";
JMenuBar jmb;
JMenu jm1,jm3;
JMenuItem jmi1,jmi2,jmi4;
JLabel jl;

win(char c,String Pname)
{
//System.out.println(Pname);
if(c==~C~)
{
s="~"+Pname+"~"+" "+"Better Luck Next Time";

}
if(c==~P~)
{
s="~"+Pname+"~"+" "+"Have Won The Game";
}
if(c==~D~)
{
s="Match Drawn";
}

this.setTitle("TicTacToe");
jmb=new JMenuBar();

jm1=new JMenu("File");
jmi1=new JMenuItem("New");
jmi2=new JMenuItem("Exit");

jm1.add(jmi1);
jm1.addSeparator();
jm1.add(jmi2);

jmi1.addActionListener(this);
jmi2.addActionListener(this);


jm3=new JMenu("Player");
jmi4=new JMenuItem("Choose Player");

jm3.add(jmi4);

jmi4.addActionListener(this);

jmb.add(jm1);
jmb.add(jm3);

setJMenuBar(jmb);

jl=new JLabel(s);
jl.setBounds(200,230,20,200);
this.add(jl);

this.setSize(400,300);
this.setLocation(120,90);
this.setResizable(false);
this.setVisible(true);

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
}




public void actionPerformed(ActionEvent e)
{

JMenuItem jmi=(JMenuItem)e.getSource();

if(jmi==jmi1)
{
UserInterface uf=new UserInterface();
uf.setSize(400,300);
uf.setLocation(120,90);
uf.setResizable(false);
uf.setVisible(true);
}

if(jmi==jmi2)
{
System.exit(0);
}


if(jmi==jmi4)
{
boolean flag=true;
String Pname=JOptionPane.showInputDialog("Enter Your Name..... ");
String Po=JOptionPane.showInputDialog("If u want to play as Leading player type ~1~ else type ~2~");
Pname=Pname.trim();
int p=Integer.parseInt(Po.trim());

this.setVisible(false);
Board b=new Board(Pname,p);
b.setSize(400,300);
b.setLocation(120,90);
b.setResizable(false);
b.setLayout(null);
b.setVisible(true);
}

}
}


class Final extends JFrame implements ActionListener
{
JButton jb[][]=new JButton[3][3];
Final(Board b)
{
this.setTitle("TicTacToe");
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(b.arr[i][j]==3)
this.jb[i][j]=new JButton("X");
if(b.arr[i][j]==5)
this.jb[i][j]=new JButton("O");
}

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
this.jb[i][j].setBounds(0+i*130,0+j*80,130,80);
this.add(jb[i][j]);
this.jb[i][j].addActionListener(this);
}

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});

}

public void actionPerformed(ActionEvent e)
{

JComponent jc=(JComponent)e.getSource();
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(jc==jb[i][j])
{
this.setVisible(false);
}
}
}
Share this article :
 
Copyright © 2011. B.Sc B.Tech MCA Ploytechnic Mini,Main Projects | Free Main Projcets Download | MCA |B.tech . All Rights Reserved
Company Info | Contact Us | Privacy policy | Term of use | Widget | Advertise with Us | Site map
Template Modify by Creating Website. Inpire by Darkmatter Rockettheme Proudly powered by Blogger