512MB |
2x2 Sudoku doesn't work at all. The images don't show up on the grid. I don't understand JavaScript very well. Just learning it. Thanks! - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
<html>
-
<head>
-
-
<title>Sudoku 9</title>
-
-
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
-
<link type="text/css" rel="stylesheet" href="http://www.tpgames.net/gaming/2/game.css">
-
<link rel="shortcut icon" href="http://www.tpgames.net/tpgamesicon.gif">
-
-
<script language="JavaScript1.2">
-
var IsNetscape;
-
if(navigator.appName == "Netscape")
-
{ IsNetscape = true;
-
document.captureEvents(Event.KEYDOWN)
-
}
-
else IsNetscape = false;
-
function NetscapeKeyDown(key)
-
{ if(IsNetscape)
-
KeyDown(key.which);
-
}
-
document.onkeydown = NetscapeKeyDown;
-
</script>
-
<script for=document event="onkeydown()" language="JScript">
-
if (window.event) KeyDown(window.event.keyCode);
-
</script>
-
<script language="JavaScript">
-
var i, j, k, I_Sel, J_Sel, K_Sel, L_Sel, StartTime, EndTime, IsOver;
-
-
PreFld0=new Array(
-
new Array(
-
new Array(new Array(1,2),new Array(3,4)),
-
new Array(new Array(3,4),new Array(1,2)),
-
new Array(
-
new Array(new Array(2,3),new Array(4,1)),
-
new Array(new Array(4,1),new Array(2,3)),
-
new Array(
-
new Array(new Array(3,4),new Array(1,2)),
-
new Array(new Array(1,2),new Array(3,4))));
-
-
PreFld=new Array(
-
new Array(
-
new Array(new Array(1,2),new Array(3,4)),
-
new Array(new Array(3,4),new Array(1,2)),
-
new Array(
-
new Array(new Array(2,3),new Array(4,1)),
-
new Array(new Array(4,1),new Array(2,3)),
-
new Array(
-
new Array(new Array(3,4),new Array(1,2)),
-
new Array(new Array(1,2),new Array(3,4))));
-
-
Fld=new Array(
-
new Array(
-
new Array(new Array(1,2),new Array(3,4)),
-
new Array(new Array(3,4),new Array(1,2)),
-
new Array(
-
new Array(new Array(2,1),new Array(4,3)),
-
new Array(new Array(4,3),new Array(2,1)),
-
new Array(
-
new Array(new Array(1,4),new Array(3,2)),
-
new Array(new Array(3,2),new Array(1,4))));
-
-
NPic = new Array(5);
-
NPic[0] = new Image();
-
NPic[0].src = "rebu_n.gif";
-
for (i=1; i < 5; i++)
-
{ NPic[i] = new Image();
-
NPic[i].src = "rebu"+eval(i)+"n.gif";
-
}
-
QPic = new Image();
-
QPic.src = "rebu0q.gif";
-
-
function Clicked(ii, jj, kk, ll)
-
{ var ff=false;
-
if (IsOver) return;
-
if (I_Sel>=0) window.document.images[4*I_Sel+4*J_Sel+K_Sel+2*L_Sel].src = NPic[0].src;
-
if (Fld[ii][jj][kk][ll]>0) return;
-
I_Sel=ii;
-
J_Sel=jj;
-
K_Sel=kk;
-
L_Sel=ll;
-
window.document.images[4*I_Sel+4*J_Sel+K_Sel+2*L_Sel].src = QPic.src;
-
}
-
-
-
-
function KeyDown(whichkey)
-
{ if (IsOver) return;
-
if (I_Sel==-1) return;
-
if ((whichkey>=48)&&(whichkey<=57))
-
{ Fld[I_Sel][J_Sel][K_Sel][L_Sel]=48-whichkey;
-
window.document.images[4*I_Sel+4*J_Sel+K_Sel+2*L_Sel].src = NPic[whichkey-48].src;
-
I_Sel=-1;
-
}
-
if (IsSolved())
-
{ IsOver=true;
-
Now = new Date();
-
EndTime = Now.getTime() / 1000;
-
i=Math.floor(EndTime - StartTime);
-
if (window.opener)
-
{ if (window.opener.SetHighscores)
-
window.opener.SetHighscores("Sudoku","",i,-1);
-
}
-
alert("Super, you solved this game in "+i+ " seconds !");
-
}
-
}
-
-
function IsSolved()
-
{ var ii,jj,kk,ll,nn;
-
bb=new Array(10);
-
for (ii=0; ii<2; ii++)
-
{ for (jj=0; jj<2; jj++)
-
{ for (nn=0; nn<10; nn++) bb[nn]=0;
-
for (kk=0; kk<2; kk++)
-
{ for (ll=0; ll<2; ll++)
-
bb[Math.abs(Fld[ii][jj][kk][ll])]++;
-
}
-
if (bb[0]>0) return(false);
-
for (nn=1; nn<10; nn++)
-
{ if (bb[nn]!=1) return(false);
-
}
-
}
-
}
-
for (ii=0; ii<2; ii++)
-
{ for (kk=0; kk<2; kk++)
-
{ for (nn=1; nn<10; nn++) bb[nn]=0;
-
for (jj=0; jj<2; jj++)
-
{ for (ll=0; ll<2; ll++)
-
bb[Math.abs(Fld[ii][jj][kk][ll])]++;
-
}
-
for (nn=1; nn<10; nn++)
-
{ if (bb[nn]!=1) return(false);
-
}
-
}
-
}
-
for (jj=0; jj<2; jj++)
-
{ for (ll=0; ll<2; ll++)
-
{ for (nn=1; nn<10; nn++) bb[nn]=0;
-
for (ii=0; ii<2; ii++)
-
{ for (kk=0; kk<2; kk++)
-
bb[Math.abs(Fld[ii][jj][kk][ll])]++;
-
}
-
for (nn=1; nn<10; nn++)
-
{ if (bb[nn]!=1) return(false);
-
}
-
}
-
}
-
return(true);
-
}
-
-
function Show()
-
{ if (IsOver)
-
{ alert("Everything's okay.");
-
return;
-
}
-
for (i=0; i<2; i++)
-
{ for (j=0; j<2; j++)
-
{ for (k=0; k<2; k++)
-
{ for (l=0; l<2; l++)
-
Fld[i][j][k][l]=PreFld[i][j][k][l];
-
}
-
}
-
}
-
IsOver=true;
-
I_Sel=-1;
-
RefreshScreen();
-
alert(" TIM solved it for you!");
-
}
-
-
function SwitchI(ii0,ii1)
-
{ var jj,kk,ll,tt;
-
for (jj=0; jj<2; jj++)
-
{ for (kk=0; kk<2; kk++)
-
{ for (ll=0; ll<2; ll++)
-
{ tt=PreFld[ii0][jj][kk][ll];
-
PreFld[ii0][jj][kk][ll]=PreFld[ii1][jj][kk][ll];
-
PreFld[ii1][jj][kk][ll]=tt;
-
}
-
}
-
}
-
}
-
-
function SwitchJ(jj0,jj1)
-
{ var ii,kk,ll,tt;
-
for (ii=0; ii<2; ii++)
-
{ for (kk=0; kk<2; kk++)
-
{ for (ll=0; ll<2; ll++)
-
{ tt=PreFld[ii][jj0][kk][ll];
-
PreFld[ii][jj0][kk][ll]=PreFld[ii][jj1][kk][ll];
-
PreFld[ii][jj1][kk][ll]=tt;
-
}
-
}
-
}
-
}
-
-
function SwitchK(ii,kk0,kk1)
-
{ var jj,ll,tt;
-
for (jj=0; jj<2; jj++)
-
{ for (ll=0; ll<2; ll++)
-
{ tt=PreFld[ii][jj][kk0][ll];
-
PreFld[ii][jj][kk0][ll]=PreFld[ii][jj][kk1][ll];
-
PreFld[ii][jj][kk1][ll]=tt;
-
}
-
}
-
}
-
-
function SwitchL(jj,ll0,ll1)
-
{ var ii,kk,tt;
-
for (ii=0; ii<2; ii++)
-
{ for (kk=0; kk<2; kk++)
-
{ tt=PreFld[ii][jj][kk][ll0];
-
PreFld[ii][jj][kk][ll0]=PreFld[ii][jj][kk][ll1];
-
PreFld[ii][jj][kk][ll1]=tt;
-
}
-
}
-
}
-
-
function MixNumbers()
-
{ var nn,tt,ii,jj,kk,ll,rr=new Array(0,1,2,3,4);
-
for (nn=0; nn<48; nn++)
-
{ ii=1+Math.floor(Math.random()*4);
-
jj=1+Math.floor(Math.random()*4);
-
tt=rr[ii];
-
rr[ii]=rr[jj];
-
rr[jj]=tt;
-
}
-
for (ii=0; ii<2; ii++)
-
{ for (jj=0; jj<2; jj++)
-
{ for (kk=0; kk<2; kk++)
-
{ for (ll=0; ll<2; ll++)
-
{ tt=PreFld[ii][jj][kk][ll];
-
PreFld[ii][jj][kk][ll]=rr[tt];
-
}
-
}
-
}
-
}
-
}
-
-
function random(nn)
-
{ return(Math.floor(Math.random()*nn));
-
}
-
-
function Scramble()
-
{ var ff=0, ss, tt, vv0, vv1, vv2;
-
for (i=0; i<2; i++)
-
{ for (j=0; j<2; j++)
-
{ for (k=0; k<2; k++)
-
{ for (l=0; l<2; l++)
-
PreFld[i][j][k][l]=PreFld0[i][j][k][l];
-
}
-
}
-
}
-
for (j=0; j<2; j++)
-
{ tt=PreFld[0][j][0][0];
-
for (k=0; k<1; k++)
-
PreFld[0][j][k][0]=PreFld[0][j][k+1][0];
-
PreFld[0][j][2][0]=tt;
-
}
-
for (j=0; j<2; j++)
-
{ tt=PreFld[0][j][2][2];
-
for (k=1; k>0; k--)
-
PreFld[0][j][k][2]=PreFld[0][j][k-1][2];
-
PreFld[0][j][0][2]=tt;
-
}
-
for (ff=0; ff<54; ff++)
-
{ j=random(2);
-
k=random(2);
-
vv0=PreFld[0][j][k][1];
-
vv1=PreFld[0][j][k][2];
-
if (PreFld[1][j][(k+2)%3][1]==vv1)
-
{ vv2=PreFld[1][j][(k+2)%3][2];
-
for (tt=0; tt<2; tt++)
-
{ if ((PreFld[2][j][tt][1]==vv2)&&(PreFld[2][j][tt][2]==vv0))
-
{ PreFld[0][j][k][1]=vv1;
-
PreFld[0][j][k][2]=vv0;
-
PreFld[1][j][(k+2)%3][1]=vv2;
-
PreFld[1][j][(k+2)%3][2]=vv1;
-
PreFld[2][j][tt][1]=vv0;
-
PreFld[2][j][tt][2]=vv2;
-
}
-
}
-
}
-
j=random(2);
-
k=random(2);
-
vv0=PreFld[0][j][k][0];
-
vv1=PreFld[0][j][k][1];
-
if (PreFld[1][j][k][0]==vv1)
-
{ vv2=PreFld[1][j][k][1];
-
for (tt=0; tt<2; tt++)
-
{ if ((PreFld[2][j][tt][0]==vv2)&&(PreFld[2][j][tt][1]==vv0))
-
{ PreFld[0][j][k][0]=vv1;
-
PreFld[0][j][k][1]=vv0;
-
PreFld[1][j][k][0]=vv2;
-
PreFld[1][j][k][1]=vv1;
-
PreFld[2][j][tt][0]=vv0;
-
PreFld[2][j][tt][1]=vv2;
-
}
-
}
-
}
-
}
-
for (ff=0; ff<3; ff++)
-
{ i=random(2);
-
j=random(2);
-
if (i!=j) SwitchI(i,j);
-
i=random(2);
-
j=random(2);
-
if (i!=j) SwitchJ(i,j);
-
i=random(2);
-
k=random(2);
-
l=random(2);
-
if (k!=l) SwitchK(i,k,l);
-
j=random(2);
-
k=random(2);
-
l=random(2);
-
if (k!=l) SwitchL(j,k,l);
-
}
-
MixNumbers();
-
for (i=0; i<2; i++)
-
{ for (j=0; j<2; j++)
-
{ for (k=0; k<2; k++)
-
{ for (l=0; l<2; l++)
-
Fld[i][j][k][l]=PreFld[i][j][k][l];
-
}
-
}
-
}
-
ff=0;
-
while (ff<40)
-
{ i=Math.floor(Math.random()*2);
-
j=Math.floor(Math.random()*2);
-
k=Math.floor(Math.random()*2);
-
l=Math.floor(Math.random()*2);
-
if (Fld[i][j][k][l]>0) { Fld[i][j][k][l]=0; ff++; }
-
if (Fld[2-i][2-j][2-k][2-l]>0) { Fld[2-i][2-j][2-k][2-l]=0; ff++; }
-
if (Fld[j][i][l][k]>0) { Fld[j][i][l][k]=0; ff++; }
-
if (Fld[2-j][2-i][2-l][2-k]>0) { Fld[2-j][2-i][2-l][2-k]=0; ff++; }
-
}
-
I_Sel=-1;
-
IsOver=false;
-
RefreshScreen();
-
Now = new Date();
-
StartTime = Now.getTime() / 1000;
-
}
-
-
function RefreshScreen()
-
{ for (i=0; i<2; i++)
-
{ for (j=0; j<2; j++)
-
{ for (k=0; k<2; k++)
-
{ for (l=0; l<2; l++)
-
{ window.document.images[4*i+24*j+k+2*l].src = NPic[Fld[i][j][k][l]].src;
-
}
-
}
-
}
-
}
-
}
-
function Help()
-
{ alert("Put the missing Czech letters into the grid"+
-
"\nso that every letter occurs once in every row"+
-
"\nand column and in every 2x2 block."+
-
"\nThe `A means Put answer here.");
-
}
-
</script>
-
| |