var ticPRELOADTHESE = new Array("shall1","shall2","shall3","shall4","shall5","shall6","shall7","shall8","shall9","shall10","shall11","shall12","shall13","shall14","shall15","win1","win2","win3","win4","win5","tie1","tie2","tie3","tie4","tie5","lose1","lose2","lose3","lose4","lose5","x","o","x_lite","o_lite","ticNEWGAME_on","ticNEWGAME_off","ticQUIT_on","ticQUIT_off"); var ticIMAGECACHE = new Array(37); for (var ticCOUNTTHIS = 0; ticCOUNTTHIS < 37; ticCOUNTTHIS++) { ticIMAGECACHE[ticCOUNTTHIS] = new Image(); ticIMAGECACHE[ticCOUNTTHIS].src = "http://pic.oocities.com/images/gadgetfactory/tic/" + ticPRELOADTHESE[ticCOUNTTHIS] + ".gif"; } var ticGAMESTATE=0; //no interaction with player var ticNEWSCREEN = new Array(17); var ticSCREENBOARD = new Array(9); var ticBOARD = new Array(9); var ticFORCEDATA = new Array(1,0,1,3,0,0,3,3,1,3,3,1,3,0,0,1,0,1,1,3,3,0,0,3,1,0,1,1,0,1,0,0,3,1,3,3,1,0,1,3,1,3,0,3,0,0,3,1,3,1,0,0,3,1,0,3,0,3,1,3,1,0,1,1,3,0,0,1,3,1,3,0,0,1,1,3,3,1,3,3,0,1,1,0,1,3,3,0,3,3,0,3,3,1,3,3,1,1,0,3,3,0,3,3,1,0,1,1,3,0,3,0,1,1,3,1,3,3,1,3,0,1,1,3,0,3,3,1,3,1,1,0,3,1,3,3,0,3,1,1,0,3,1,3,1,3,3,1,1,3,0,3,0,3,3,0,3,1,3,1,1,0,0,3,0,3,1,1,3,3,1,0,1,1,3,1,3,0,3,3); var ticFLASHER = 10; var ticGOESFIRST = 0; var ticTIMERLOCATION = setTimeout("ticOPENFLASH()", 1000); // opening flasher function ticOPENFLASH() { if ((ticFLASHER / 2) == Math.floor(ticFLASHER / 2)) { ticUPDATESCREEN(1); } else { ticUPDATESCREEN(0); } ticFLASHER-- if (ticFLASHER > 0) { ticTIMERLOCATION = setTimeout("ticOPENFLASH()", 1000); } } // update the screen function ticUPDATESCREEN(ticX) { ticNEWSCREEN = ["pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green","pixel_blue","pixel_green"]; if (ticX==1) ticNEWSCREEN = ["shall1","shall2","shall3","shall4","shall5","pixel_green","shall6","shall7","shall8","shall9","shall10","pixel_green","shall11","shall12","shall13","shall14","shall15"]; if (ticX==2) ticNEWSCREEN = ["pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","win1","win2","win3","win4","win5","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green"]; if (ticX==3) ticNEWSCREEN = ["pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","lose1","lose2","lose3","lose4","lose5","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green"]; if (ticX==4) ticNEWSCREEN = [ticSCREENBOARD[0],"pixel_blue",ticSCREENBOARD[1],"pixel_blue",ticSCREENBOARD[2],"pixel_blue",ticSCREENBOARD[3],"pixel_blue",ticSCREENBOARD[4],"pixel_blue",ticSCREENBOARD[5],"pixel_blue",ticSCREENBOARD[6],"pixel_blue",ticSCREENBOARD[7],"pixel_blue",ticSCREENBOARD[8]]; if (ticX==5) ticNEWSCREEN = ["master1","master2","master3","master4","master5","pixel_green","master6","master7","master8","master9","master10","pixel_green","master11","master12","master13","master14","master15"]; if (ticX==6) ticNEWSCREEN = ["pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","tie1","tie2","tie3","tie4","tie5","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green","pixel_green"]; for (ticX=0; ticX < 17; ticX++) { if (document.images["tic" + ticX].src != "http://pic.oocities.com/images/gadgetfactory/tic/" + ticNEWSCREEN[ticX] + ".gif") document.images["tic" + ticX].src = "http://pic.oocities.com/images/gadgetfactory/tic/" + ticNEWSCREEN[ticX] + ".gif"; } } // start a new game function ticPLAYGAME() { ticBOARD = [0,0,0,0,0,0,0,0,0]; clearTimeout(ticTIMERLOCATION); ticUPDATEBOARD(); if (ticGOESFIRST == 0) { ticME = "o"; ticYOU = "x"; ticGOESFIRST = 1; ticGAMESTATE = 20; // YOUR TURN document.images['ticTURN'].src = "http://pic.oocities.com/images/gadgetfactory/tic/turn1.gif" ticTIMERLOCATION = setTimeout("ticQUITGAME()", 60000); // IN CASE YOU WERE TEASING } else { ticME = "x"; ticYOU = "o"; ticGOESFIRST = 0; ticMYTURN() } } //Here's the brain function ticMYTURN() { clearTimeout(ticTIMERLOCATION); ticGAMESTATE = 10; //MY TURN document.images['ticTURN'].src = "http://pic.oocities.com/images/gadgetfactory/tic/turn0.gif" setTimeout("ticMAKEMOVE()", 1000); } function ticMAKEMOVE() { ticBESTMOVE = 0; ticBESTMOVE = ticCHECKWINNINGMOVE(1); if (ticBESTMOVE == -1) ticBESTMOVE = ticCHECKWINNINGMOVE(2); //dummy array if (ticBESTMOVE == -1) { var ticDUMMY = new Array(4,0,2,6,8,1,3,5,7) for (ticX = 0; ticX < 9; ticX++) { if (ticBOARD[ticDUMMY[ticX]] == 0) { ticBESTMOVE = ticDUMMY[ticX]; break; } } } //make my move here. ticBOARD[ticBESTMOVE] = 1; ticUPDATEBOARD(); if (ticCHECKWINNER(1) == 0) { if (ticCHECKSTALEMATE() == 1) { ticUPDATESCREEN(6); ticGAMESTATE = 1; ticTIMERLOCATION = setTimeout("ticUPDATESCREEN(4)", 2000); return; } ticGAMESTATE = 20; document.images['ticTURN'].src = "http://pic.oocities.com/images/gadgetfactory/tic/turn1.gif"; ticTIMERLOCATION = setTimeout("ticQUITGAME()", 60000); } else { ticGAMESTATE = 1; ticUPDATESCREEN(3); ticTIMERLOCATION = setTimeout("ticUPDATESCREEN(4)", 2000); } } //look for a possible force win move function ticFINDFORCE() { var ticFORCEHERE = -1; for (ticX = 0; ticX < 20; ticX++) { ticV = 0; ticW = 0; for (ticY = 0; ticY < 9; ticY++) { if (ticBOARD[ticY] == ticFORCEDATA[(ticX * 9) + ticY]) { if (ticBOARD[ticY] == 0) ticV++; if (ticBOARD[ticY] == 1) ticW++; } if ((ticFORCEDATA[(ticX * 9) + ticY] == 1) && (ticBOARD[ticY] == 0)) ticTEMPFORCEHERE = ticY; } if ((ticV > 1) && (ticW > 1)) { ticFORCEHERE = ticTEMPFORCEHERE; } } return[ticFORCEHERE]; } //checkwinner function ticCHECKWINNER(ticX) { if ((ticBOARD[0] == ticX) && (ticBOARD[1] == ticX) && (ticBOARD[2] == ticX)) return[1]; else if ((ticBOARD[3] == ticX) && (ticBOARD[4] == ticX) && (ticBOARD[5] == ticX)) return[1]; else if ((ticBOARD[6] == ticX) && (ticBOARD[7] == ticX) && (ticBOARD[8] == ticX)) return[1]; else if ((ticBOARD[0] == ticX) && (ticBOARD[3] == ticX) && (ticBOARD[6] == ticX)) return[1]; else if ((ticBOARD[1] == ticX) && (ticBOARD[4] == ticX) && (ticBOARD[7] == ticX)) return[1]; else if ((ticBOARD[2] == ticX) && (ticBOARD[5] == ticX) && (ticBOARD[8] == ticX)) return[1]; else if ((ticBOARD[0] == ticX) && (ticBOARD[4] == ticX) && (ticBOARD[8] == ticX)) return[1]; else if ((ticBOARD[2] == ticX) && (ticBOARD[4] == ticX) && (ticBOARD[6] == ticX)) return[1]; else return[0]; } //check for winning move function ticCHECKWINNINGMOVE(ticX) { if ((ticBOARD[0] == 0) && (((ticBOARD[3] == ticX) && (ticBOARD[6] == ticX)) || ((ticBOARD[1] == ticX) && (ticBOARD[2] == ticX)) || ((ticBOARD[4] == ticX) && (ticBOARD[8] == ticX)))) return[0]; else if ((ticBOARD[1] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[2] == ticX)) || ((ticBOARD[4] == ticX) && (ticBOARD[7] == ticX)))) return[1]; else if ((ticBOARD[2] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[1] == ticX)) || ((ticBOARD[4] == ticX) && (ticBOARD[6] == ticX)) || ((ticBOARD[5] == ticX) && (ticBOARD[7] == ticX)))) return[2]; else if ((ticBOARD[3] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[6] == ticX)) || ((ticBOARD[4] == ticX) && (ticBOARD[5] == ticX)))) return[3]; else if ((ticBOARD[4] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[8] == ticX)) || ((ticBOARD[1] == ticX) && (ticBOARD[7] == ticX)) || ((ticBOARD[2] == ticX) && (ticBOARD[6] == ticX)) || ((ticBOARD[3] == ticX) && (ticBOARD[5] == ticX)))) return[4]; else if ((ticBOARD[5] == 0) && (((ticBOARD[2] == ticX) && (ticBOARD[8] == ticX)) || ((ticBOARD[3] == ticX) && (ticBOARD[4] == ticX)))) return[5]; else if ((ticBOARD[6] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[3] == ticX)) || ((ticBOARD[2] == ticX) && (ticBOARD[4] == ticX)) || ((ticBOARD[7] == ticX) && (ticBOARD[8] == ticX)))) return[6]; else if ((ticBOARD[7] == 0) && (((ticBOARD[1] == ticX) && (ticBOARD[4] == ticX)) || ((ticBOARD[6] == ticX) && (ticBOARD[8] == ticX)))) return[7]; else if ((ticBOARD[8] == 0) && (((ticBOARD[0] == ticX) && (ticBOARD[4] == ticX)) || ((ticBOARD[2] == ticX) && (ticBOARD[5] == ticX)) || ((ticBOARD[6] == ticX) && (ticBOARD[7] == ticX)))) return[8]; else return[-1]; } //check for a stalemate function ticCHECKSTALEMATE(){ var ticSTALL = 1 for (ticX = 0; ticX < 9; ticX++){ if (ticBOARD[ticX] == 0) ticSTALL=0; } if (ticSTALL == 1); return[ticSTALL]; } //click on a square function ticTACTOE(ticX) { if (ticGAMESTATE < 10) ticPLAYGAME(); else { if ((ticGAMESTATE == 20) && (ticBOARD[ticX] == 0)) { ticBOARD[ticX] = 2; ticUPDATEBOARD(); if (ticCHECKWINNER(2) == 0) { if (ticCHECKSTALEMATE() == 1) { ticUPDATESCREEN(6); ticGAMESTATE = 1; ticTIMERLOCATION = setTimeout("ticUPDATESCREEN(4)", 2000); return; } ticMYTURN(); } else { ticGAMESTATE = 1; ticUPDATESCREEN(2); ticTIMERLOCATION = setTimeout("ticUPDATESCREEN(4)", 2000); } } } } //roll on a square function ticTACON(ticX) { if ((ticGAMESTATE < 10) && (ticFLASHER < 1)) ticUPDATESCREEN(1); if ((ticX > -1) && (ticGAMESTATE == 20) && (ticBOARD[ticX/2] == 0)) { ticSCREENBOARD[ticX / 2] = ticYOU + "_lite"; ticUPDATESCREEN(4); } } //roll off a square function ticTACOFF(ticX) { if ((ticGAMESTATE < 10) && (ticFLASHER < 1)) ticUPDATESCREEN(0); if ((ticX > -1) && (GAMESTATE = 20) && (ticBOARD[ticX/2] == 0)) ticUPDATEBOARD(); } //copy board to updateboard function ticUPDATEBOARD() { for (ticX = 0; ticX < 9; ticX++) { ticSCREENBOARD[ticX] = "pixel_green" if (ticBOARD[ticX] == 1) ticSCREENBOARD[ticX] = ticME if (ticBOARD[ticX] == 2) ticSCREENBOARD[ticX] = ticYOU } ticUPDATESCREEN(4); } // quit game early function ticQUITGAME() { ticGAMESTATE = 1; ticUPDATESCREEN(3); ticTIMERLOCATION = setTimeout("ticUPDATESCREEN(4)", 2000); } function ticROLLOFFOTHER() { document.images['ticNEWGAME'].src = "http://pic.oocities.com/images/gadgetfactory/tic/ticNEWGAME_off.gif"; document.images['ticQUIT'].src = "http://pic.oocities.com/images/gadgetfactory/tic/ticQUIT_off.gif"; } // Roll over on function ticIMAGEON(ticNEWIMAGE) { document.images[ticNEWIMAGE].src = "http://pic.oocities.com/images/gadgetfactory/tic/" + ticNEWIMAGE + "_on.gif"; } document.write('
'); document.write(''); document.write('
'); document.write(''); document.write('
 
 
 


 
 
');