import java.applet.*;
import java.awt.*;
import java.util.Scanner;
//<applet code="tester" height=400 width=400></applet>
/*
I have made a TIC TAC TOE game using Applet.
I have a problem in this when I scan the position of the
element on the console everything vanishes from the screen.
I have tried using a array instead but it doesnt give
real time feeling of the game.My scanning is in form of
integers like 13 for 1st row and 3rd column */
static int count=0;
static int str[][]=new int[3][3];
int l;
static int k;
static int value=-1;
static Scanner sc
=new Scanner
(System.
in); try{
//To draw rectangles on the Applet
g.drawRect(0,0,20,20);
g.drawRect(0,20,20,20);
g.drawRect(0,40,20,20);
g.drawRect(20,0,20,20);
g.drawRect(20,20,20,20);
g.drawRect(20,40,20,20);
g.drawRect(40,0,20,20);
g.drawRect(40,20,20,20);
g.drawRect(40,40,20,20);
for(int i=0;i<=count;i++)
{
// Main problem lies here which is for scanning the input
l=ret();
if(i%2==0)
g.drawString("X",(((2*(l%10)-1)-1)*10)+7,(((2*(l/10)-1)-1)*10)+14);
else
g.drawString("O",(((2*(l%10)-1)-1)*10)+6,(((2*(l/10)-1)-1)*10)+14);
//I have made this formula to print X and O at the centre of the rectangle
if(i==count)
{
if(count%2==0)
store(l,1);
else
store(l,2);
}
value++;
}
value=-1;
if(count>=5)
{
int l=check();
/* if(count==8){
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
System.out.print(str[i][j]);
System.out.println();
}
System.out.println(l);
}*/
if(count==8 && l==0)
g.drawString("Draw",65 ,65);
else
{
if(l==1)
{
if(count%2==0)
g.drawString("Player 1 win",60 ,60);
else
g.drawString("Player 2 win",65 ,65);
}
else{
count++;
repaint();
}
}
}
else
{
count++;
repaint();
}
}
e.printStackTrace();
}
System.
out.
println("array pbm"); }
}
//For scanning the input
public static int ret(){
value++;
int mat[]=new int[9];
if(value==0)
k=scan();
mat[count]=k;
return mat[value];
}
//For scanning the input
public static int scan(){
int w=sc.nextInt();
return w;
}
//For storing value in array
public static void store(int l,int n){
str[(l/10)-1][(l%10)-1]=n;
}
// For checking the conditions of wining
public static int check(){
if(str[0][0]==str[0][1] && str[0][1]==str[0][2] && str[0][0]!=0)
return 1;
else if(str[1][0]==str[1][1] && str[1][1]==str[1][2] && str[1][0]!=0)
return 1;
else if(str[2][0]==str[2][1] && str[2][1]==str[2][2] && str[2][0]!=0)
return 1;
else if(str[0][0]==str[1][0] && str[1][0]==str[2][0] && str[1][0]!=0)
return 1;
else if(str[0][1]==str[1][1] && str[1][1]==str[2][1] && str[0][1]!=0)
return 1;
else if(str[0][2]==str[1][2] && str[1][2]==str[2][2] && str[0][2]!=0)
return 1;
else if(str[0][0]==str[1][1] && str[1][1]==str[2][2] && str[0][0]!=0)
return 1;
else if(str[2][0]==str[1][1] && str[1][1]==str[0][2] && str[2][0]!=0)
return 1;
else
return 0;
}
}
aW1wb3J0IGphdmEuYXBwbGV0Lio7CmltcG9ydCBqYXZhLmF3dC4qOwppbXBvcnQgamF2YS51dGlsLlNjYW5uZXI7CgovLzxhcHBsZXQgY29kZT0idGVzdGVyIiBoZWlnaHQ9NDAwIHdpZHRoPTQwMD48L2FwcGxldD4KCi8qCglJIGhhdmUgbWFkZSBhIFRJQyBUQUMgVE9FIGdhbWUgdXNpbmcgQXBwbGV0LgoJSSBoYXZlIGEgcHJvYmxlbSBpbiB0aGlzIHdoZW4gSSBzY2FuIHRoZSBwb3NpdGlvbiBvZiB0aGUgCgllbGVtZW50IG9uIHRoZSBjb25zb2xlIGV2ZXJ5dGhpbmcgdmFuaXNoZXMgZnJvbSB0aGUgc2NyZWVuLgoJSSBoYXZlIHRyaWVkIHVzaW5nIGEgYXJyYXkgaW5zdGVhZCBidXQgaXQgZG9lc250IGdpdmUgCglyZWFsIHRpbWUgZmVlbGluZyBvZiB0aGUgZ2FtZS5NeSBzY2FubmluZyBpcyBpbiBmb3JtIG9mIAoJaW50ZWdlcnMgbGlrZSAxMyBmb3IgMXN0IHJvdyBhbmQgM3JkIGNvbHVtbiAJCSovCgoKY2xhc3MgdGljIGV4dGVuZHMgQXBwbGV0IHsKCXN0YXRpYyBpbnQgY291bnQ9MDsKCXN0YXRpYyBpbnQgc3RyW11bXT1uZXcgaW50WzNdWzNdOwoJaW50IGw7CglzdGF0aWMgaW50IGs7CglzdGF0aWMgaW50IHZhbHVlPS0xOwoJc3RhdGljIFNjYW5uZXIgc2M9bmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCXB1YmxpYyB2b2lkIHBhaW50KEdyYXBoaWNzIGcpewoJCXRyeXsKCQkKCQkJCQovL1RvIGRyYXcgcmVjdGFuZ2xlcyBvbiB0aGUgQXBwbGV0CgoJCWcuZHJhd1JlY3QoMCwwLDIwLDIwKTsKCQlnLmRyYXdSZWN0KDAsMjAsMjAsMjApOwoJCWcuZHJhd1JlY3QoMCw0MCwyMCwyMCk7CgkJZy5kcmF3UmVjdCgyMCwwLDIwLDIwKTsKCQlnLmRyYXdSZWN0KDIwLDIwLDIwLDIwKTsKCQlnLmRyYXdSZWN0KDIwLDQwLDIwLDIwKTsKCQlnLmRyYXdSZWN0KDQwLDAsMjAsMjApOwoJCWcuZHJhd1JlY3QoNDAsMjAsMjAsMjApOwoJCWcuZHJhd1JlY3QoNDAsNDAsMjAsMjApOwoJCWZvcihpbnQgaT0wO2k8PWNvdW50O2krKykJCgkJewkKCQovLyBNYWluIHByb2JsZW0gbGllcyBoZXJlIHdoaWNoIGlzIGZvciBzY2FubmluZyB0aGUgaW5wdXQKCQlsPXJldCgpOwoJCgoJCWlmKGklMj09MCkKCQlnLmRyYXdTdHJpbmcoIlgiLCgoKDIqKGwlMTApLTEpLTEpKjEwKSs3LCgoKDIqKGwvMTApLTEpLTEpKjEwKSsxNCk7CgkJZWxzZQoJCWcuZHJhd1N0cmluZygiTyIsKCgoMioobCUxMCktMSktMSkqMTApKzYsKCgoMioobC8xMCktMSktMSkqMTApKzE0KTsJCgovL0kgaGF2ZSBtYWRlIHRoaXMgZm9ybXVsYSB0byBwcmludCBYIGFuZCBPIGF0IHRoZSBjZW50cmUgb2YgdGhlIHJlY3RhbmdsZQkKCgkJU3lzdGVtLm91dC5wcmludGxuKGwpOwoJCQlpZihpPT1jb3VudCkKCQkJewoJCQkJaWYoY291bnQlMj09MCkKCQkJCXN0b3JlKGwsMSk7CgkJCQllbHNlCgkJCQlzdG9yZShsLDIpOwoJCQl9CgkJCXZhbHVlKys7CgkJfQoJCXZhbHVlPS0xOwoJCVRocmVhZC5zbGVlcCg1MDApOwoJCWlmKGNvdW50Pj01KQoJCXsKCQkJaW50IGw9Y2hlY2soKTsKCS8qCQlpZihjb3VudD09OCl7CgkJCWZvcihpbnQgaT0wO2k8MztpKyspCgkJCXsKCQkJCWZvcihpbnQgaj0wO2o8MztqKyspCgkJCQkJU3lzdGVtLm91dC5wcmludChzdHJbaV1bal0pOwoJCQkJU3lzdGVtLm91dC5wcmludGxuKCk7CgkJCX0KCQkJU3lzdGVtLm91dC5wcmludGxuKGwpOwoJCQl9Ki8KCQkJaWYoY291bnQ9PTggJiYgbD09MCkKCQkJCWcuZHJhd1N0cmluZygiRHJhdyIsNjUgLDY1KTsKCQkJZWxzZQoJCQl7CgkJCQlpZihsPT0xKQoJCQkJewoJCQkJCWlmKGNvdW50JTI9PTApCgkJCQkJCWcuZHJhd1N0cmluZygiUGxheWVyIDEgd2luIiw2MCAsNjApOwoJCQkJCWVsc2UKCQkJCQkJZy5kcmF3U3RyaW5nKCJQbGF5ZXIgMiB3aW4iLDY1ICw2NSk7CgkJCQl9CQoJCQkJZWxzZXsKCQkJCQljb3VudCsrOwoJCQkJCXJlcGFpbnQoKTsKCQkJCX0JCgkJCX0KCQl9CQoJCWVsc2UKCQkJewoJCQljb3VudCsrOwoJCQlyZXBhaW50KCk7CgkJCX0KCQl9CgkJY2F0Y2ggKEludGVycnVwdGVkRXhjZXB0aW9uIGUpIHsKCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKCQl9CgkJY2F0Y2goQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIGUpewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oImFycmF5IHBibSIpOwoJCX0KCQkKCQl9CgoKLy9Gb3Igc2Nhbm5pbmcgdGhlIGlucHV0CgkJcHVibGljIHN0YXRpYyBpbnQgcmV0KCl7CgkJCXZhbHVlKys7CgkJCWludCBtYXRbXT1uZXcgaW50WzldOwoJCQlpZih2YWx1ZT09MCkKCQkJCWs9c2NhbigpOwoJCQltYXRbY291bnRdPWs7CgkJCXJldHVybiBtYXRbdmFsdWVdOwoJCQkKCQkJCgkJfQoKLy9Gb3Igc2Nhbm5pbmcgdGhlIGlucHV0CgkJcHVibGljIHN0YXRpYyBpbnQgc2NhbigpewoJCQlpbnQgdz1zYy5uZXh0SW50KCk7CgkJCXJldHVybiB3OwoJCX0KCi8vRm9yIHN0b3JpbmcgdmFsdWUgaW4gYXJyYXkgCgkJcHVibGljIHN0YXRpYyB2b2lkIHN0b3JlKGludCBsLGludCBuKXsKCQkJc3RyWyhsLzEwKS0xXVsobCUxMCktMV09bjsKCQkJfQoJCQkKLy8gRm9yIGNoZWNraW5nIHRoZSBjb25kaXRpb25zIG9mIHdpbmluZwoJCXB1YmxpYyBzdGF0aWMgaW50IGNoZWNrKCl7CgkJCWlmKHN0clswXVswXT09c3RyWzBdWzFdICYmIHN0clswXVsxXT09c3RyWzBdWzJdICYmIHN0clswXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clsxXVswXT09c3RyWzFdWzFdICYmIHN0clsxXVsxXT09c3RyWzFdWzJdICYmIHN0clsxXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clsyXVswXT09c3RyWzJdWzFdICYmIHN0clsyXVsxXT09c3RyWzJdWzJdICYmIHN0clsyXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clswXVswXT09c3RyWzFdWzBdICYmIHN0clsxXVswXT09c3RyWzJdWzBdICYmIHN0clsxXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clswXVsxXT09c3RyWzFdWzFdICYmIHN0clsxXVsxXT09c3RyWzJdWzFdICYmIHN0clswXVsxXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clswXVsyXT09c3RyWzFdWzJdICYmIHN0clsxXVsyXT09c3RyWzJdWzJdICYmIHN0clswXVsyXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clswXVswXT09c3RyWzFdWzFdICYmIHN0clsxXVsxXT09c3RyWzJdWzJdICYmIHN0clswXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlIGlmKHN0clsyXVswXT09c3RyWzFdWzFdICYmIHN0clsxXVsxXT09c3RyWzBdWzJdICYmIHN0clsyXVswXSE9MCkKCQkJCXJldHVybiAxOwoJCQllbHNlCgkJCQlyZXR1cm4gMDsKCQkJCgkJfQoKfQo=