Intanto ciao a tutti perchè sono nuovo del forum![]()
sto programmando in JS il gioco Sudoku.. per ora una versione da stampare e compilare su carta e poi controllare se è giusto.... solo che questo codice che ho scritto non funziona su internet explorer 6 ma solo su mozilla... su internet explorer mi vengono una serie di Undefined qualche idea?
P.S. Sono alle prime armi è il mio primo programma in Javascript un po più "serio" finora ho sempre fatto gli esempi del libro...
P.P.S Scusate se posto tutto il codice qui ma nn posso allegare file .html......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style>
.azzurro {background: #DEEFFF}
.giallo {background: Yellow}
.verde {background: green}
.marrone {background: brown}
.grigio {background: grey}
.rosso {background: red}
.blu {background: bleue}
.viola {background: purple}
.nero {background: black}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sudoku Davide Granata</title>
<style type="text/css">
<!--
.Stile1 {
font-size: 36px;
font-weight: bold;
}
.Stile2 {font-size: 36px; font-weight: bold; color: #FF0000; }
-->
</style>
</head>
<body>
<p align="center" class="Stile2">Sudoku </p>
<p align="center" class="Stile1"> by Davide Granata </p>
<script language="javascript">
//Numero casuale
function random(limits) {
today = new Date();
num = today.getTime();
num = Math.round(Math.abs(Math.sin (num)*1000000)) % limits;
return num;
}
//Creo e riempo la matrice 9*9
var m=new Array(9);
for(i=0;i<9;i++)m[i]=new Array(9);
var m2=new Array(9);
for(i=0;i<9;i++)m2[i]=new Array(9);
var number=new Array(9);
var v=new Array(81);
v="abcdefghighiabcdefdefghiabcbcdefghiahiabcdefgef ghiabcdcdefghiabiabcdefghfghiabcde";
var s,x,r,co;
//Pezzo copiato dal C
for(s=0;s<9;s++)number[s]=0;
//Calcolo numeri random
s=0;
while(s<9){
x=random(9);
if(number[x]==0){
k=s+1;
number[x]=k;
s++; }
}
s=0;
for(r=0;r<9;r++){
for(co=0;co<9;co++){
if(v[s]=="a"){m[r][co]=number[0];}
else if(v[s]=="b"){m[r][co]=number[1];}
else if(v[s]=="c"){m[r][co]=number[2];}
else if(v[s]=="d"){m[r][co]=number[3];}
else if(v[s]=="e"){m[r][co]=number[4];}
else if(v[s]=="f"){m[r][co]=number[5];}
else if(v[s]=="g"){m[r][co]=number[6];}
else if(v[s]=="h"){m[r][co]=number[7];}
else if(v[s]=="i"){m[r][co]=number[8];}
s++;
}
}
//copio matrice
for(c=0;c<9;c++)
for(r=0;r<9;r++)m2[r][c]=m[r][c];
//Nascondi celle
k=1;
while(k<36+1){
r=random(9);
c=random(9);
if(m[r][c]!=0){m[r][c]=" ";k++;} }
//fine copia dal +c
document.writeln("<font size=6><table border=1 width=50% align=center> ");
for(c=0;c<9;c++){
document.writeln("<tr >");
for(r=0;r<9;r++){document.writeln("<td align=center>"+m[r][c]+"</td>");if(r==2 || r==5){document.writeln("");}}
document.writeln("
");
if(c==2 || c==5)document.writeln("</tr>");
}
document.writeln("</table></font>");
</script>
<input type="button" onclick="soluzione();" value="Soluzione">
<script language="javascript">
function soluzione(){
document.writeln("<font size=6>La soluzione è
<table border=1 width=50% align=center> ");
for(c=0;c<9;c++){
document.writeln("<tr >");
for(r=0;r<9;r++){document.writeln("<td align=center><font size=6>"+m2[r][c]+"</font></td>");if(r==2 || r==5){document.writeln("");}}
document.writeln("
");
if(c==2 || c==5)document.writeln("</tr>");
}
document.writeln("</table></font>");
return false;
}</script>
</body>
</html>