230504:
[] Laddar nu för att skriva kod för det jag kallar kontrollfunktionen:
() Är alla färgfällt ifyllda?
() Är kuben löst?
() Är gula lagret klart? > PLL
() Om ’allt’ är OK:
() Visa algoritm för OLL
() Visa hur kuben ska hållas
() Beräkna hur utseendet kommer att bli och visa det samt algoritm för PLL.
Har inte bestämt om jag ska ha färdiga ’beräkningar’ för varje förekomst av algoritm eller om jag ska klura ut en rutin som beräknar det – lutar mycket åt det första då jag blir varm i huvudet bara jag tänker på det andra alternativet. Typ: Ta ett utseende på kubens översta lager, syna aktuell algoritm och med de två grunderna beräkna hur det översta lagret kommer att se ut efter att algoritmen är utförd.
Min första tanke är att det då måste ske beräkningar som är tredimnsionella…
En vridning av kubens lager skiftar tre stycken bitar åt gången, från var sida (4)
PLL T-perm t.ex. Skiftar bitarna 3 <> 9 och 4 <> 6 – med gula sidan upp både före och efter (givetvis).
Så för OLL & PLL verkar det inte bli så svårt…, kanske ❓
() Samtidigt som OLL visa COLL-algoritm och hur kuben ska visas. Beräkna hur den kommer att se ut och visa det och då också avslutande algoritm för kantbitarna (PLL) Permutationerna; Ua, Ub, H eller Z.
[] Lägga in bilder på de notationer som saknas
[] Rutin för att endast visa de notationer(bilder) som är nödvändiga.
[x] Har kommit på hur jag ska beräkna hörnbitarnas orientering och färger 🙂
[/] Återstår att knappa in en massa kodrader (om det nu inte går att förenkla via en funktion ❓ – håller på med det. Helt 100% är det inte bl.a. den gröna färgen missar emellanåt.
[x] Funderar på om jag via utseendet på det gula (inför OLL) klura ut hur 4:e hörnbiten ska orienteras. Gjort men fungerar inte till 100%
[x] Har bestämt mig för att först lösa hur färgvalet ska gå till. Är inte 100% nöjd med nuvarande PopUp. Så den är inaktiverad.
[x] Testa med en fast färgtabell där man klickar och sedan fyller i det ’bitfält’ som ska ha den färgen (där det går). Klart och funkar.
[x] Funderar också mycket (i samband med ovan) hur rör sig hörnen när tre positioner är inblandade? Definierat.
[x] Har lagt in algoritmerna för COLL
[x] Lägga in sekvenserna för COLL. Fixat. Ordande det genom att skriva en rutin som hjälpte mig att skapa sekvenserna.
([] Har börjat lägga in algoritmerna för ZZLL. Satt på paus)
([] Lägga in sekvenser för ZZLL) Satt på paus.
[] Har också kikat på ZBLL – är väl i så fall mer troligt.
[/] Hur rör sig bitarna för respektive algoritm OLL > PLL (COLL)
Har börjat kolla men har ingen riktigt bra smart ide om hur funktionen ska vara konstruerad?
>: Funderar fortfarande
[x] Definiera ’sekvenser’ (ID från ’bitarna’). Klart.
[] Kombinera funktionerna för 2 look OLL & 2 look PLL för att få funktioner för;
() A. söka igenom sekvenser för att hitta OLL-algoritm
() B. utifrån beräknat resultat få en ny sekvens och hitta PLL-algoritm.
[] Presentera resultat. Har inte bestämt om det ska ske ’bredvid’ varandra eller under varandra.
[x] Fundera på om det är mödan värt att även ta med COLL Det är nu med.
[] funktion för att visa hur kuben ska hållas inför algoritmerna.
[] Fixa till ’2 look OLL’ & ’2 look PLL’ så att ’rutan’ anpassar sig på samma vis som ’CFOP med COLL’.
Min kod för: 2 look OLL:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- 2lookOLL_Officiell_Ver.230322_1013 1.0 -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>2lookOLL</title>
<style>
.getColor {
background-color: white;
}
.signatur {
position: absolute;
top: 0%;
right: 0%;
font-size: 15px;
}
.About {
position: absolute;
bottom: 0%;
left: 0%;
font-size: 15px;
}
.aboutTXT {
display: none;
position: absolute;
bottom: 0%;
left: 0%;
font-size: 15px;
background-color: lightgrey;
}
.To2look {
position: absolute;
top: 0%;
left: 0%;
font-size: 15px;
}
.cellTXT {
font-size: 30px;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif
}
button, .getColor, #AboutID, #aboutTXTid {
cursor: pointer;
}
</style>
</head>
<body vlink="#FF0000" text="#000000" link="#0000FF" alink="#000088"
bgcolor="#ffffff">
<div align="center"><font size="+1"><b>2 Look OLL</b></font><br>
<b> När korset redan är klart</b><br>
</div>
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tbody>
<tr align="center">
<td valign="top">
<table width="378" cellspacing="2" cellpadding="2"
height="356" border="1">
<tbody>
<tr>
<td width="40" valign="top" height="40"><br>
</td>
<td id="Y_1b" class="getColor"
onclick="fChangeColor(id, '1', 'b')" width="80"
valign="top" height="40"><br>
</td>
<td width="80" valign="top" height="40"><br>
</td>
<td id="Y_3b" class="getColor"
onclick="fChangeColor(id, '3', 'b')" width="80"
valign="top" height="40"><br>
</td>
<td width="40" valign="top" height="40"><br>
</td>
</tr>
<tr>
<td id="Y_1a" class="getColor"
onclick="fChangeColor(id, '1', 'a')" width="40"
valign="top"><br>
</td>
<td id="Y_1t" class="getColor"
onclick="fChangeColor(id, '1', 't')" width="80"
valign="top"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td id="Y_3t" class="getColor"
onclick="fChangeColor(id, '3', 't')" width="80"
valign="top"><br>
</td>
<td id="Y_3a" class="getColor"
onclick="fChangeColor(id, '3', 'a')" width="40"
valign="top"><br>
</td>
</tr>
<tr>
<td width="40" valign="top"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="40" valign="top"><br>
</td>
</tr>
<tr>
<td id="Y_7a" class="getColor"
onclick="fChangeColor(id, '7', 'a')" width="40"
valign="top"><br>
</td>
<td id="Y_7t" class="getColor"
onclick="fChangeColor(id, '7', 't')" width="80"
valign="top"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td id="Y_9t" class="getColor"
onclick="fChangeColor(id, '9', 't')" width="80"
valign="top"><br>
</td>
<td id="Y_9a" class="getColor"
onclick="fChangeColor(id, '9', 'a')" width="40"
valign="top"><br>
</td>
</tr>
<tr>
<td width="40" valign="top" height="40"><br>
</td>
<td id="Y_7b" class="getColor"
onclick="fChangeColor(id, '7', 'b')" width="80"
valign="top" height="40"><br>
</td>
<td width="80" valign="top" height="40"><br>
</td>
<td id="Y_9b" class="getColor"
onclick="fChangeColor(id, '9', 'b')" width="80"
valign="top" height="40"><br>
</td>
<td width="40" valign="top" height="40"><br>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr align="center">
<td id="txtInfo" style="font-size: 30px; font-weight: bold;
font-family: Arial, Helvetica, sans-serif;" valign="top"><br>
</td>
</tr>
<tr align="center">
<td valign="top"><button type="button" name="btnKontrollera"
onclick="fControlString()" style="height: 50px; width:
175px; font-size: 20;">Kontrollera</button><br>
</td>
</tr>
<tr>
<td id="txtInfoBild" valign="top" align="center"><br>
</td>
</tr>
<tr align="center">
<td id="visaBild" valign="top"><br>
</td>
</tr>
<tr>
<td valign="top">
<table id="tNotation" style="visibility: hidden;"
width="100%" cellspacing="2" cellpadding="2" border="0">
<tbody>
<tr align="center">
<td valign="top">Aktuella sk Notationer för 2 look OLL<br>
</td>
</tr>
<tr>
<td valign="top">
<table width="100%" cellspacing="2" cellpadding="2"
border="0">
<tbody>
<tr class="cellTXT">
<td valign="top" align="center"><b>F</b><b><br>
</b> </td>
<td valign="top" align="center"><b>F'</b><b><br>
</b> </td>
<td valign="top" align="center"><b>R</b><b><br>
</b> </td>
<td valign="top" align="center"><b>R'</b><b><br>
</b> </td>
<td valign="top" align="center"><b>Rw</b><b><br>
</b> </td>
</tr>
<tr>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu//HTML/Kuben/Bilder/F.png"
title="Rubriks Kub Front medsols"
alt="[Bild: Rubriks Kub Front medsols]"
width="93" height="100"><br>
</td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/F-1.png"
title="Rubriks Kub Front motsols"
alt="[Bild: Rubriks Kub Front motsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/R.png"
title="Rubriks Kub Right medsols"
alt="[Bild: Rubriks Kub Right medsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/R-1.png"
title="Rubriks Kub Right motsols"
alt="[Bild: Rubriks Kub Right motsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/Rw.png"
title="Rubriks Kub Right wide medsols"
alt="[Bild: Rubriks Right wide medsols]"
width="93" height="100"> </td>
</tr>
<tr class="cellTXT">
<td valign="top" align="center"><b>U</b><b><br>
</b></td>
<td valign="top" align="center"><b>U'</b><b><br>
</b></td>
<td valign="top" align="center"><b>D</b><b><br>
</b></td>
<td valign="top" align="center"><b>D'</b><b><br>
</b></td>
<td valign="top" align="center"><b>Rw'</b><b><br>
</b></td>
</tr>
<tr>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/U.png"
title="Rubriks Kub Up medsols" alt="[Bild:
Rubriks Kub Up medsols]" width="93"
height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/U-1.png"
title="Rubriks Kub Up motsols" alt="[Bild:
Rubriks Kub Up motsols]" width="93"
height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/D.png"
title="Rubriks Kub Down medsols"
alt="[Bild: Rubriks Kub Down medsols]"
width="93" height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/D-1.png"
title="Rubriks Kub Down motsols"
alt="[Bild: Rubriks Kub Down motsols]"
width="93" height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/Rw-1.png"
title="Rubriks Kub Right wide motsols"
alt="[Bild: Rubriks Right wide motsols]"
width="93" height="100"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<div class="signatur">NGN© 2023</div>
<div class="To2look"><button type="button" name="btnToHTML"
onclick="location.href='http://ngn.nu/HTML/Kuben/2lookPLL.html'" style="height: 50px; width:
175px; font-size: 20;">Till 2lookPLL</button>
</div>
<div class="About" id="AboutID" onclick="document.getElementById('aboutTXTid').style.display = 'block';">≣</div>
<div id="aboutTXTid" class="aboutTXT"><a onclick="document.getElementById('aboutTXTid').style.display = 'none';">Ett tack till cuboss.se som utan att veta om det varit en inspirationskälla och till en del också fått stå för en del grunddatainsamling, via sin rikliga och pedagogiska information :D<br>Kunstruktiv kommunikation emotses till: nisse@ngn.nu</a></div>
<script type="text/javascript">
// 'globala'
var bit1 ="";
var bit3 ="";
var bit7 ="";
var bit9 ="";
var bitString = "";
var sFoundString = "";
var iFoundIndex = 0;
var strBildText = "";
//Array
const s2lOLLstring = ["1b23b4567b89b", "1a23a4567a89a", "1a23b4567a89b", "1b23b4567a89a", "1b23a4567b89a", "1a23a4567b89b", "1b23b456789", "123a456789a", "1234567b89b", "1a234567a89", "1b234567b89", "1a23a456789", "123b456789b", "1234567a89a", "123a4567b89", "1a23456789b", "123b4567a89", "1b23456789a", "1a234567b89a", "1a23b4567b89", "1a23b456789a", "123b4567b89a", "1b23a456789b", "123a4567a89b", "1b234567a89b", "1b23a4567a89"];
// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
const s2lOLLsekvens = ["F (R U R’ U’)3 F’", "F (R U R’ U’)3 F’", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)"];
// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
function fChangeColor(frID, bit, yta){
var cellen = document.getElementById(frID);
if (bit == "1" && yta == "a") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_1b").style.backgroundColor = "white";
document.getElementById("Y_1t").style.backgroundColor = "white";
bit1 = "1a";
}
if (bit == "1" && yta == "b") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_1a").style.backgroundColor = "white";
document.getElementById("Y_1t").style.backgroundColor = "white";
bit1 = "1b";
}
if (bit == "1" && yta == "t") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_1a").style.backgroundColor = "white";
document.getElementById("Y_1b").style.backgroundColor = "white";
bit1 = "1";
}
if (bit == "3" && yta == "a") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_3b").style.backgroundColor = "white";
document.getElementById("Y_3t").style.backgroundColor = "white";
bit3 = "3a";
}
if (bit == "3" && yta == "b") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_3a").style.backgroundColor = "white";
document.getElementById("Y_3t").style.backgroundColor = "white";
bit3 = "3b";
}
if (bit == "3" && yta == "t") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_3a").style.backgroundColor = "white";
document.getElementById("Y_3b").style.backgroundColor = "white";
bit3 = "3";
}
if (bit == "7" && yta == "a") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_7b").style.backgroundColor = "white";
document.getElementById("Y_7t").style.backgroundColor = "white";
bit7 = "7a";
}
if (bit == "7" && yta == "b") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_7a").style.backgroundColor = "white";
document.getElementById("Y_7t").style.backgroundColor = "white";
bit7 = "7b";
}
if (bit == "7" && yta == "t") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_7a").style.backgroundColor = "white";
document.getElementById("Y_7b").style.backgroundColor = "white";
bit7 = "7";
}
if (bit == "9" && yta == "a") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_9b").style.backgroundColor = "white";
document.getElementById("Y_9t").style.backgroundColor = "white";
bit9 = "9a";
}
if (bit == "9" && yta == "b") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_9a").style.backgroundColor = "white";
document.getElementById("Y_9t").style.backgroundColor = "white";
bit9 = "9b";
}
if (bit == "9" && yta == "t") {
cellen.style.backgroundColor = "yellow";
document.getElementById("Y_9a").style.backgroundColor = "white";
document.getElementById("Y_9b").style.backgroundColor = "white";
bit9 = "9";
}
// fyll strängen
bitString = bit1 + "2" + bit3 + "456" + bit7 + "8" + bit9;
}
function fControlString(){
//är alla bitar ifyllda
if (bit1.length >= 1 && bit3.length >= 1 && bit7.length >= 1 && bit9.length >= 1) {
strBildText = "Håll kuben så som bilden nedan visar (gula sidan upp) så att sekvensen / algoritmen stämmer :)"
var vVisaBild = document.getElementById("visaBild");
var vInfoBild = document.getElementById("txtInfoBild");
const sFound = s2lOLLstring.filter(fHittaSekvens);
const sFoundIndex = s2lOLLstring.forEach(fHittaIndex);
if (sFound == "") {
document.getElementById("txtInfo").innerHTML = "Valda fält verkar inte vara en möjlig variant";
} else {
document.getElementById("txtInfo").innerHTML = s2lOLLsekvens[iFoundIndex];
document.getElementById("tNotation").style.visibility = "visible";
if (iFoundIndex == 0 || iFoundIndex == 1) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-21.png\">";
} else if (iFoundIndex == 2 || iFoundIndex == 3 || iFoundIndex == 4 || iFoundIndex == 5) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-22.png\">";
} else if (iFoundIndex == 6 || iFoundIndex == 7 || iFoundIndex == 8 || iFoundIndex == 9) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-23.png\">";
} else if (iFoundIndex == 10 || iFoundIndex == 11 || iFoundIndex == 12 || iFoundIndex == 13) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-24.png\">";
} else if (iFoundIndex == 14 || iFoundIndex == 15 || iFoundIndex == 16 || iFoundIndex == 17) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-25.png\">";
} else if (iFoundIndex == 18 || iFoundIndex == 19 || iFoundIndex == 20 || iFoundIndex == 21) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-26.png\">";
} else if (iFoundIndex == 22 || iFoundIndex == 23 || iFoundIndex == 24 || iFoundIndex == 25) {
vInfoBild.innerHTML = strBildText;
vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-27.png\">";
} else {
vVisaBild.innerHTML = "Det är något som inte stämmer";
}
}
}
}
function fHittaSekvens(value, index){
return value == bitString
}
function fHittaIndex(value, index){
if (value != bitString) {
// sorry
} else if (value == bitString) {
iFoundIndex = index;
}
}
</script>
</body>
</html>
Min kod för: 2 look PLL:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- 2lookPLL_Officiell_Ver.230325_1139 1.0 -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>2lookPLL</title>
<style>
.signatur {
position: absolute;
top: 0%;
right: 0%;
font-size: 15px;
}
.About {
position: absolute;
bottom: 0%;
left: 0%;
font-size: 15px;
}
.aboutTXT {
display: none;
position: absolute;
bottom: 0%;
left: 0%;
font-size: 15px;
background-color: lightgrey;
}
.To2look {
position: absolute;
top: 0%;
left: 0%;
font-size: 15px;
}
.cellTXT {
font-size: 30px;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
}
#divVisaOverlayCirklar {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayCirklar_01.png) no-repeat 0 0;
background-size: cover;
}
#divVisaOverlayVertikalaPilar {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayVertikalaPilar_01.png) no-repeat 0 0;
background-size: cover;
}
#divVisaOverlayKors {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayKors_01.png) no-repeat 0 0;
background-size: cover;
}
#divVisaOverlayDiagonal {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayDiagonal_01.png) no-repeat 0 0;
background-size: cover;
}
#divOverlayPyramidMedsols {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayPyramidMedsols_01.png) no-repeat 0 0;
background-size: cover;
}
#divOverlayPyramidMotsols {
content: "";
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayPyramidMotsols_01.png) no-repeat 0 0;
background-size: cover;
}
#tblVisaKubResultat {
position: relative;
top: 0;
left: 0;
}
#tblVisaOverlay {
position: relative;
top: 0;
left: 0;
display: none;
}
button, #TableTopp, #TableLeft, #TableRight, #TableBottom, #AboutID, #aboutTXTid {
cursor: pointer;
}
</style>
</head>
<body vlink="#FF0000" text="#000000" link="#0000FF" alink="#000088"
bgcolor="#ffffff">
<div align="center"><font size="+1"><b>2 Look PLL</b></font><br>
<b> När 'gula sidan' är klar</b><br>
</div>
<table width="594" cellspacing="2" cellpadding="2" align="center"
border="0">
<tbody>
<tr align="center">
<td valign="top">
<table width="100%" cellspacing="2" cellpadding="2"
border="0">
<tbody>
<tr>
<td width="95" valign="middle" align="center"><br>
</td>
<td width="378" valign="middle" align="center">
<table id="TableTopp" width="267" cellspacing="2"
cellpadding="2" height="81" border="0">
<tbody>
<tr>
<td id="Y_1bBlue" onclick="fChangeColor(id,
'1', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_2bBlue" onclick="fChangeColor(id,
'2', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_3bBlue" onclick="fChangeColor(id,
'3', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
</tr>
<tr>
<td id="Y_1bRed" onclick="fChangeColor(id,
'1', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_2bRed" onclick="fChangeColor(id,
'2', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_3bRed" onclick="fChangeColor(id,
'3', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
</tr>
<tr>
<td id="Y_1bGreen" onclick="fChangeColor(id,
'1', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_2bGreen" onclick="fChangeColor(id,
'2', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_3bGreen" onclick="fChangeColor(id,
'3', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
</tr>
<tr>
<td id="Y_1bOrange" onclick="fChangeColor(id,
'1', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_2bOrange" onclick="fChangeColor(id,
'2', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_3bOrange" onclick="fChangeColor(id,
'3', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
</tr>
</tbody>
</table>
</td>
<td width="95" valign="middle" align="center"><br>
</td>
</tr>
<tr>
<td width="95" valign="middle" align="center">
<table id="TableLeft" width="90" cellspacing="2"
cellpadding="2" height="262" border="0">
<tbody>
<tr>
<td id="Y_1aRed" onclick="fChangeColor(id,
'1', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_1aBlue" onclick="fChangeColor(id,
'1', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_1aOrange" onclick="fChangeColor(id,
'1', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_1aGreen" onclick="fChangeColor(id,
'1', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
</tr>
<tr>
<td id="Y_4aRed" onclick="fChangeColor(id,
'4', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_4aBlue" onclick="fChangeColor(id,
'4', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_4aOrange" onclick="fChangeColor(id,
'4', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_4aGreen" onclick="fChangeColor(id,
'4', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
</tr>
<tr>
<td id="Y_7aRed" onclick="fChangeColor(id,
'7', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_7aBlue" onclick="fChangeColor(id,
'7', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_7aOrange" onclick="fChangeColor(id,
'7', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_7aGreen" onclick="fChangeColor(id,
'7', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
</tr>
</tbody>
</table>
</td>
<td valign="middle" align="center">
<table id="TableMitten" width="378" cellspacing="2"
cellpadding="2" height="356" border="1">
<tbody>
<tr>
<td width="40" valign="top" height="40"><br>
</td>
<td id="Y_1b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td id="Y_2b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td id="Y_3b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td width="40" valign="top" height="40"><br>
</td>
</tr>
<tr>
<td id="Y_1a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td id="Y_3a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
</tr>
<tr>
<td id="Y_4a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td id="Y_6a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
</tr>
<tr>
<td id="Y_7a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
<td width="80" valign="top" bgcolor="yellow">
<br>
</td>
<td width="80" valign="top" bgcolor="yellow"><br>
</td>
<td width="80" valign="top" bgcolor="yellow">
<br>
</td>
<td id="Y_9a" width="40" valign="top"
bgcolor="lightgrey"><br>
</td>
</tr>
<tr>
<td width="40" valign="top" height="40"><br>
</td>
<td id="Y_7b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td id="Y_8b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td id="Y_9b" width="80" valign="top"
height="40" bgcolor="lightgrey"><br>
</td>
<td width="40" valign="top" height="40"><br>
</td>
</tr>
</tbody>
</table>
</td>
<td width="95" valign="middle" align="center">
<table id="TableRight" width="85" cellspacing="2"
cellpadding="2" height="270" border="0">
<tbody>
<tr>
<td id="Y_3aGreen" onclick="fChangeColor(id,
'3', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_1aRed" onclick="fChangeColor(id,
'3', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_1aBlue" onclick="fChangeColor(id,
'3', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_3aOrange" onclick="fChangeColor(id,
'3', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
</tr>
<tr>
<td id="Y_6aGreen" onclick="fChangeColor(id,
'6', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_6aRed" onclick="fChangeColor(id,
'6', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_6aBlue" onclick="fChangeColor(id,
'6', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_6aOrange" onclick="fChangeColor(id,
'6', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
</tr>
<tr>
<td id="Y_9aGreen" onclick="fChangeColor(id,
'9', 'a', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_9aRed" onclick="fChangeColor(id,
'9', 'a', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_9aBlue" onclick="fChangeColor(id,
'9', 'a', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_9aOrange" onclick="fChangeColor(id,
'9', 'a', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="95" valign="middle" align="center"><br>
</td>
<td valign="middle" align="center">
<table id="TableBottom" width="269" cellspacing="2"
cellpadding="2" height="83" border="0">
<tbody>
<tr>
<td id="Y_7bOrange" onclick="fChangeColor(id,
'7', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_8bOrange" onclick="fChangeColor(id,
'8', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
<td id="Y_9bOrange" onclick="fChangeColor(id,
'9', 'b', 'orange')" valign="top"
bgcolor="orange"><br>
</td>
</tr>
<tr>
<td id="Y_7bBlue" onclick="fChangeColor(id,
'7', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_8bBlue" onclick="fChangeColor(id,
'8', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
<td id="Y_9bBlue" onclick="fChangeColor(id,
'9', 'b', 'blue')" valign="top"
bgcolor="blue"><br>
</td>
</tr>
<tr>
<td id="Y_7bRed" onclick="fChangeColor(id,
'7', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_8bRed" onclick="fChangeColor(id,
'8', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
<td id="Y_9bRed" onclick="fChangeColor(id,
'9', 'b', 'red')" valign="top" bgcolor="red"><br>
</td>
</tr>
<tr>
<td id="Y_7bGreen" onclick="fChangeColor(id,
'7', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_8bGreen" onclick="fChangeColor(id,
'8', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
<td id="Y_9bGreen" onclick="fChangeColor(id,
'9', 'b', 'green')" valign="top"
bgcolor="green"><br>
</td>
</tr>
</tbody>
</table>
</td>
<td width="95" valign="middle" align="center"><br>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr align="center">
<td id="txtInfo" style="font-size: 30px; font-weight: bold;
font-family: Arial, Helvetica, sans-serif;" valign="top"><br>
</td>
</tr>
<tr align="center">
<td valign="top">
<!-- KnappTabell -->
<table id="tblKnappar" width="100%" cellspacing="2"
cellpadding="2" border="0">
<tbody>
<tr>
<td> <br>
</td>
<td valign="top" align="right"><button type="button"
name="btnKontrollera" onclick="fControlString()"
style="height: 35px; width: 175px; font-size:
20px;">Kontrollera</button> </td>
<td width="200" valign="top" align="right"><button
type="button" name="btnRensa" align="right"
onclick="fRensa()" style="height: 35px; width:
100px; font-size: 20px;">Rensa</button> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td id="infoTXTom" valign="bottom" align="center">
</td>
</tr>
<tr>
<td valign="middle" align="center">
<table id="tblVisaOverlay" width="300" height="250" border="0">
<tbody>
<tr>
<td id="trVisaResultat" width="300" valign="bottom"
height="250" align="center">
<table id="tblVisaKubResultat"
style="border-collapse: collapse;" width="250"
cellspacing="2" cellpadding="2" height="238"
border="1">
<tbody>
<tr>
<td width="25" valign="top" height="25"><br>
</td>
<td id="Y1b" valign="top" height="25"><br>
</td>
<td id="Y2b" valign="top" height="25"><br>
</td>
<td id="Y3b" valign="top" height="25"><br>
</td>
<td width="25" valign="top" height="25"><br>
</td>
</tr>
<tr>
<td id="Y1a" width="25" valign="top"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td id="Y3a" width="25" valign="top"><br>
</td>
</tr>
<tr>
<td id="Y4a" width="25" valign="top"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td id="Y6a" width="25" valign="top"><br>
</td>
</tr>
<tr>
<td id="Y7a" width="25" valign="top"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td valign="top" bgcolor="#ffff00"><br>
</td>
<td id="Y9a" width="25" valign="top"><br>
</td>
</tr>
<tr>
<td width="25" valign="top" height="25"><br>
</td>
<td id="Y7b" valign="top" height="25"><br>
</td>
<td id="Y8b" valign="top" height="25"><br>
</td>
<td id="Y9b" valign="top" height="25"><br>
</td>
<td width="25" valign="top" height="25"><br>
</td>
</tr>
</tbody>
</table>
<div id="divVisaOverlayCirklar"></div>
<div id="divVisaOverlayVertikalaPilar"></div>
<div id="divVisaOverlayKors"></div>
<div id="divVisaOverlayDiagonal"></div>
<div id="divOverlayPyramidMedsols"></div>
<div id="divOverlayPyramidMotsols"></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr align="center" valign="top">
<td id="txtInfoBild" style="font-size: 30px; font-weight: bold;
font-family: Arial, Helvetica, sans-serif;" valign="top">
</td>
</tr>
<tr>
<td valign="top">
<table id="tNotation" style="visibility: hidden;" width="100%" cellspacing="2"
cellpadding="2" border="0">
<tbody>
<tr align="center">
<td valign="top">Aktuella sk Notationer för 2 look PLL<br>
</td>
</tr>
<tr>
<td valign="top">
<table width="100%" cellspacing="2" cellpadding="2"
border="0">
<tbody>
<tr class="cellTXT">
<td valign="top" align="center"><b>x'</b><b><br>
</b> </td>
<td valign="top" align="center"><b>U</b><b><br>
</b> </td>
<td valign="top" align="center"><b>R</b><b><br>
</b> </td>
<td valign="top" align="center"><b>D</b><b><br>
</b> </td>
<td valign="top" align="center"><b>M</b><b><br>
</b> </td>
</tr>
<tr>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/x-1.png"
title="Rubriks Kub Tippa hela Kuben mot dig"
alt="[Bild: Rubriks Kub Tippa hela Kuben mot dig]"
width="93" height="100"><br>
</td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/U.png"
title="Rubriks Kub Up motsols"
alt="[Bild: Rubriks Kub Up medsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/R.png"
title="Rubriks Kub Right medsols"
alt="[Bild: Rubriks Kub Right medsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/D.png"
title="Rubriks Kub Down medsols"
alt="[Bild: Rubriks Kub Down medsols]"
width="93" height="100"> </td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/M.png"
title="Rubriks Kub Middle medsols"
alt="[Bild: Rubriks Middle medsols]"
width="93" height="100"> </td>
</tr>
<tr class="cellTXT">
<td valign="top" align="center"><b>Lw'</b><b><br>
</b></td>
<td valign="top" align="center"><b>U'</b><b><br>
</b></td>
<td valign="top" align="center"><b>R'</b><b><br>
</b></td>
<td valign="top" align="center"><b>D'</b><b><br>
</b></td>
<td valign="top" align="center"><b>M'</b><b><br>
</b></td>
</tr>
<tr>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/Lw-1.png"
title="Rubriks Left wide motsols" alt="[Bild:
Rubriks Kub Left wide motsols]" width="93"
height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/U-1.png"
title="Rubriks Kub Up motsols" alt="[Bild:
Rubriks Kub Up motsols]" width="93"
height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/R-1.png"
title="Rubriks Kub Right medsols"
alt="[Bild: Rubriks Kub Right medsols]"
width="93" height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/D-1.png"
title="Rubriks Kub Down motsols"
alt="[Bild: Rubriks Kub Down motsols]"
width="93" height="100"></td>
<td valign="top" align="center"><img
moz-do-not-send="true"
src="http://ngn.nu/HTML/Kuben/Bilder/M-1.png"
title="Rubriks Kub Middle motsols"
alt="[Bild: Rubriks Right Middle motsols]"
width="93" height="100"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<div class="signatur">NGN© 2023</div>
<div class="To2look"><button type="button" name="btnToHTML"
onclick="location.href='http://ngn.nu/HTML/Kuben/2lookOLL.html'" style="height: 50px; width:
175px; font-size: 20;">Till 2lookOLL</button>
</div>
<div class="About" id="AboutID" onclick="document.getElementById('aboutTXTid').style.display = 'block';">≣</div>
<div id="aboutTXTid" class="aboutTXT"><a onclick="document.getElementById('aboutTXTid').style.display = 'none';">Ett tack till cuboss.se som utan att veta om det varit en inspirationskälla och till en del också fått stå för en del grunddatainsamling, via sin rikliga och pedagogiska information :D<br>Kunstruktiv kommunikation emotses till: nisse@ngn.nu</a></div>
<script type="text/javascript">
// 'globala'
var sCorner1 = "";
var sCorner3 = "";
var sCorner7 = "";
var sCorner9 = "";
var sKantBit2 = "";
var sKantBit4 = "";
var sKantBit6 = "";
var sKantBit8 = "";
var bitString = "";
var iKantBitar = 0;
var iCornerBitar = 0;
var sCorneBitarColor = "";
var sKantBitarColor = "";
var sCornerColor = "";
var sMissingColor="";
var sFoundString = "";
var iFoundIndex = 0;
var strBildText = "";
// array
const aBitString = ["1ag", "1bg", "2bg", "3bg", "3ag", "4ag", "6ag", "7ag", "7bg", "8bg", "9bg", "9ag"]
// Sekvenser / algoritmer
const s2lPLLsekvens = ["Lw’ (U R’ D2) (R U’ R’) (D2 R2)", "x’ (R U’ R’ D) (R U R’ D’) (R U R’ D) (R U’ R’ D’)", "M2′ U’ M2′ U2′ M2′ U’ M2′", "(M’ U’) (M2′ U’) (M2′ U’) (M’ U2′ M2′) U", "(M2' U' M') (U2 M U' M2')", "(R2′ U R U) (R’ U’ R’ U’) (R’ U R’)", "(M2' U M') (U2 M U M2')", "(R U’ R U) (R U R U’ R’) (U’ R2′)"]
// A-perm E-perm H-perm Z-perm U-perm(a1) U-perm(a2) U-perm(b1) U-perm(b2)
// index 0 1 2 3 4 5 6 7
// Kuben löst!
const s2lPLLsolved = ["GRrRBgbOGoBO", "OGgGRorBObRB", "BOoOGbgRBrGR", "RBbBOroGRgOG"]
// Index 0 1 2 3
// Index 0-3
// Hörnbitarna beöver läggas rätt:
// A-perm (2 Look PLL)
// 2 look PLL A-perm (PLL A-perm(a)); s2lPLLsekvens, index 0:
const s2lPLL_A_PAa_string = ["BObOGroGRgRB", "GRrBOgbRBoOG", "RBgGRorOGbBO", "OGoRBbgBOrGR", "RBrBOgbOGoGR", "OGgRBorGRbBO", "GRoOGbgBOrRB", "BObGRroRBgOG", "OGoGRbgRBrBO", "RBbOGroBOgGR", "BOrRBgbGRoOG", "GRgBOorOGbRB", "GRgRBorBObOG", "BOoGRbgOGrRB", "OGbBOroRBgGR", "RBrOGgbGRoBO"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// Index 4-19
// Två rätvända hörn 'norrut'
// A-perm(PLL A-perm(a))
// (Tre hörnbitar ska roteras medsols.)
// 3, 7 & 8 rätt; Grön & Röd (7GR) 3, 7 & 8 rätt; Orange & Grön (7OG) 3, 7 & 8 rätt; Röd & Blå (7RB) 3, 7 & 8 rätt; Blå Orange (7BO)
// 2 look PLL A-perm (PLL A-perm(b)); s2lPLLsekvens, index 0:
const s2lPLL_A_PAb_string = ["OGbRBroGRgBO", "GRrOGgbBOoRB", "BOgGRorRBbOG", "RBoBObgOGrGR", "BOrGRgbOGoRB", "OGgBOorRBbGR", "RBoOGbgGRrBO", "GRbRBroBOgOG", "RBgOGorBObGR", "BOoRBbgGRrOG", "GRbBOroOGgRB", "OGrGRgbRBoBO", "GRoBObgRBrOG", "RBbGRroOGgBO", "OGrRBgbBOoGR", "BOgOGorGRbRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
// Index 20-35
// Två rätvända hörn 'norrut'
// A-perm(PLL A-perm(b))
// (Tre hörnbitar ska roteras motsols.)
// 3, 7 & 8 rätt; Grön & Röd (7GR) 3, 7 & 8 rätt; Orange & Grön (7OG) 3, 7 & 8 rätt; Blå & Orange (7BO) 3, 7 & 8 rätt; Röd & Blå (7RB)
// 2 look PLL A-perm (PLL E-perm); s2lPLLsekvens, index 0:
const s2lPLL_A_PE_string = ["RBoGRbgBOrOG", "BObRBroOGgGR", "OGrBOgbGRoRB", "GRgOGorRBbBO", "GRbOGroRBgBO", "RBrGRgbBOoOG", "BOgRBorOGbGR", "OGoBObgGRrRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 36 37 38 39 40 41 42 43
// Index 36-43
// Två olikfärgade hörn 'norrut'
// A-perm(PLL E-perm)
// (Alla hörnbitar ligger rätt.)
// 2, 4, 6 & 8 ligger rätt 1 & 7 samt 3 & 9 byter plats (1RB & 3GR) 2, 4, 6 & 8 ligger rätt 1 & 7 samt 3 & 9 byter plats (1GR & 3OG)
// 2 look PLL A-perm (PLL T-perm); s2lPLLsekvens, index 0:
const s2lPLL_A_PT_string = ["RBbOGorGRgBO", "GRoRBgbBOrOG", "BOgGRroOGbRB", "OGrBObgRBoGR", "GRrBObgOGoRB", "OGbGRorRBgBO", "RBoOGgbBOrGR", "BOgRBroGRbOG", "OGgRBroBObGR", "BOrOGbgGRoRB", "GRbBOorRBgOG", "RBoGRgbOGrBO", "BOoGRgbRBrOG", "RBgBOroOGbGR", "OGrRBbgGRoBO", "GRbOGorBOgRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
// Index 44-59
// Två rätvända hörn 'norrut'
// A-perm(PLL T-perm)
// (Två hörbitar ska byta plats och två kantbitar (som ett 'T').)
// 1, 2, 7 & 8 är rätt; 1RB & 7GR 1, 2, 7 & 8 är rätt; 1GR & 7OG 1, 2, 7 & 8 är rätt; 1OG & 7BO 1, 2, 7 & 8 är rätt; 1BO & 7RB
// 2 look PLL A-perm (PLL J-perm(a)); s2lPLLsekvens, index 0:
const s2lPLL_A_PJa_string = ["RBbOGrgGRoBO", "GRrRBobBOgOG", "BOoGRgrOGbRB", "OGgBOboRBrGR" ,"BOoGRbrRBgOG", "RBbBOgoOGrGR", "OGgRBrbGRoBO", "GRrOGogBObRB", "GRrBOgoOGbRB", "OGgGRbrRBoBO", "RBbOGogBOrGR", "BOoRBrbGRgOG", "OGgRBobBOrGR", "BOoOGrgGRbRB", "GRrBOboRBgOG", "RBbGRgrOGoBO"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
// Index 60-75
// Två rätvända hörn 'norrut'
// A-perm(PLL J-perm(a))
// (Två kantbitar och två hörnbitar som ligger bredvid varandra ska byta plats. Håll den helfärgade sidan åt vänster.)
// Röd helsida Blå helsida Grön helsida Orange helsida
// 2 look PLL A-perm (PLL J-perm(b)); s2lPLLsekvens, index 0:
const s2lPLL_A_PJb_string = ["OGbBOogRBrGR", "RBoOGrbGRgBO", "GRrRBgoBObOG", "BOgGRbrOGoRB", "GRoOGgrBObRB", "BOgGRboRBrOG", "RBbBOrgOGoGR", "OGrRBobGRgBO", "BOrRBboGRgOG", "GRbBOgrOGoRB", "OGgGRobRBrBO", "RBoOGrgBObGR", "RBgGRrbOGoBO", "OGrRBogBObGR", "BOoOGbrGRgRB", "GRbBOgoRBrOG"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
// Index 76-91
// Två rätvända hörn 'norrut'
// A-perm(PLL J-perm(b))
// (Två kantbitar och två hörnbitar som ligger bredvid varandra ska byta plats (spegelvänd). Håll den helfärgade sidan nedåt, mot dig, 'söderut'.)
// Röd helsida Blå helsida Grön helsida Orange helsida
// 2 look PLL A-perm (PLL F-perm); s2lPLLsekvens, index 0:
const s2lPLL_A_PF_string = ["RBgOGroGRbBO", "GRrRBbgBOoOG", "BObGRorOGgRB", "OGoBOgbRBrGR", "GRoBOgbOGrRB", "OGgGRroRBbBO", "RBrOGbgBOoGR", "BObRBorOGgGR", "OGbRBorBOgGR", "BOoOGgbGRrRB", "GRgBOroRBbOG", "RBrGRbgOGoBO", "BOrGRbgRBoOG", "RBbBOorOGgGR", "OGoRBgbGRrBO", "GRgOGroBObRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
// Index 92-107
// Två rätvända hörn 'norrut'
// A-perm(PLL F-perm)
// (Två hörn ska byta plats & två kantbitar 'rakt över'.)
// 1, 4, 6 & 7 är rätt; 1RB & 7GR 1, 4, 6 & 7 är rätt; 1GR & 7OG 1, 4, 6 & 7 är rätt; 1OG & 7BO 1, 4, 6 & 7 är rätt; 1BO & 7RB
// 2 look PLL A-perm (PLL R-perm(b)); s2lPLLsekvens, index 0:
const s2lPLL_A_PRb_string = ["BObRBrgGRoOG", "GRrBOobOGgRB", "OGoGRgrRBbBO", "RBgOGboBOrGR", "RBrGRgoOGbBO", "OGgRBbrBOoGR", "BObOGogGRrRB", "GRoBOrbRBgOG", "GRgOGobBOrRB", "BOoGRrgRBbOG", "RBrBOboOGgGR", "OGbRBgrGRoBO", "OGoBObrRBgGR", "RBbOGgoGRrBO", "GRgRBrbBOoOG", "BOrGRogOGbRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
// Index 108-123
// Två rätvända hörn 'norrut'
// A-perm(PLL R-perm(b))
// (Två hörn ska byta plats & två kantbitar 'diagonalt' 1-3 & 6-8.)
// 2, 4, 7 & 9 är rätt; 7GR & 9OG 2, 4, 7 & 9 är rätt; 7OG & 9BO 2, 4, 7 & 9 är rätt; 7BO & 9RB 2, 4, 7 & 9 är rätt; 7RB & 9GR
// 2 look PLL A-perm (PLL R-perm(a)); s2lPLLsekvens, index 0:
const s2lPLL_A_PRa_string = ["OGoBOrgRBbGR", "RBrOGboGRgBO", "GRbRBgrBOoOG", "BOgGRobOGrRB", "BObRBgoGRrOG", "GRgBOrbOGoRB", "OGrGRogRBbBO", "RBoOGbrBOgGR", "RBrGRobOGgBO", "OGoRBgrBObGR", "BOgOGboGRrRB", "GRbBOrgRBoOG", "GRgOGbrBOoRB", "BObGRogRBrOG", "RBoBOrbOGgGR", "OGrRBgoGRbBO"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
// Index 124-139
// Två rätvända hörn 'norrut'
// A-perm(PLL R-perm(a))
// (Två hörn ska byta plats & två kantbitar 'diagonalt' 1-3 & 4-8.)
// 2, 6, 7 & 9 är rätt; 7RB & 9GR 2, 6, 7 & 9 är rätt; 7GR & 9OG 2, 6, 7 & 9 är rätt; 7OG & 9BO 2, 6, 7 & 9 är rätt; 7BO & 9RB
// 2 look PLL A-perm (PLL G-perm(a)); s2lPLLsekvens, index 0:
const s2lPLL_A_PGa_string = ["BOrGRobRBgOG", "RBoBOgrOGbGR", "OGgRBboGRrBO", "GRbOGrgBOoRB", "RBgOGbrGRoBO", "GRbRBogBOrOG", "BOoGRrbOGgRB", "OGrBOgoRBbGR", "GRoBOrgOGbRB", "OGrGRboRBgBO", "RBbOGgrBOoGR", "BOgRBobGRrOG", "OGbRBgoBOrGR", "BOgOGrbGRoRB", "GRrBOogRBbOG", "RBoGRbrOGgBO"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
// Index 140-155
// 'vänd kuben' & Ringa in:
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// A-perm(PLL G-perm(a))
// PLL: 3 hörnbitar ska rotera medsols och tre kanbitar motsols (1-3-7 & 2-4-6)
// 8 & 9 är rätt; 8g & 9OG 8 & 9 är rätt; 8o & 9BO 8 & 9 är rätt; 8b & 9RB 8 & 9 är rätt; 8r & 9GR
// 2 look PLL A-perm (PLL G-perm(b)); s2lPLLsekvens, index 0:
const s2lPLL_A_PGb_string = ["RBrOGogGRbBO", "GRoRBbrBOgOG", "BObGRgoOGrRB", "OGgBOrbRBoGR", "GRgBOboOGrRB", "OGbGRrgRBoBO", "RBrOGobBOgGR", "BOoRBgrGRbOG", "OGoRBrbBOgGR", "BOrOGgoGRbRB", "GRgBObrRBoOG", "RBbGRogOGrBO", "BObGRgrRBoOG", "RBgBOobOGrGR", "OGoRBrgGRbBO", "GRrOGboBOgRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
// Index 156-171
// 'vänd kuben' & Ringa in:
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// A-perm(PLL G-perm(b))
// PLL: 3 hörnbitar ska rotera motsols och tre kanbitar medsols (1-7-9 & 2-4-8)
// 3 & 6 är rätt; 3OG & 6g 3 & 6 är rätt; 3BO & 6o 3 & 6 är rätt; 3RB & 6b 3 & 6 är rätt; 3GR & 6r
// 2 look PLL A-perm (PLL G-perm(c)); s2lPLLsekvens, index 0:
const s2lPLL_A_PGc_string = ["RBoOGgrGRbBO", "GRgRBboBOrOG", "BObGRrgOGoRB", "OGrBOobRBgGR", "GRbBOogOGrRB", "OGoGRrbRBgBO", "RBrOGgoBObGR", "BOgRBbrGRoOG", "OGrRBboBOgGR", "BObOGgrGRoRB", "GRgBOobRBrOG", "RBoGRrgOGbBO", "BOgGRrbRBoOG", "RBrBOogOGbGR", "OGoRBbrGRgBO", "GRbOGgoBOrRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
// Index 172-187
// 'vänd kuben' & Ringa in:
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// A-perm(PLL G-perm(c))
// PLL: 3 hörnbitar ska rotera motsols och tre kanbitar medsols (1-7-9 & 4-6-8)
// 2 & 3 är rätt; 2o & 3OG 2 & 3 är rätt; 2b & 3BO 2 & 3 är rätt; 2r & 3RB 2 & 3 är rätt; 2g & 3GR
// 2 look PLL A-perm (PLL G-perm(d)); s2lPLLsekvens, index 0:
const s2lPLL_A_PGd_string = ["RBgOGobGRrBO", "GRoRBrgBObOG", "BOrGRboOGgRB", "OGbBOgrRBoGR", "GRoBObrOGgRB", "OGbGRgoRBrBO", "RBgOGrbBOoGR", "BOrRBogGRbOG", "OGbRBrgBOoGR", "BOrOGobGRgRB", "GRoBOgrRBbOG", "RBgGRboOGrBO", "BOrGRgoRBbOG", "RBgBObrOGoGR", "OGbRBogGRrBO", "GRoOGrbBOgRB"]
// 'norrut' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
// Index 188-203
// 'vänd kuben' & Ringa in:
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// A-perm(PLL G-perm(d))
// PLL: 3 hörnbitar ska rotera medsols och tre kanbitar motsols (1-3-7 & 2-4-8)
// 6 & 9 är rätt; 6b & 9BO 6 & 9 är rätt; 6r & 9RB 6 & 9 är rätt; 6g & 9GR 6 & 9 är rätt; 6o & 9OG
// *********************************************
// E-perm (2 Look PLL)
// 2 look PLL E-perm (PLL Y-perm); s2lPLLsekvens, index 1:
const s2lPLL_E_PY_string = ["RBoGRrbBOgOG", "BOrRBgoOGbGR", "OGgBObrGRoRB", "GRbOGogRBrBO", "GRbOGgrRBoBO", "RBgGRobBOrOG", "BOoRBrgOGbGR", "OGrBOboGRgRB", "OGrBOogGRbRB", "GRoOGbrRBgBO", "RBbGRgoBOrOG", "BOgRBrbOGoGR", "BOgRBboOGrGR", "OGbBOrgGRoRB", "GRrOGobRBgBO", "RBoGRgrBObOG"]
// 'vänd kuben' & Ringa in: ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
// Index 204-219
// Visa med vertikala pilar
// E-perm(PLL Y-perm)
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// RedLeft GreenLeft OrangeLeft BlueLeft
// 2 look PLL E-perm (PLL V-perm); s2lPLLsekvens, index 1:
const s2lPLL_E_PV_string = ["OGoBOrbGRgRB", "GRrOGgoRBbBO", "RBgGRbrBOoOG", "BObRBogOGrGR", "BObRBgrOGoGR", "OGgBOobGRrRB", "GRoOGrgRBbBO", "RBrGRboBOgOG", "RBrGRogBObOG", "BOoRBbrOGgGR", "OGbBOgoGRrRB", "GRgOGrbRBoBO", "GRgOGboRBrBO", "GRgOGboRBrBO", "BOrRBobOGgGR", "OGoBOgrGRbRB"]
// 'vänd kuben' & Ringa in: ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
// Index 220-235
// Visa med vertikala pilar
// E-perm(PLL V-perm)
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// 3, 4, 7 & 8 är rätt; 3BO & 7GR 3, 4, 7 & 8 är rätt; 3RB & 7OG 3, 4, 7 & 8 är rätt; 3GR & 7BO 3, 4, 7 & 8 är rätt; 3OG & 7RB
// 2 look PLL E-perm (PLL N-perm(a)); s2lPLLsekvens, index 1:
const s2lPLL_E_PNa_string = ["RBbGRorBOgOG", "BOoRBgbOGrGR", "OGgBOroGRbRB", "GRrOGbgRBoBO"]
// 'vänd kuben' & Ringa in: ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Visa med vertikala pilar
// Index 236 237 238 239
// Index 236-239
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// E-perm(PLL N-perm(a))
// PLL: Två hörnbitar byter plats diagonalt och två kantbitar rakt över (3-7 & 4-6)
// 1, 2, 8 & 9 är rätt; (1RB & 9OG) + (1GR & 9BO) + (1OG & 9RB) + (1BO & 9GR)
// 2 look PLL E-perm (PLL N-perm(b)); s2lPLLsekvens, index 1:
const s2lPLL_E_PNb_string = ["OGbBOorGRgRB", "GRoOGgbRBrBO", "RBgGRroBObOG", "BOrRBbgOGoGR"]
// 'vänd kuben' & Ringa in: ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
// Index 240 241 242 243
// Index 240-243
// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
// Visa med vertikala pilar
// E-perm(PLL N-perm(a))
// PLL: Två hörnbitar byter plats diagonalt och två kantbitar rakt över (1-9 & 4-6)
// 2, 3, 7 & 8 är rätt; (3BO & 7GR) + (3RB & 7OG) + (3GR & 7BO) + (3OG & 7RB)
// Alla hörnbitar ligger rätt:
// **********************************************
// H-perm (2 look PLL)
// 2 look PLL H-perm (PLL H-perm); s2lPLLsekvens, index 2:
const s2lPLL_H_PH_string = ["RBgBOorGRbOG", "GRoRBbgOGrBO", "OGbGRroBOgRB", "BOrOGgbRBoGR"]
// Index 244 245 246 247
// Index 244-247
// Ska gå att hålla den 'hur som helst'
// kantbitarna ska byta plats korsvis.
// H-perm=(PLL H-perm)
// PLL: Alla hörnbitar rätt. Kantbitarna ska byta plats korsvis (tvärs över)
// **********************************************
// Z-perm (2 look PLL)
// 2 look PLL Z-perm (PLL H-perm); s2lPLLsekvens, index 3:
//
const s2lPLL_Z_PZ_string = ["RBoBOgbGRrOG", "GRgRBroOGbBO", "OGrGRbgBOoRB", "BObOGorRBgGR", "RBrBObgGRoOG", "GRbRBorOGgBO", "OGoGRgbBOrRB", "BOgOGroRBbGR"]
// 'norrut'
// RBoBO RBrBO
// Index 248 249 250 251 252 253 254 255
// Index 248-255
// Placera den så som bilden visar.
// Alla hörnbitar rätt. Kantbitarna ska byta plats diagonalt 2-4 & 6-8
// Z-perm=(PLL Z-perm)
// PLL: Alla hörnbitar rätt. Kantbitarna ska byta plats diagonalt.
// **********************************************
// U-perm(a) (2 look PLL)
// 2 look PLL U-perm(a) (PLL U-perm(a)); s2lPLLsekvens, index 4:
// (M2' U' M') (U2 M U' M2')
// index 5: (R2′ U R U) (R’ U’ R’ U’) (R’ U R’) - vrid kuben 180°
const s2lPLL_U_PUa_string = ["RBoBObrGRgOG", "GRbRBgoOGrBO", "OGgGRrbBOoRB", "BOrOGogRBbGR", "BOgOGobRBrGR", "RBoBOrgGRbOG", "GRrRBboOGgBO", "OGbGRgrBOoRB", "GRbRBrgOGoBO", "OGrGRobBOgRB", "BOoOGgrRBbGR", "RBgBOboGRrOG", "OGrGRgoBObRB", "BOgOGbrRBoGR", "RBbBOogGRrOG", "GRoRBrbOGgBO"]
// 'söderut' ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^
// Grön, hel sida. Röd, hel sida Orange, hel sida Blå, hel sida
// Index 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
// Index 256-271
// Placera den så som bilden visar.
// Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg medsols.
// U-perm(a)=(PLL U-perm(a))
// PLL: Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg medsols.
// Om alternativet, helfärgad sidan 'norrut' (180°)
// Och så gäller sekvensen: (R2′ U R U) (R’ U’ R’ U’) (R’ U R’)
// Index: 5
// **********************************************
// U-perm(b) (2 look PLL)
// 2 look PLL U-perm(b) (PLL U-perm(b)); s2lPLLsekvens, index 6:
// (M2' U M') (U2 M U M2')
// index 7: (R U’ R U) (R U R U’ R’) (U’ R2′) - vrid kuben 180°
const s2lPLL_U_PUb_string = ["RBrBOobGRgOG", "GRoRBgrOGbBO", "OGgGRboBOrRB", "BObOGrgRBoGR", "BObOGgoRBrGR", "RBgBOrbGRoOG", "GRrRBogOGbBO", "OGoGRbrBOgRB", "GRgRBbrOGoBO", "OGbGRogBOrRB", "BOoOGrbRBgGR", "RBrBOgoGRbOG", "OGoGRrgBObRB", "BOrOGboRBgGR", "RBbBOgrGRoOG", "GRgRBobOGrBO"]
// 'söderut' ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^^ ^ ^ ^
// Grön, hel sida. Röd, hel sida Orange, hel sida Blå, hel sida
// Index 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
// Index 272-287
// Placera den så som bilden visar.
// Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg motsols.
// U-perm(b)=(PLL U-perm(b))
// PLL: Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg motsols.
// Om alternativet, helfärgad sidan 'norrut' (180°)
// Och så gäller sekvensen: (R U’ R U) (R U R U’ R’) (U’ R2′)
// Index: 7
// alternativt: ((M2' U' M') (U2 M U' M2'))2 (flytta två steg medsols) - U-perm(a)
// ((R2′ U R U) (R’ U’ R’ U’) (R’ U R’))2 (flytta två steg medsols) - U-perm(a)
function fChangeColor(frID, bit, yta, vColor){
// OBS! Det går att välja flera lika hörn - så kan vi inte ha det. > OK
// Vid tredje valet av kantbit så ska det 4:e bli givet > OK
// Det ska inte gå att välja samma färg på kantbitarna > OK
// Det ska inte vara möjligt att ha endast två felvända hörn - bredvid varandra (alla kantbitar är alltså rätt) - vet inte om jag ska göra ett problem av det?
if (bit == "1") {
//hörnbit
if (yta == "a") {
switch (vColor) {
// 1: RB BO OG GR
// 3: RB BO OG GR
// 7: RB BO OG GR
// 9: RB BO OG GR
case "red":
// RB
document.getElementById("Y_1a").style.backgroundColor = vColor;
document.getElementById("Y_1b").style.backgroundColor = "blue";
aBitString[0] = "1aR";
aBitString[1] = "1bB";
sCorner1 = "RB";
break;
case "blue":
// BO
document.getElementById("Y_1a").style.backgroundColor = vColor;
document.getElementById("Y_1b").style.backgroundColor = "orange";
aBitString[0] = "1aB";
aBitString[1] = "1bO";
sCorner1 = "BO";
break;
case "orange":
// OG
document.getElementById("Y_1a").style.backgroundColor = vColor;
document.getElementById("Y_1b").style.backgroundColor = "green";
aBitString[0] = "1aO";
aBitString[1] = "1bG";
sCorner1 = "OG";
break;
case "green":
// GR
document.getElementById("Y_1a").style.backgroundColor = vColor;
document.getElementById("Y_1b").style.backgroundColor = "red";
aBitString[0] = "1aG";
aBitString[1] = "1bR";
sCorner1 = "GR";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner1 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner1 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner1 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (yta == "b") {
//hörnbit
switch (vColor) {
// RB BO OG GR
case "red":
// GR
document.getElementById("Y_1b").style.backgroundColor = vColor;
document.getElementById("Y_1a").style.backgroundColor = "green";
aBitString[0] = "1aG";
aBitString[1] = "1bR";
sCorner1 = "GR";
break;
case "blue":
// RB
document.getElementById("Y_1b").style.backgroundColor = vColor;
document.getElementById("Y_1a").style.backgroundColor = "red";
aBitString[0] = "1aR";
aBitString[1] = "1bB";
sCorner1 = "RB";
break;
case "orange":
// BO
document.getElementById("Y_1b").style.backgroundColor = vColor;
document.getElementById("Y_1a").style.backgroundColor = "blue";
aBitString[0] = "1aB";
aBitString[1] = "1bO";
sCorner1 = "BO";
break;
case "green":
// OG
document.getElementById("Y_1b").style.backgroundColor = vColor;
document.getElementById("Y_1a").style.backgroundColor = "orange";
aBitString[0] = "1aO";
aBitString[1] = "1bG";
sCorner1 = "OG";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner1 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner1 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner1 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
iCornerBitar = iCornerBitar + 1;
}
if (bit == "2" && yta == "b") {
// kantbit
document.getElementById("Y_2b").style.backgroundColor = vColor;
aBitString[2] = bit + yta + vColor.substring(0, 1).toUpperCase();
sKantBit2 = vColor;
// kontroller om annan kantbit fått detta val - rensa den då
if (sKantBit2 == sKantBit4) {
document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
aBitString[5] = "4ag";
sKantBit4 = "";
}
if (sKantBit2 == sKantBit6) {
document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
aBitString[6] = "6ag";
sKantBit6 = "";
}
if (sKantBit2 == sKantBit8) {
document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
aBitString[9] = "8bg";
sKantBit8 = "";
}
iKantBitar = iKantBitar + 1;
}
if (bit == "3") {
//hörnbit
if (yta == "b") {
switch (vColor) {
// RB BO OG GR
case "red":
// RB
document.getElementById("Y_3b").style.backgroundColor = vColor;
document.getElementById("Y_3a").style.backgroundColor = "blue";
aBitString[3] = "3bB";
aBitString[4] = "3aR";
sCorner3 = "RB";
break;
case "blue":
// BO
document.getElementById("Y_3b").style.backgroundColor = vColor;
document.getElementById("Y_3a").style.backgroundColor = "orange";
aBitString[3] = "3bB";
aBitString[4] = "3aO";
sCorner3 = "BO";
break;
case "orange":
// OG
document.getElementById("Y_3b").style.backgroundColor = vColor;
document.getElementById("Y_3a").style.backgroundColor = "green";
aBitString[3] = "3bO";
aBitString[4] = "3aG";
sCorner3 = "OG";
break;
case "green":
// GR
document.getElementById("Y_3b").style.backgroundColor = vColor;
document.getElementById("Y_3a").style.backgroundColor = "red";
aBitString[3] = "3bG";
aBitString[4] = "3aR";
sCorner3 = "GR";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner3 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner3 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner3 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (yta == "a") {
//hörnbit
switch (vColor) {
// RB BO OG GR
case "red":
// GR
document.getElementById("Y_3a").style.backgroundColor = vColor;
document.getElementById("Y_3b").style.backgroundColor = "green";
aBitString[3] = "3bG";
aBitString[4] = "3aR";
sCorner3 = "GR";
break;
case "blue":
// RB
document.getElementById("Y_3a").style.backgroundColor = vColor;
document.getElementById("Y_3b").style.backgroundColor = "red";
aBitString[3] = "3bR";
aBitString[4] = "3aB";
sCorner3 = "RB";
break;
case "orange":
// BO
document.getElementById("Y_3a").style.backgroundColor = vColor;
document.getElementById("Y_3b").style.backgroundColor = "blue";
aBitString[3] = "3bB";
aBitString[4] = "3aO";
sCorner3 = "BO";
break;
case "green":
// OG
document.getElementById("Y_3a").style.backgroundColor = vColor;
document.getElementById("Y_3b").style.backgroundColor = "orange";
aBitString[3] = "3bO";
aBitString[4] = "3aG";
sCorner3 = "OG";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner3 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner3 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner3 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
iCornerBitar = iCornerBitar + 1;
}
if (bit == "4" && yta == "a") {
// kantbit
document.getElementById("Y_4a").style.backgroundColor = vColor;
aBitString[5] = bit + yta + vColor.substring(0, 1).toUpperCase();
sKantBit4 = vColor;
// kontroller om annan kantbit fått detta val - rensa den då
if (sKantBit4 == sKantBit2) {
document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
aBitString[2] = "2bg";
sKantBit2 = "";
}
if (sKantBit4 == sKantBit6) {
document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
aBitString[6] = "6ag";
sKantBit6 = "";
}
if (sKantBit4 == sKantBit8) {
document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
aBitString[9] = "8bg";
sKantBit8 = "";
}
iKantBitar = iKantBitar + 1;
}
if (bit == "6" && yta == "a") {
// kantbit
document.getElementById("Y_6a").style.backgroundColor = vColor;
aBitString[6] = bit + yta + vColor.substring(0, 1).toUpperCase();
sKantBit6 = vColor;
// kontroller om annan kantbit fått detta val - rensa den då
if (sKantBit6 == sKantBit2) {
document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
aBitString[2] = "2bg";
sKantBit2 = "";
}
if (sKantBit6 == sKantBit4) {
document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
aBitString[5] = "4ag";
sKantBit4 = "";
}
if (sKantBit6 == sKantBit8) {
document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
aBitString[9] = "8bg";
sKantBit8 = "";
}
iKantBitar = iKantBitar + 1;
}
if (bit == "7") {
//hörnbit
if (yta == "a") {
switch (vColor) {
// RB BO OG GR
case "red":
// GR
document.getElementById("Y_7a").style.backgroundColor = vColor;
document.getElementById("Y_7b").style.backgroundColor = "green";
aBitString[8] = "7bG";
aBitString[7] = "7aR";
sCorner7 = "GR";
break;
case "blue":
// RB
document.getElementById("Y_7a").style.backgroundColor = vColor;
document.getElementById("Y_7b").style.backgroundColor = "red";
aBitString[8] = "7bR";
aBitString[7] = "7aB";
sCorner7 = "RB";
break;
case "orange":
// BO
document.getElementById("Y_7a").style.backgroundColor = vColor;
document.getElementById("Y_7b").style.backgroundColor = "blue";
aBitString[8] = "7bB";
aBitString[7] = "7aO";
sCorner7 = "BO";
break;
case "green":
// OG
document.getElementById("Y_7a").style.backgroundColor = vColor;
document.getElementById("Y_7b").style.backgroundColor = "orange";
aBitString[8] = "7bO";
aBitString[7] = "7aG";
sCorner7 = "OG";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner7 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner7 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner7 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (yta == "b") {
switch (vColor) {
// RB BO OG GR
case "red":
// RB
document.getElementById("Y_7b").style.backgroundColor = vColor;
document.getElementById("Y_7a").style.backgroundColor = "blue";
aBitString[8] = "7bR";
aBitString[7] = "7aB";
sCorner7 = "RB";
break;
case "blue":
// BO
document.getElementById("Y_7b").style.backgroundColor = vColor;
document.getElementById("Y_7a").style.backgroundColor = "orange";
aBitString[8] = "7bB";
aBitString[7] = "7aO";
sCorner7 = "BO";
break;
case "orange":
// OG
document.getElementById("Y_7b").style.backgroundColor = vColor;
document.getElementById("Y_7a").style.backgroundColor = "green";
aBitString[8] = "7bO";
aBitString[7] = "7aG";
sCorner7 = "OG";
break;
case "green":
// GR
document.getElementById("Y_7b").style.backgroundColor = vColor;
document.getElementById("Y_7a").style.backgroundColor = "red";
aBitString[8] = "7bG";
aBitString[7] = "7aR";
sCorner7 = "GR";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner7 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner7 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner7 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
iCornerBitar = iCornerBitar + 1;
}
if (bit == "8" && yta == "b") {
// kantbit
document.getElementById("Y_8b").style.backgroundColor = vColor;
aBitString[9] = bit + yta + vColor.substring(0, 1).toUpperCase();
sKantBit8 = vColor;
// kontroller om annan kantbit fått detta val - rensa den då
if (sKantBit8 == sKantBit2) {
document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
aBitString[2] = "2bg";
sKantBit2 = "";
}
if (sKantBit8 == sKantBit4) {
document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
aBitString[5] = "4ag";
sKantBit4 = "";
}
if (sKantBit8 == sKantBit6) {
document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
aBitString[6] = "6ag";
sKantBit6 = "";
}
iKantBitar = iKantBitar + 1;
}
if (bit == "9") {
//hörnbit
if (yta == "b") {
switch (vColor) {
// RB BO OG GR
case "red":
// GR
document.getElementById("Y_9b").style.backgroundColor = vColor;
document.getElementById("Y_9a").style.backgroundColor = "green";
aBitString[11] = "9aG";
aBitString[10] = "9bR";
sCorner9 = "GR";
break;
case "blue":
// RB
document.getElementById("Y_9b").style.backgroundColor = vColor;
document.getElementById("Y_9a").style.backgroundColor = "red";
aBitString[11] = "9aR";
aBitString[10] = "9bB";
sCorner9 = "RB";
break;
case "orange":
// BO
document.getElementById("Y_9b").style.backgroundColor = vColor;
document.getElementById("Y_9a").style.backgroundColor = "blue";
aBitString[11] = "9aB";
aBitString[10] = "9bO";
sCorner9 = "BO";
break;
case "green":
// OG
document.getElementById("Y_9b").style.backgroundColor = vColor;
document.getElementById("Y_9a").style.backgroundColor = "orange";
aBitString[11] = "9aO";
aBitString[10] = "9bG";
sCorner9 = "OG";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner9 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner9 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner9 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
}
}
if (yta == "a") {
switch (vColor) {
// RB BO OG GR
case "red":
// RB
document.getElementById("Y_9a").style.backgroundColor = vColor;
document.getElementById("Y_9b").style.backgroundColor = "blue";
aBitString[11] = "9aR";
aBitString[10] = "9bB";
sCorner9 = "RB";
break;
case "blue":
// BO
document.getElementById("Y_9a").style.backgroundColor = vColor;
document.getElementById("Y_9b").style.backgroundColor = "orange";
aBitString[11] = "9aB";
aBitString[10] = "9bO";
sCorner9 = "BO";
break;
case "orange":
// OG
document.getElementById("Y_9a").style.backgroundColor = vColor;
document.getElementById("Y_9b").style.backgroundColor = "green";
aBitString[11] = "9aO";
aBitString[10] = "9bG";
sCorner9 = "OG";
break;
case "green":
// GR
document.getElementById("Y_9a").style.backgroundColor = vColor;
document.getElementById("Y_9b").style.backgroundColor = "red";
aBitString[11] = "9aG";
aBitString[10] = "9bR";
sCorner9 = "GR";
break;
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner9 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner9 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner9 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
}
}
iCornerBitar = iCornerBitar + 1;
}
// 4:e kantbiten
if (iKantBitar == 3) {
if (aBitString[2] == "2bg") {
sKantBitarColor = aBitString[5].substring(2) + aBitString[6].substring(2) + aBitString[9].substring(2);
if (!sKantBitarColor.includes("G")) {
document.getElementById("Y_2b").style.backgroundColor = "green";
aBitString[2] = "2bG";
sKantBit2 = "green";
}
if (!sKantBitarColor.includes("R")) {
document.getElementById("Y_2b").style.backgroundColor = "red";
aBitString[2] = "2bR";
sKantBit2 = "red";
}
if (!sKantBitarColor.includes("B")) {
document.getElementById("Y_2b").style.backgroundColor = "blue";
aBitString[2] = "2bB";
sKantBit2 = "blue";
}
if (!sKantBitarColor.includes("O")) {
document.getElementById("Y_2b").style.backgroundColor = "orange";
aBitString[2] = "2bO";
sKantBit2 = "orange";
}
}
if (aBitString[5] == "4ag") {
sKantBitarColor = aBitString[2].substring(2) + aBitString[6].substring(2) + aBitString[9].substring(2);
if (!sKantBitarColor.includes("G")) {
document.getElementById("Y_4a").style.backgroundColor = "green";
aBitString[5] = "4aG";
sKantBit4 = "green";
}
if (!sKantBitarColor.includes("R")) {
document.getElementById("Y_4a").style.backgroundColor = "red";
aBitString[5] = "4aR";
sKantBit4 = "red";
}
if (!sKantBitarColor.includes("B")) {
document.getElementById("Y_4a").style.backgroundColor = "blue";
aBitString[5] = "4aB";
sKantBit4 = "blue";
}
if (!sKantBitarColor.includes("O")) {
document.getElementById("Y_4a").style.backgroundColor = "orange";
aBitString[5] = "4aO";
sKantBit4 = "orange";
}
}
if (aBitString[6] == "6ag") {
sKantBitarColor = aBitString[2].substring(2) + aBitString[5].substring(2) + aBitString[9].substring(2);
if (!sKantBitarColor.includes("G")) {
document.getElementById("Y_6a").style.backgroundColor = "green";
aBitString[6] = "6aG";
sKantBit6 = "green";
}
if (!sKantBitarColor.includes("R")) {
document.getElementById("Y_6a").style.backgroundColor = "red";
aBitString[6] = "6aR";
sKantBit6 = "red";
}
if (!sKantBitarColor.includes("B")) {
document.getElementById("Y_6a").style.backgroundColor = "blue";
aBitString[6] = "6aB";
sKantBit6 = "blue";
}
if (!sKantBitarColor.includes("O")) {
document.getElementById("Y_6a").style.backgroundColor = "orange";
aBitString[6] = "6aO";
sKantBit6 = "orange";
}
}
if (aBitString[9] == "8bg") {
sKantBitarColor = aBitString[2].substring(2) + aBitString[5].substring(2) + aBitString[6].substring(2);
if (!sKantBitarColor.includes("G")) {
document.getElementById("Y_8b").style.backgroundColor = "green";
aBitString[9] = "8bG";
sKantBit8 = "green";
}
if (!sKantBitarColor.includes("R")) {
document.getElementById("Y_8b").style.backgroundColor = "red";
aBitString[9] = "8bR";
sKantBit8 = "red";
}
if (!sKantBitarColor.includes("B")) {
document.getElementById("Y_8b").style.backgroundColor = "blue";
aBitString[9] = "8bB";
sKantBit8 = "blue";
}
if (!sKantBitarColor.includes("O")) {
document.getElementById("Y_8b").style.backgroundColor = "orange";
aBitString[9] = "8bO";
sKantBit8 = "orange";
}
}
// detta ser till att en lightgrey kanbit alltid blir fylld med saknad färg
iKantBitar = 2;
}
// 4:e hörnbiten
// om tre hörnbitar ligger rätt så gör även den fjärde det
if (iCornerBitar == 3) {
if (aBitString[0] == "1ag") {
// borde räcka att kolla endast "a"-sidan
sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
// 1 3 7 9
// ab ba ba ab
// RB RB RB RB
// BO BO BO BO
// OG OG OG OG
// GR GR GR GR
//
// i ordning är: RB BO OG GR
// BO OG GR RB
// OG GR RB BO
// GR RB BO OG
if (!sCornerColor.includes("RB")) {
document.getElementById("Y_1a").style.backgroundColor = "red";
document.getElementById("Y_1b").style.backgroundColor = "blue";
aBitString[0] = "1aR";
aBitString[1] = "1bB";
sCorner1 = "RB";
}
if (!sCornerColor.includes("BO")) {
document.getElementById("Y_1a").style.backgroundColor = "blue";
document.getElementById("Y_1b").style.backgroundColor = "orange";
aBitString[0] = "1aB";
aBitString[1] = "1bO";
sCorner1 = "BO";
}
if (!sCornerColor.includes("OG")) {
document.getElementById("Y_1a").style.backgroundColor = "orange";
document.getElementById("Y_1b").style.backgroundColor = "green";
aBitString[0] = "1aO";
aBitString[1] = "1bG";
sCorner1 = "OG";
}
if (!sCornerColor.includes("GR")) {
document.getElementById("Y_1a").style.backgroundColor = "green";
document.getElementById("Y_1b").style.backgroundColor = "red";
aBitString[0] = "1aG";
aBitString[1] = "1bR";
sCorner1 = "GR";
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner1 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner1 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner1 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (aBitString[4] == "3ag") {
// borde räcka att kolla endast "a"-sidan
sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
// 1 3 7 9
// ab ba ba ab
// RB RB RB RB
// BO BO BO BO
// OG OG OG OG
// GR GR GR GR
if (!sCornerColor.includes("RB")) {
document.getElementById("Y_3a").style.backgroundColor = "blue";
document.getElementById("Y_3b").style.backgroundColor = "red";
aBitString[4] = "3aB";
aBitString[3] = "3bR";
sCorner3 = "RB";
}
if (!sCornerColor.includes("BO")) {
document.getElementById("Y_3a").style.backgroundColor = "orange";
document.getElementById("Y_3b").style.backgroundColor = "blue";
aBitString[4] = "3aO";
aBitString[3] = "3bB";
sCorner3 = "BO";
}
if (!sCornerColor.includes("OG")) {
document.getElementById("Y_3a").style.backgroundColor = "green";
document.getElementById("Y_3b").style.backgroundColor = "orange";
aBitString[4] = "3aG";
aBitString[3] = "3bO";
sCorner3 = "OG";
}
if (!sCornerColor.includes("GR")) {
document.getElementById("Y_3a").style.backgroundColor = "red";
document.getElementById("Y_3b").style.backgroundColor = "green";
aBitString[4] = "3aR";
aBitString[3] = "3bG";
sCorner3 = "GR";
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner3 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner3 == sCorner7) {
document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
aBitString[7] = "7ag";
aBitString[8] = "7bg";
sCorner7 = "";
} else if (sCorner3 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (aBitString[7] == "7ag") {
// borde räcka att kolla endast "a"-sidan
sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
// 1 3 7 9
// ab ba ba ab
// RB RB RB RB
// BO BO BO BO
// OG OG OG OG
// GR GR GR GR
if (!sCornerColor.includes("RB")) {
document.getElementById("Y_7a").style.backgroundColor = "blue";
document.getElementById("Y_7b").style.backgroundColor = "red";
aBitString[7] = "7aB";
aBitString[8] = "7bR";
sCorner7 = "RB";
}
if (!sCornerColor.includes("BO")) {
document.getElementById("Y_7a").style.backgroundColor = "orange";
document.getElementById("Y_7b").style.backgroundColor = "blue";
aBitString[7] = "7aO";
aBitString[8] = "7bB";
sCorner7 = "BO";
}
if (!sCornerColor.includes("OG")) {
document.getElementById("Y_7a").style.backgroundColor = "green";
document.getElementById("Y_7b").style.backgroundColor = "orange";
aBitString[7] = "7aG";
aBitString[8] = "7bO";
sCorner7 = "OG";
}
if (!sCornerColor.includes("GR")) {
document.getElementById("Y_7a").style.backgroundColor = "red";
document.getElementById("Y_7b").style.backgroundColor = "green";
aBitString[7] = "7aR";
aBitString[8] = "7bG";
sCorner7 = "GR";
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner7 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner7 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner7 == sCorner9) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner9 = "";
}
}
if (aBitString[11] == "9ag") {
// borde räcka att kolla endast "a"-sidan
sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
// 1 3 7 9
// ab ba ba ab
// RB RB RB RB
// BO BO BO BO
// OG OG OG OG
// GR GR GR GR
if (!sCornerColor.includes("RB")) {
document.getElementById("Y_9a").style.backgroundColor = "red";
document.getElementById("Y_9b").style.backgroundColor = "blue";
aBitString[11] = "9aR";
aBitString[10] = "9bB";
sCorner9 = "RB";
}
if (!sCornerColor.includes("BO")) {
document.getElementById("Y_9a").style.backgroundColor = "blue";
document.getElementById("Y_9b").style.backgroundColor = "orange";
aBitString[11] = "9aB";
aBitString[10] = "9bO";
sCorner9 = "BO";
}
if (!sCornerColor.includes("OG")) {
document.getElementById("Y_9a").style.backgroundColor = "orange";
document.getElementById("Y_9b").style.backgroundColor = "green";
aBitString[11] = "9aO";
aBitString[10] = "9bG";
sCorner9 = "OG";
}
if (!sCornerColor.includes("GR")) {
document.getElementById("Y_9a").style.backgroundColor = "green";
document.getElementById("Y_9b").style.backgroundColor = "red";
aBitString[11] = "7aG";
aBitString[10] = "7bR";
sCorner9 = "GR";
}
// om en hörnbit redan har de här färgerna - avmarkera det
if (sCorner9 == sCorner1) {
document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
aBitString[0] = "1ag";
aBitString[1] = "1bg";
sCorner1 = "";
} else if (sCorner9 == sCorner3) {
document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
aBitString[4] = "3ag";
aBitString[3] = "3bg";
sCorner3 = "";
} else if (sCorner9 == sCorner7) {
document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
aBitString[11] = "9ag";
aBitString[10] = "9bg";
sCorner7 = "";
}
}
// detta ser till att en lightgrey hörnbit alltid blir fylld med saknad färg
iCornerBitar = 2;
}
// fyll strängen
bitString = aBitString[0] + aBitString[1] + aBitString[2] + aBitString[3] + aBitString[4] + aBitString[5] + aBitString[6] + aBitString[7] + aBitString[8] + aBitString[9] + aBitString[10] + aBitString[11];
sCorneBitarColor = aBitString[0].substring(2) + aBitString[1].substring(2) + aBitString[3].substring(2) + aBitString[4].substring(2) + aBitString[8].substring(2) + aBitString[7].substring(2) + aBitString[11].substring(2) + aBitString[10].substring(2);
//document.getElementById("txtInfo").innerHTML = sCorneBitarColor;
}
// kontrollera om ifyllda fält matchar någon möjlighet till matchning och visa en bild med text samt en sekvens
// om tre hörnbitar ligger rätt så gör även den fjärde det.
function fControlString() {
//är alla fält ifyllda
var vInfoBild = document.getElementById("txtInfoBild");
var vVisaBild = document.getElementById("visaBild");
var vVisaSekvens = document.getElementById("txtInfo");
var vVisaOverlayPNG = document.getElementById("trVisaResultat");
var vinfoOmkuben = document.getElementById("infoTXTom");
if (sCorner1.length >= 1 &&
sCorner3.length >= 1 &&
sCorner7.length >= 1 &&
sCorner9.length >= 1 &&
sKantBit2.length >= 1 &&
sKantBit4.length >= 1 &&
sKantBit6.length >= 1 &&
sKantBit8.length >= 1) {
strBildText = sCorner1 + sKantBit2.substring(0,1) + Corner3 + sKantBit4.substring(0,1) + sKantBit6.substring(0,1) + sCorner7 + sKantBit8.substring(0,1) + sCorner9;
// visa sekvens i: vVisaSekvens.innerHTML
// 2 Look PLL A-perm (samma som PLL A-perm(a))
// Algoritm: Lw’ (U R’ D2) (R U’ R’) (D2 R2)
// Index = 0
// i: s2lPLLsekvens
// Gäller för:
// s2lPLL_A_PAa_string
// s2lPLL_A_PAb_string
// s2lPLL_A_PE_string >> alla kantbitar ligger rätt
// s2lPLL_A_PT_string
// s2lPLL_A_PJa_string
// s2lPLL_A_PJb_string
// s2lPLL_A_PF_string
// s2lPLL_A_PRb_string
// s2lPLL_A_PRa_string
// s2lPLL_A_PGa_string
// s2lPLL_A_PGb_string
// s2lPLL_A_PGc_string
// s2lPLL_A_PGd_string
//
// Om sekvens finns i någon av ovan så gäller index=0 & visa då: Lw’ (U R’ D2) (R U’ R’) (D2 R2)
// i: vVisaSekvens = document.getElementById("txtInfo");
//
// sedan tillkommer en 'massa' information...
//
// man kan lägga ihop arrays:
const s2lPLL_A_string = s2lPLL_A_PAa_string.concat(s2lPLL_A_PAb_string,
s2lPLL_A_PE_string,
s2lPLL_A_PT_string,
s2lPLL_A_PJa_string,
s2lPLL_A_PJb_string,
s2lPLL_A_PF_string,
s2lPLL_A_PRb_string,
s2lPLL_A_PRa_string,
s2lPLL_A_PGa_string,
s2lPLL_A_PGb_string,
s2lPLL_A_PGc_string,
s2lPLL_A_PGd_string);
// E-perm (2 Look PLL)
// Algoritm: x’ (R U’ R’ D) (R U R’ D’) (R U R’ D) (R U’ R’ D’)
// index = 1
// i: s2lPLLsekvens
// Gäller för:
// s2lPLL_E_PY_string
// s2lPLL_E_PV_string
// s2lPLL_E_PNa_string
// s2lPLL_E_PNb_string
const s2lPLL_E_string = s2lPLL_E_PY_string.concat(s2lPLL_E_PV_string,
s2lPLL_E_PNa_string,
s2lPLL_E_PNb_string);
// Alla hörnbitar ligger rätt:
// H-perm (2 look PLL)
// index 2:
// s2lPLL_H_PH_string
// Z-perm (2 look PLL)
// index 3:
// s2lPLL_Z_PZ_string
// U-perm(a) (2 look PLL)
// index 4:
// s2lPLL_U_PUa_string
// U-perm(b) (2 look PLL)
// index 6:
// s2lPLL_U_PUb_string
// alla sekvenser:
const s2lPLL_string = s2lPLLsolved.concat(s2lPLL_A_string,
s2lPLL_E_string,
s2lPLL_H_PH_string,
s2lPLL_Z_PZ_string,
s2lPLL_U_PUa_string,
s2lPLL_U_PUb_string);
const sFound = s2lPLL_string.filter(fHittaSekvens);
const sFoundIndex = s2lPLL_string.forEach(fHittaIndex);
if (sFound == "") {
vVisaSekvens.innerHTML = "Valda fält verkar inte vara en möjlig variant";
} else {
document.getElementById("tNotation").style.visibility = "visible";
/* // *****************************************************
// TLF kontroll om alla sekvenser innehåller alla bitar: t.ex.: GRrRBgbOGoBO
// xxxxxxxxxxxxxxxxxxxxxxxxxxxx::: 123 467 89
// Dessa positioner kan innehålla: GRrRBgbOGoBO
// OGgGRorBObRB
// BOoOGbgRBrGB
// RBbBOroGRgOG
// 012345678911
// 01
// GR RB OG & BO kan bara förekomma en gång i varje sträng
// samma med r g o & b
// hur f-n kollar jag det enklast? Jag måste nog loopa igenom alla 288
var sResultatOK = "";
var sResultatFEL = "";
for (let i = 0; i < s2lPLL_string.length; i++) {
if (s2lPLL_string[i].substring(0, 2) == "GR" || s2lPLL_string[i].substring(3, 5) == "GR" || s2lPLL_string[i].substring(7, 9) == "GR" || s2lPLL_string[i].substring(10) == "GR") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(0, 2) == "OG" || s2lPLL_string[i].substring(3, 5) == "OG" || s2lPLL_string[i].substring(7, 9) == "OG" || s2lPLL_string[i].substring(10) == "OG") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(0, 2) == "BO" || s2lPLL_string[i].substring(3, 5) == "BO" || s2lPLL_string[i].substring(7, 9) == "BO" || s2lPLL_string[i].substring(10) == "BO") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(0, 2) == "RB" || s2lPLL_string[i].substring(3, 5) == "RB" || s2lPLL_string[i].substring(7, 9) == "RB" || s2lPLL_string[i].substring(10) == "RB") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(2, 3) == "r" || s2lPLL_string[i].substring(5, 6) == "r" || s2lPLL_string[i].substring(6, 7) == "r" || s2lPLL_string[i].substring(9, 10) == "r") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(2, 3) == "g" || s2lPLL_string[i].substring(5, 6) == "g" || s2lPLL_string[i].substring(6, 7) == "g" || s2lPLL_string[i].substring(9, 10) == "g") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(2, 3) == "o" || s2lPLL_string[i].substring(5, 6) == "o" || s2lPLL_string[i].substring(6, 7) == "o" || s2lPLL_string[i].substring(9, 10) == "o") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
if (s2lPLL_string[i].substring(2, 3) == "b" || s2lPLL_string[i].substring(5, 6) == "b" || s2lPLL_string[i].substring(6, 7) == "b" || s2lPLL_string[i].substring(9, 10) == "b") {
sResultatOK = "OK";
} else {
sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
}
}
vInfoBild.innerHTML = sResultatOK + " :" + sResultatFEL
// ***************************************************** */
var sExtraTXT = ". Gula sidan upp.<br><strong>Håll kuben så som bilden nedan visar.<strong>";
// vilken index
if (iFoundIndex >= 0 && iFoundIndex <= 3) {
vVisaSekvens.innerHTML = "GRATTIS!";
vInfoBild.innerHTML = "";
} else if (iFoundIndex >= 4 && iFoundIndex <= 203) {
// A-perm (2 Look PLL)
vVisaSekvens.innerHTML = s2lPLLsekvens[0];
vInfoBild.innerHTML = "";
// till en funktion som laddar tabellen rätt.
if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
// vrid0
fPlaceProper(0);
} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
// vrid1
fPlaceProper(1);
} else if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
// vrid2
fPlaceProper(2);
} else if (document.getElementById("Y_9a").style.backgroundColor == document.getElementById("Y_3a").style.backgroundColor) {
// vrid3
fPlaceProper(3);
} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_7b").style.backgroundColor &&
document.getElementById("Y_7a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor &&
document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor) {
// om PLL E-perm index 36-43
// vrid0
fPlaceProper(0);
} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_1a").style.backgroundColor &&
document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_7b").style.backgroundColor &&
document.getElementById("Y_3b").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor) {
// vrid1
fPlaceProper(1);
}
// Overlay
vinfoOmkuben.innerHTML = "A-perm\: fixar hörnbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
document.getElementById('divVisaOverlayKors').style.display = "none";
document.getElementById('divVisaOverlayDiagonal').style.display = "none";
document.getElementById('divOverlayPyramidMedsols').style.display = "none";
document.getElementById('divOverlayPyramidMotsols').style.display = "none";
placeraDivOverlay('divVisaOverlayCirklar');
} else if (iFoundIndex >= 204 && iFoundIndex <= 243) {
// E-perm (2 Look PLL)
vVisaSekvens.innerHTML = s2lPLLsekvens[1];
vInfoBild.innerHTML = "";
// till en funktion som laddar tabellen rätt.
// vrid0
fPlaceProper(0);
// overlay
vinfoOmkuben.innerHTML = "E-perm\: fixar hörnbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayCirklar').style.display = "none";
document.getElementById('divVisaOverlayKors').style.display = "none";
document.getElementById('divVisaOverlayDiagonal').style.display = "none";
document.getElementById('divOverlayPyramidMedsols').style.display = "none";
document.getElementById('divOverlayPyramidMotsols').style.display = "none";
placeraDivOverlay('divVisaOverlayVertikalaPilar');
} else if (iFoundIndex >= 244 && iFoundIndex <= 247) {
// H-perm (2 look PLL)
vVisaSekvens.innerHTML = s2lPLLsekvens[2];
vInfoBild.innerHTML = "";
// till en funktion som laddar tabellen rätt.
// vrid0
fPlaceProper(0);
// Overlay
vinfoOmkuben.innerHTML = "H-perm\: fixar kantbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayCirklar').style.display = "none";
document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
document.getElementById('divVisaOverlayDiagonal').style.display = "none";
document.getElementById('divOverlayPyramidMedsols').style.display = "none";
document.getElementById('divOverlayPyramidMotsols').style.display = "none";
placeraDivOverlay('divVisaOverlayKors');
} else if (iFoundIndex >= 248 && iFoundIndex <= 255) {
// Z-perm (2 look PLL)
vVisaSekvens.innerHTML = s2lPLLsekvens[3];
vInfoBild.innerHTML = "";
// till en funktion som laddar tabellen rätt.
if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
// vrid0
fPlaceProper(0);
} else {
// vrid1
fPlaceProper(1);
}
// overlay
vinfoOmkuben.innerHTML = "Z-perm\: fixar kantbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayCirklar').style.display = "none";
document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
document.getElementById('divVisaOverlayKors').style.display = "none";
document.getElementById('divOverlayPyramidMedsols').style.display = "none";
document.getElementById('divOverlayPyramidMotsols').style.display = "none";
placeraDivOverlay('divVisaOverlayDiagonal');
} else if (iFoundIndex >= 256 && iFoundIndex <= 271) {
// U-perm(a) (2 look PLL) & alternativ 2 index: 5
vVisaSekvens.innerHTML = s2lPLLsekvens[4];
vInfoBild.innerHTML = "eller rotera 180°:<br>" + s2lPLLsekvens[5];
// till en funktion som laddar tabellen rätt.
if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor && document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
// vrid0
fPlaceProper(0);
} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
// vrid3
fPlaceProper(3);
} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
// vrid2
fPlaceProper(2);
} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_6a").style.backgroundColor && document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor) {
// vrid1
fPlaceProper(1);
}
// overlay
vinfoOmkuben.innerHTML = "U-perm(a)\: fixar kantbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayCirklar').style.display = "none";
document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
document.getElementById('divVisaOverlayKors').style.display = "none";
document.getElementById('divVisaOverlayDiagonal').style.display = "none";
document.getElementById('divOverlayPyramidMotsols').style.display = "none";
placeraDivOverlay('divOverlayPyramidMedsols');
} else if (iFoundIndex >= 272 && iFoundIndex <= 287) {
// U-perm(b) (2 look PLL) & alternativ 2 index: 7
vVisaSekvens.innerHTML = s2lPLLsekvens[6];
vInfoBild.innerHTML = "eller rotera 180°:<br>" + s2lPLLsekvens[7];
// till en funktion som laddar tabellen rätt.
if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor && document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
// vrid0
fPlaceProper(0);
} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
// vrid3
fPlaceProper(3);
} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
// vrid2
fPlaceProper(2);
} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_6a").style.backgroundColor && document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor) {
// vrid1
fPlaceProper(1);
}
// overlay
vinfoOmkuben.innerHTML = "U-perm(a)\: fixar kantbitarna" + sExtraTXT;
document.getElementById('divVisaOverlayCirklar').style.display = "none";
document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
document.getElementById('divVisaOverlayKors').style.display = "none";
document.getElementById('divVisaOverlayDiagonal').style.display = "none";
document.getElementById('divOverlayPyramidMedsols').style.display = "none";
placeraDivOverlay('divOverlayPyramidMotsols');
} else {
vVisaSekvens.innerHTML = "Något är knas?";
}
document.getElementById("tblVisaOverlay").style.display = 'block';
}
}
}
function fRensa(){
window.location.href=window.location.href;
}
function fHittaSekvens(value, index){
return value == strBildText
}
function fHittaIndex(value, index){
if (value != strBildText) {
// sorry
} else if (value == strBildText) {
iFoundIndex = index;
}
}
function placeraDivOverlay(sDIV) {
var d = document.getElementById(sDIV);
d.style.display = 'block';
}
function fPlaceProper(iVrid) {
switch (iVrid) {
case 0:
// "Y_1a" > "Y1a"
document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
// "Y_1b" > "Y1b"
document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
// "Y_2b" > "Y2b"
document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
// "Y_3b" > "Y3b"
document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
// "Y_3a" > "Y3a"
document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
// "Y_4a" > "Y4a"
document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
// "Y_6a" > "Y6a"
document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
// "Y_7b" > "Y7b"
document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
// "Y_7a" > "Y7a"
document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
// "Y_8b" > "Y8b"
document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
// "Y_9a" > "Y9a"
document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
// "Y_9b" > "Y9b"
document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
break;
case 1:
// "Y_1a" > "Y3b"
document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
// "Y_1b" > "Y3a"
document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
// "Y_2b" > "Y6a"
document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
// "Y_3b" > "Y9a"
document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
// "Y_3a" > "Y9b"
document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
// "Y_4a" > "Y2b"
document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
// "Y_6a" > "Y8b"
document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
// "Y_7b" > "Y1a"
document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
// "Y_7a" > "Y1b"
document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
// "Y_8b" > "Y4a"
document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
// "Y_9a" > "Y7b"
document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
// "Y_9b" > "Y7a"
document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
break;
case 2:
// "Y_1a" > "Y9a"
document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
// "Y_1b" > "Y9b"
document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
// "Y_2b" > "Y8b"
document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
// "Y_3b" > "Y7b"
document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
// "Y_3a" > "Y7a"
document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
// "Y_4a" > "Y6a"
document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
// "Y_6a" > "Y4a"
document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
// "Y_7b" > "Y3b"
document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
// "Y_7a" > "Y3a"
document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
// "Y_8b" > "Y2b"
document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
// "Y_9a" > "Y1a"
document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
// "Y_9b" > "Y1b"
document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
break;
case 3:
// "Y_1a" > "Y7b"
document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
// "Y_1b" > "Y7a"
document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
// "Y_2b" > "Y4a"
document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
// "Y_3b" > "Y1a"
document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
// "Y_3a" > "Y1b"
document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
// "Y_4a" > "Y8b"
document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
// "Y_6a" > "Y2b"
document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
// "Y_7b" > "Y9a"
document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
// "Y_7a" > "Y9b"
document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
// "Y_8b" > "Y6a"
document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
// "Y_9a" > "Y3b"
document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
// "Y_9b" > "Y3a"
document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
break;
}
}
</script>
</body>
</html>