');
document.write('');
}
function generieren() { sicht[0]=0; no[0]=0; for (var k=1;k<=100;k++) {fharr[k]=0;}
for (var k=1;k<=100;k++) {sicht[k]=0; no[k]=0; document.getElementById('id'+k).value=""; document.getElementById('lsg'+k).value="";}
var za="12"; anzfehler=0; var a="OX";
lo[0]="OXOXXOOXOXXOOXXOOXOXXOXOOXXOXOOXOXXOXOXOXOXOOXOXOXXOOXXOXOXOOXXOOXXOOXXXOOXXOXOOOOXXOOXOXXOXXOOXOOXO";
si[0]=" X OO X OO OO XX XX X X XX X O O X OO XX X O XO"; // leicht
lo[1]="XOXXOOXOOXOOXXOOXOXXXXOOXXOXOOOOXXOXXOOXOXXOXOOXXOXOOXOXOXXOXXOOXOXOOXOOXOXXOXXOXXOXOOXOXOOXOOXXOXOX";
si[1]="X X O O X O O O O X X O X O OX X O X X O X O OO X X"; // mittel
lo[2]="XXOXXOOXOOOOXOXOXXOXOXXOOXXOXOXOOXOXOOXXXXOOXOXXOOOOXOXXOXOXXXOXOXOOXOOOXOXOXOXXXOXXOOXXOOOXOXOXOOXX";
si[2]=" X X O O O X O X O OO XX O O O O X O O X O OO O "; // schwer
lo[3]="XOXOXOXXOOOXOOXXOXXOOOXXOOXOXXXXOOXOOXOXOOXXOXXOXOOXOXOXOXXOXXOOXOXOOXOOXOXXOXOXXXOXOXOOXOXOXXOOXOOX";
si[3]=" OX X X O X O X X X O O O O X X X O X XX X"; // Experte
for (var j=1;j<=2;j++) {document.getElementById("wh"+j).style.background="#ffffff";}
if (document.getElementById('Schw0').checked==true) { nx=0; }
if (document.getElementById('Schw1').checked==true) { nx=1; }
if (document.getElementById('Schw2').checked==true) { nx=2; }
if (document.getElementById('Schw3').checked==true) { nx=3; }
// mit Zufallszahl Buchstabe setzen
for (var z1=0;z1<=1;z1++) {
var z2=parseInt(Math.random()*za.length); var z3=za.substring(z2,z2+1); za=za.replace(z3,"");
for (z4=0;z4<100;z4++) {lo[nx]=lo[nx].replace(a.substring(z1,z1+1),z3); si[nx]=si[nx].replace(a.substring(z1,z1+1),z3);}
}
for (var z2=0;z2<100;z2++) {
if (lo[nx].substring(z2,z2+1)=="1") {no[z2]="O";}
if (lo[nx].substring(z2,z2+1)=="2") {no[z2]="X";}
if (si[nx].substring(z2,z2+1)=="1") {sicht[z2]="O";}
if (si[nx].substring(z2,z2+1)=="2") {sicht[z2]="X";}
if (sicht[z2]==0) {sicht[z2]="";}
}
// drehen
z3=parseInt(Math.random()*3)+1; // so oft drehen
for (z5=1;z5<=z3;z5++) {
for (var e2=0;e2<100;e2++) {ns[e2]=no[e2];}
var d1=0; var d=90; var d2=90; while (d1<100) {no[d1]=ns[d]; d1++; d=d-10; if (d<0) {d2++; d=d2;} }
for (var e2=0;e2<100;e2++) {ns[e2]=sicht[e2];}
var d1=0; var d=90; var d2=90; while (d1<100) {sicht[d1]=ns[d]; d1++; d=d-10; if (d<0) {d2++; d=d2;} }
}
// beginnen
for (var x=1;x<=100;x++) {document.getElementById('id'+x).value=sicht[x-1]; document.getElementById('lsg'+x).value=no[x-1];}
for (var x=1;x<100;x++) {weiss(x);}
start=performance.now(); gleiche();
}
function loesen() {for (var i=1;i<= 100;i++) {document.getElementById('id'+i).value=document.getElementById('lsg'+i).value;}}
/* */
function fehler() {
for (var j = 1; j <= 100; j++) {
if (sicht[j-1] != 0 && sicht[j - 1] != document.getElementById('lsg' + j).value) {
fhflag=1; fharr[j]=1; fhpos=j; rot(j); anzfehler++; //alert("fehler");
return true;
}
}
return false;
}
function gew(fo1) {
var v = 0; // Feld wählen
for (var j = 1; j <= 100; j++) {
if (sicht[j - 1] > 0 && sicht[j - 1] != document.getElementById('lsg' + j).value) {
document.getElementById("id" + j).value = "";
} }
gewaehlt=document.getElementById("id"+fo1).value; mark(gewaehlt,fo1); letzte();
aktiv = fo1;
if (fhflag==1) {
document.getElementById("id" + fhpos).focus(); fhflag=0; rot(fhpos);
} else {
if (gewaehlt == 0 || gewaehlt == "") { //alert("hier1");
gelb(fo1);
for (x5=1; x5<=100; x5++) {
if (fharr[x5]==1) { //alert("x5="+x5+" / fharr="+fharr[x5]);
rot(x5);
}
}
}
}
}
function letzte() { // gelb setzen, wenn 9/10 schon fertig
var g1=0; var f = 1;
// horizontal
for (var j = 1; j <= 10; j++) {
var h = 0;
for (var i = 1; i <= 10; i++) {
if (sicht[i+(j-1)*10-1]!="") {h++;} else {var g=i+(j-1)*10;}}
if (h == 9) {if (g1==0) {g1=g;}
}
}
// vertikal
for (var j = 1; j <= 10; j++) {
var v = 0;
for (var i = 1; i <= 10; i++) {
if (sicht[(i-1)*10+j-1]!="") {v++;} else {var g=(i-1)*10+j;}}
if (v == 9) {if (g1==0) {g1=g;}
}
}
if (g1!=0) {
gewaehlt=document.getElementById("id"+g1).value; aktiv=g1; gelb(g1); //fertig
}
}
function fertig() { var v = 0;
for (var j = 0; j < 100; j++) {if (sicht[j] !="") { v++; }}
if (v > 99) { var sek = 0; var min = 0; ende = performance.now(); var sek = parseInt((ende - start) / 1000) % 60; var min = parseInt(parseInt((ende - start) / 1000) / 60); alert("BRAVO\n\nZeit: " + min + " min. " + sek + " sek.\n\nFehler: " + anzfehler);
}
}
/* ======================================================================================================================= */
function hellgruen(g) { alert("hier1");document.getElementById("wh" + g).style.background = "#00ff00";}
function gelb(y1) {
for (var x=1;x<=100;x++) {
if (document.getElementById("id" + x).style.background != "#f08080") { weiss(x); } //wenn nicht rot
if (document.getElementById("id" + x).style.background == "#ffff00") { weiss(x); } //wenn gelb
}
gleiche();
document.getElementById("id" + y1).style.background = "#ffff00";
}
function blau(j2) {
document.getElementById("id" + j2).style.background = "#add8e7";
}
function rot(j3) {
document.getElementById("id" + j3).style.background = "#f08080";
}
function weiss(j3) {
document.getElementById("id" + j3).style.background = "#fffff9";
}
/* ======================================================================================================================= */
function gleiche() {
// gleiche horizontale Linien?
for (var j1 = 1; j1 < 10; j1++) {
for (var j2 = j1+1; j2 <=10; j2++) {
var u=0;
for (var j3 = 1; j3 <=10; j3++) {
var j4=(j1-1)*10+j3; var j5=(j2-1)*10+j3;
if ( document.getElementById("id"+j4).value!="" && document.getElementById("id"+j5).value!="" && document.getElementById("id"+j4).value==document.getElementById("id"+j5).value ) {
u++;
}
}
if (u >= 7 && u!=8) { // Linie j1 und Linie j2 blau einfärben
//alert("blau einfärben "+j1+" / "+j2+" / u="+u);
for (j3=1; j3<=10; j3++) { j4=(j1-1)*10+j3; j5=(j2-1)*10+j3; blau(j4); blau(j5); }
}
}
}
// gleiche vertikale Linien?
for (var j1 = 1; j1 < 10; j1++) {
for (var j2 = j1+1; j2 <=10; j2++) {
var u=0;
for (var j3 = 1; j3 <=10; j3++) {
var j4=j1+10*(j3-1); var j5=j2+10*(j3-1);
if ( document.getElementById("id"+j4).value!="" && document.getElementById("id"+j5).value!="" && document.getElementById("id"+j4).value==document.getElementById("id"+j5).value ) {
u++;
}
}
if (u >= 7 && u!=8) { // Linie j1 und Linie j2 blau einfärben
//alert("blau einfärben "+j1+" / "+j2);
for (j3=1; j3<=10; j3++) { j4=j1+10*(j3-1); j5=j2+10*(j3-1); blau(j4); blau(j5); }
}
}
}
}
function mark(gewaehlt, fo) {
if (gewaehlt=="") { document.getElementById("id" + fo).focus(); }
}
function wahl(ak) { //Zahl wählen
if (aktiv>0 && (document.getElementById("id"+aktiv).style.background=="rgb(255, 255, 0)" || document.getElementById("id"+aktiv).style.background=="rgb(240, 128, 128)")) {
var wert = document.getElementById("wh"+ak).value;
document.getElementById("id" + aktiv).value=wert; if (wert==0 || wert=="") {gelb(aktiv);}
for (var j=1;j<=100; j++) {sicht[j-1]=document.getElementById("id"+j).value;
if (sicht[j-1]=="") {sicht[j-1]=0;}}
}
if (!fehler()) { fertig(); letzte(); }
}
/* ======================================================================================================================= */