<script language="javascript">
//Tic Tac Toe- By Brian (http://scriptasylum.com/bgaudiodr/)
//Modified by Yossi Cohen (yossi@prosite.co.il)
//Featured on Dynamicdrive.com
//Visit http://www.dynamicdrive.com for this script
var image1=new Image(); image1.src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVRK_zyZGfz4Y6Rd5GalTTrpvTo187mGoKbS6aeTJMtytAYN-vrr8QIeY5bO1qMscEHKt896GUddeL0A73rAX9hRbNuDQESTJtxwc5j4h2ZxprwM56uZZv4deJ46d9NvO3JykHHElzLHGp/s400/ex.gif";
var image2=new Image(); image2.src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoAlAGUdM3LSdBwmUlwMO5TmsYJLvSC1F07U5SAzq2FOTpZWhmJhLap2pEskRDM3q7dMp1k114tzvm6AT1n0TfTOZc21RbDwGy3jar8PFFZt1PCqvJuJPNnqnvASxAA4oHB_5S6_GlBsur/s400/oh.gif";
var level=1, myway, mynextmove;
var tmp, done, iswon, content;
var pcwins=[0,0,0,0];
var playerwins=[0,0,0,0];
var draws=[0,0,0,0];
var playerstarts=true;
var moves=new Array();
var game=new Array(9);
var choices=[11,12,13,21,22,23,31,32,33];
var corners=[11,13,31,33];
var ways=new Array();
ways[1]=[0,11,12,13];
ways[2]=[0,21,22,23];
ways[3]=[0,31,32,33];
ways[4]=[0,11,21,31];
ways[5]=[0,12,22,32];
ways[6]=[0,13,23,33];
ways[7]=[0,11,22,33];
ways[8]=[0,13,22,31];
var w3c=(document.getElementById)?true:false;
var ns4=(document.layers)?true:false;
var ie4=(document.all && !w3c)?true:false;
var ie5=(document.all && w3c)?true:false;
var ns6=(w3c && navigator.appName.indexOf("Netscape")>=0)?true:false;
function init(){
oktoplay=true;
iswon=false;
done=0;
writetext(4);
moves[11]=0; moves[12]=0; moves[13]=0; moves[21]=0; moves[22]=0; moves[23]=0; moves[31]=0; moves[32]=0; moves[33]=0;
for(i=0;i<=8;i++){
document.images['rc'+choices[i]].src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif";
document.images['rc'+choices[i]].alt="";
game[i]=0;
}
if(!playerstarts)pcturn();
}
function writetext(num){
switch(num){
case 1: content='This game is a draw';
break;
case 2: content='The computer won this round.';
break;
case 3: content='You won this round.';
break;
case 4: content='LEVEL: '+level+'\n\nComputer Wins: This level- '+pcwins[level]+' (Total: '+(pcwins[0]+pcwins[1]+pcwins[2]+pcwins[3])+')\nPlayer Wins : This level- '+playerwins[level]+' (Total: '+(playerwins[0]+playerwins[1]+playerwins[2]+playerwins[3])+')\nDraws : This level- '+draws[level]+' (Total: '+(draws[0]+draws[1]+draws[2]+draws[3])+')';
break;
}
document.scores.scores2.value=content
if(num<4)setTimeout('init(4)',1000);
}
function setlevel(x){
if (level!=x){
level=x;
init();
}}
function setbutton(cellnum){
if (!iswon){ // Thanks to Roger for finding this Bug !!!
if(moves[cellnum]==0){
document.images['rc'+cellnum].src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVRK_zyZGfz4Y6Rd5GalTTrpvTo187mGoKbS6aeTJMtytAYN-vrr8QIeY5bO1qMscEHKt896GUddeL0A73rAX9hRbNuDQESTJtxwc5j4h2ZxprwM56uZZv4deJ46d9NvO3JykHHElzLHGp/s400/ex.gif";
document.images['rc'+cellnum].alt=" X ";
moves[cellnum]=1;
game[done]=cellnum;
done++;
findwinner(true);
}else alert('You cannot move here!');
}}
function pcstrategy(istowin){
if (level>0){
var str=(istowin)? 2 : 1;
for(n=1;n<=8;n++){
if((moves[ways[n][1]]==str) && (moves[ways[n][2]]==str) && (moves[ways[n][3]]==0)) tmp=ways[n][3];
if((moves[ways[n][1]]==str) && (moves[ways[n][3]]==str) && (moves[ways[n][2]]==0)) tmp=ways[n][2];
if((moves[ways[n][2]]==str) && (moves[ways[n][3]]==str) && (moves[ways[n][1]]==0)) tmp=ways[n][1];
}}}
function selecCorner(which){
if (which=="empty"){
do{
tmp=corners[Math.floor(Math.random()*4)];
}while(moves[tmp]!=0);
}
else
tmp=corners[Math.floor(Math.random()*4)];
}
function pcdontlose(){
if (!playerstarts){
if (done==0){
tmp=choices[2*Math.floor(Math.random()*5)];
if (tmp==22) myway=1;
else myway=2;
}
else if (done==2){
if (myway==1){
if (game[1]==11 || game[1]==13 || game[1]==31 || game[1]==33)
tmp=44-game[1];
else{
dlta=22-game[1];
op0=22+dlta+(10/dlta);
op1=22+dlta-(10/dlta);
tmp=eval("op"+Math.floor(Math.random()*2));
}}
else if (myway==2){
if (game[1]==22){
tmp=44-game[0];
myway=21;
}
else if (game[1]==11 || game[1]==13 || game[1]==31 || game[1]==33){
selecCorner("empty");
myway=22;
}
else{
tmp=22;
myway=23;
}}}
else if (done==4){
if (myway==22){
for (i=0; i<4 ;i++){
if (moves[corners[i]]==0){
tmp=corners[i];
}}}
else if (myway==23){
dlta=game[1]-game[0];
op0=44-(game[1]+dlta);
op1=(op0+game[0])/2;
tmp=eval("op"+Math.floor(Math.random()*2));
}
else if (myway==1)
tmp=44+game[2]-(2*game[3]);
}}
else if (level==3){
if (done==1){
if (game[0]==11 || game[0]==13 || game[0]==31 || game[0]==33){
tmp=22;
myway=1;
}
else if (game[0]==22){
selecCorner("any");
myway=2;
}
else{
tmp=22;
myway=3;
}}
else if (done==3){
if (myway==1){
if (game[2]==44-game[0])
tmp=choices[1+(2*Math.floor(Math.random()*4))];
else
tmp=44-game[0]
}
else if (myway==2){
if (game[2]==44-game[1])
selecCorner("empty");
}
else if (myway==3){
if (game[2]==11 || game[2]==13 || game[2]==31 || game[2]==33)
tmp=44-game[2];
if (game[2]==44-game[0]){
dlta=22-game[2];
tmp=22+(10/dlta);
mynextmove=tmp+dlta;
}
else{
dlta=22-game[0];
op0=game[0]+(10/dlta);
op1=game[0]-(10/dlta);
op2=game[2]+dlta;
tmp=eval("op"+Math.floor(Math.random()*3));
}}}
else if (done==5 && myway==3){
tmp=mynextmove;
}}}
function findwinner(isplayer){
me=(isplayer)? 1 : 2;
for(n=1;n<=8;n++){
if( (moves[ways[n][1]]==me) && (moves[ways[n][2]]==me) && (moves[ways[n][3]]==me) ){
iswon=true;
break;
}}
if(iswon){
if(isplayer){
playerwins[level]++;
playerstarts=true;
writetext(3);
}else{
pcwins[level]++;
playerstarts=false;
writetext(2);
}}else{
if(done>8){
draws[level]++;
playerstarts=!playerstarts;
writetext(1);
}else if(isplayer) pcturn();
}}
function pcrandom(){
do{
tmp=choices[Math.floor(Math.random()*9)];
}while(moves[tmp]!=0);
}
function pcturn(){
tmp='00';
pcstrategy(true);
if(tmp=='00')pcstrategy(false);
if(tmp=='00' && level>1)
pcdontlose();
if(tmp=='00')
pcrandom();
moves[tmp]=2;
game[done]=tmp;
document.images['rc'+tmp].src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoAlAGUdM3LSdBwmUlwMO5TmsYJLvSC1F07U5SAzq2FOTpZWhmJhLap2pEskRDM3q7dMp1k114tzvm6AT1n0TfTOZc21RbDwGy3jar8PFFZt1PCqvJuJPNnqnvASxAA4oHB_5S6_GlBsur/s400/oh.gif";
document.images['rc'+tmp].alt=" O ";
done++;
findwinner(false);
}
window.onload=init;
window.onresize=function(){
if(ns4)setTimeout('history.go(0)',400);
}
</script><br>
<br>
<br>
<table bordercolorlight="gray" bgcolor="white" border="5" bordercolor="black" cellpadding="0" cellspacing="0"><tbody><tr>
<td width="55"><a href="javascript:setbutton(11)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc11" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(12)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc12" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(13)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc13" border="0"></a></td>
</tr><tr>
<td width="55"><a href="javascript:setbutton(21)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc21" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(22)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc22" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(23)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc23" border="0"></a></td>
</tr><tr>
<td width="55"><a href="javascript:setbutton(31)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc31" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(32)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc32" border="0"></a></td>
<td width="55"><a href="javascript:setbutton(33)"><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7rQkxdwTjfo3t2nglWq996nMjcRZ2uK8DnxI7YF_WymeDwSBQDF95phTMbdORf9_qHb8dWQ3uHLH43Qo51BDpdbmYENymmW1wNlmCnfvErSKrMQHrRWYyUCxwvH6Zn2_ZjPP_Qgqic918/s400/nothing.gif" name="rc33" border="0"></a></td>
</tr></tbody></table><br><br>
<br>
<form name="scores"><textarea name="scores2" cols="60" rows="6"></textarea><br>
<br>
<br><br><br>
<input name="level" id="level" onclick="setlevel(0)" type="radio">level 0 -- the Computer is totally dumb. <br><br>
<input name="level" id="level" onclick="setlevel(1)" checked="" type="radio">level 1 -- Computer is smarter (original version). <br><br>
<input name="level" id="level" onclick="setlevel(2)" type="radio">level 2 -- You MAY win (only when you start). <br><br>
<input name="level" id="level" onclick="setlevel(3)" type="radio">level 3 -- Computer NEVER lose. <br><br>
<br>
</form>
<style>
#mbt-sub-box{background: -webkit-gradient(linear, left top, left bottom, from(#333), to(#1a2638));;border:1px
solid #1A2638;border-radius:10px; margin-bottom:10px;padding:10px;text-align:center;background: -moz-linear-gradient(top, #333, #1a2638)}
#mbt-sub-box h1{margin-top:5px; color:#FFF;font-family:georgia;font-size:25px;margin-bottom:5px;padding:0;text-shadow:0 2px 3px #000;line-height:35px}
#mbt-sub-box input{background: -moz-linear-gradient(center top , #FFFFFF, #EFEFEF) repeat scroll 0 0 transparent;border:medium none;border-radius:10px 10px 10px 10px;font-size:14px;padding:10px;text-shadow:1px 1px 0 #FFF;width:280px; color:#666; font-family:georgia; margin-bottom:5px;}
#mbt-sub-box .submit{background: -webkit-gradient(linear, left top, left bottom, from(#369a18), to(#205f0d));background: -moz-linear-gradient(center top , #369A18, #205F0D) repeat scroll 0 0 transparent;color:#FFF;cursor:pointer;font-weight:bold;margin-left:20px;text-shadow:0 1px 2px #000;width:120px; font-family:georgia; margin-left:5px;}
#mbt-sub-box .submit:hover{background: -moz-linear-gradient(center top , #46B725, #205F0D) repeat scroll 0 0 transparent}
#mbt-sub-box .submit:active{background: -moz-linear-gradient(center top , #46B725, #205F0D) repeat scroll 0 0 transparent}
</style>
No comments:
Post a Comment