Widget:DSAF Overload Puzzle Program: Difference between revisions
From NOISZ Wiki
RiceEmpress (talk | contribs) mNo edit summary |
RiceEmpress (talk | contribs) No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<!DOCTYPE html> | <!DOCTYPE html> | ||
<html> | <html> | ||
| Line 4: | Line 5: | ||
<title>Lights Out Puzzle OL</title> | <title>Lights Out Puzzle OL</title> | ||
<style> | <style> | ||
. | .OLcell { | ||
width: 6vw; | width: 6vw; | ||
height: 6vw; | height: 6vw; | ||
| Line 13: | Line 14: | ||
display: inline-block; | display: inline-block; | ||
} | } | ||
. | .answerOLcell { | ||
width: 4vw; | width: 4vw; | ||
height: 4vw; | height: 4vw; | ||
| Line 31: | Line 32: | ||
</head> | </head> | ||
<body> | <body> | ||
<nowiki><div align="center"></nowiki> | <nowiki><div align="center"></nowiki> | ||
<label for=" | <label for="OLquizSelect">Pattern Select:</label> | ||
<select id=" | <select id="OLquizSelect" onclick="changeOLQuiz()"> | ||
<option value=0>Random</option> | <option value=0>Random</option> | ||
<option value=1>Diagonal 4 Red Cells(1)</option> | <option value=1>Diagonal 4 Red Cells(1)</option> | ||
| Line 85: | Line 85: | ||
<nowiki></div></nowiki> | <nowiki></div></nowiki> | ||
<br/> | <br/> | ||
<nowiki><div align="center" id=" | <nowiki><div align="center" id="OLgameBoard"></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(0, 0)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(0, 1)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(0, 2)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(0, 3)"></div></nowiki> | ||
<nowiki><div class="space"></div></nowiki> | <nowiki><div class="space"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><br></nowiki> | <nowiki><br></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(1, 0)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(1, 1)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(1, 2)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(1, 3)"></div></nowiki> | ||
<nowiki><div class="space"></div></nowiki> | <nowiki><div class="space"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><br></nowiki> | <nowiki><br></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(2, 0)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(2, 1)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(2, 2)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(2, 3)"></div></nowiki> | ||
<nowiki><div class="space"></div></nowiki> | <nowiki><div class="space"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><br></nowiki> | <nowiki><br></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(3, 0)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(3, 1)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(3, 2)"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="OLcell" onclick="OLtoggleLights(3, 3)"></div></nowiki> | ||
<nowiki><div class="space"></div></nowiki> | <nowiki><div class="space"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki><div class=" | <nowiki><div class="answerOLcell"></div></nowiki> | ||
<nowiki></div></nowiki> | <nowiki></div></nowiki> | ||
<script> | <script> | ||
const | const OLsize = 4; | ||
const | const OLquiz = [ | ||
{name: "斜め赤4(1)", | {name: "斜め赤4(1)", | ||
OLgrid: [ | |||
[false, true, false, false], | [false, true, false, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 137: | Line 137: | ||
[false, false, true, true] | [false, false, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 145: | Line 145: | ||
}, | }, | ||
{name: "斜め赤4(2)", | {name: "斜め赤4(2)", | ||
OLgrid: [ | |||
[true, false, false, true], | [true, false, false, true], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 151: | Line 151: | ||
[true, false, false, true] | [true, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 159: | Line 159: | ||
}, | }, | ||
{name: "斜め赤4(3)", | {name: "斜め赤4(3)", | ||
OLgrid: [ | |||
[false, false, false, false], | [false, false, false, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 165: | Line 165: | ||
[false, false, false, false] | [false, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 173: | Line 173: | ||
}, | }, | ||
{name: "斜め赤5(1)", | {name: "斜め赤5(1)", | ||
OLgrid: [ | |||
[false, true, false, false], | [false, true, false, false], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 179: | Line 179: | ||
[false, false, false, false] | [false, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 187: | Line 187: | ||
}, | }, | ||
{name: "斜め赤5(2)", | {name: "斜め赤5(2)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 193: | Line 193: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 201: | Line 201: | ||
}, | }, | ||
{name: "斜め赤7(1)", | {name: "斜め赤7(1)", | ||
OLgrid: [ | |||
[false, true, false, true], | [false, true, false, true], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 207: | Line 207: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 215: | Line 215: | ||
}, | }, | ||
{name: "斜め赤7(2)", | {name: "斜め赤7(2)", | ||
OLgrid: [ | |||
[true, true, false, true], | [true, true, false, true], | ||
[false, false, true, true], | [false, false, true, true], | ||
| Line 221: | Line 221: | ||
[true, false, false, true] | [true, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 229: | Line 229: | ||
}, | }, | ||
{name: "斜め半々(1)", | {name: "斜め半々(1)", | ||
OLgrid: [ | |||
[true, true, false, true], | [true, true, false, true], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 235: | Line 235: | ||
[false, true, false, false] | [false, true, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 243: | Line 243: | ||
}, | }, | ||
{name: "斜め半々(2)", | {name: "斜め半々(2)", | ||
OLgrid: [ | |||
[true, false, false, true], | [true, false, false, true], | ||
[false, false, true, true], | [false, false, true, true], | ||
| Line 249: | Line 249: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 257: | Line 257: | ||
}, | }, | ||
{name: "斜め半々(3)", | {name: "斜め半々(3)", | ||
OLgrid: [ | |||
[true, true, false, true], | [true, true, false, true], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 263: | Line 263: | ||
[false, true, false, false] | [false, true, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 271: | Line 271: | ||
}, | }, | ||
{name: "斜め青7(1)", | {name: "斜め青7(1)", | ||
OLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, true], | [false, true, true, true], | ||
| Line 277: | Line 277: | ||
[false, false, true, false] | [false, false, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 285: | Line 285: | ||
}, | }, | ||
{name: "斜め青7(2)", | {name: "斜め青7(2)", | ||
OLgrid: [ | |||
[true, true, false, false], | [true, true, false, false], | ||
[false, false, true, true], | [false, false, true, true], | ||
| Line 291: | Line 291: | ||
[false, true, true, false] | [false, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 299: | Line 299: | ||
}, | }, | ||
{name: "斜め青7(3)", | {name: "斜め青7(3)", | ||
OLgrid: [ | |||
[true, false, false, true], | [true, false, false, true], | ||
[false, false, true, true], | [false, false, true, true], | ||
| Line 305: | Line 305: | ||
[false, true, false, true] | [false, true, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 313: | Line 313: | ||
}, | }, | ||
{name: "斜め青5(1)", | {name: "斜め青5(1)", | ||
OLgrid: [ | |||
[true, false, true, true], | [true, false, true, true], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 319: | Line 319: | ||
[true, true, true, true] | [true, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 327: | Line 327: | ||
}, | }, | ||
{name: "斜め青5(2)", | {name: "斜め青5(2)", | ||
OLgrid: [ | |||
[true, false, true, false], | [true, false, true, false], | ||
[true, false, true, false], | [true, false, true, false], | ||
| Line 333: | Line 333: | ||
[true, true, true, true] | [true, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 341: | Line 341: | ||
}, | }, | ||
{name: "斜め青5(3)", | {name: "斜め青5(3)", | ||
OLgrid: [ | |||
[true, true, false, false], | [true, true, false, false], | ||
[true, false, true, true], | [true, false, true, true], | ||
| Line 347: | Line 347: | ||
[true, true, true, true] | [true, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 355: | Line 355: | ||
}, | }, | ||
{name: "縦ボーダー赤3(1)", | {name: "縦ボーダー赤3(1)", | ||
OLgrid: [ | |||
[false, false, true, false], | [false, false, true, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 361: | Line 361: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 369: | Line 369: | ||
}, | }, | ||
{name: "縦ボーダー赤4(1)", | {name: "縦ボーダー赤4(1)", | ||
OLgrid: [ | |||
[false, false, false, false], | [false, false, false, false], | ||
[true, true, false, false], | [true, true, false, false], | ||
| Line 375: | Line 375: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 383: | Line 383: | ||
}, | }, | ||
{name: "縦ボーダー赤5(1)", | {name: "縦ボーダー赤5(1)", | ||
OLgrid: [ | |||
[false, true, false, false], | [false, true, false, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 389: | Line 389: | ||
[true, true, true, false] | [true, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 397: | Line 397: | ||
}, | }, | ||
{name: "縦ボーダー赤7(1)", | {name: "縦ボーダー赤7(1)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 403: | Line 403: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 411: | Line 411: | ||
}, | }, | ||
{name: "縦ボーダー赤7(2)", | {name: "縦ボーダー赤7(2)", | ||
OLgrid: [ | |||
[false, false, true, false], | [false, false, true, false], | ||
[true, false, false, false], | [true, false, false, false], | ||
| Line 417: | Line 417: | ||
[true, true, true, false] | [true, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 425: | Line 425: | ||
}, | }, | ||
{name: "縦ボーダー赤7(3)", | {name: "縦ボーダー赤7(3)", | ||
OLgrid: [ | |||
[true, false, false, false], | [true, false, false, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 431: | Line 431: | ||
[false, true, false, true] | [false, true, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 439: | Line 439: | ||
}, | }, | ||
{name: "縦ボーダー半々(1)", | {name: "縦ボーダー半々(1)", | ||
OLgrid: [ | |||
[true, false, false, false], | [true, false, false, false], | ||
[true, true, false, true], | [true, true, false, true], | ||
| Line 445: | Line 445: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 453: | Line 453: | ||
}, | }, | ||
{name: "縦ボーダー半々(2)", | {name: "縦ボーダー半々(2)", | ||
OLgrid: [ | |||
[false, false, true, false], | [false, false, true, false], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 459: | Line 459: | ||
[true, true, false, false] | [true, true, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 467: | Line 467: | ||
}, | }, | ||
{name: "縦ボーダー半々(3)", | {name: "縦ボーダー半々(3)", | ||
OLgrid: [ | |||
[false, true, false, true], | [false, true, false, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 473: | Line 473: | ||
[false, true, false, true] | [false, true, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 481: | Line 481: | ||
}, | }, | ||
{name: "縦ボーダー青7(1)", | {name: "縦ボーダー青7(1)", | ||
OLgrid: [ | |||
[false, false, false, false], | [false, false, false, false], | ||
[false, true, true, true], | [false, true, true, true], | ||
| Line 487: | Line 487: | ||
[true, true, false, true] | [true, true, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 495: | Line 495: | ||
}, | }, | ||
{name: "縦ボーダー青7(2)", | {name: "縦ボーダー青7(2)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 501: | Line 501: | ||
[true, true, true, false] | [true, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 509: | Line 509: | ||
}, | }, | ||
{name: "縦ボーダー青7(3)", | {name: "縦ボーダー青7(3)", | ||
OLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[false, true, false, false], | [false, true, false, false], | ||
| Line 515: | Line 515: | ||
[false, true, false, true] | [false, true, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 523: | Line 523: | ||
}, | }, | ||
{name: "縦ボーダー青7(4)", | {name: "縦ボーダー青7(4)", | ||
OLgrid: [ | |||
[false, true, false, true], | [false, true, false, true], | ||
[true, true, true, false], | [true, true, true, false], | ||
| Line 529: | Line 529: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 537: | Line 537: | ||
}, | }, | ||
{name: "円形赤4(1)", | {name: "円形赤4(1)", | ||
OLgrid: [ | |||
[false, false, false, true], | [false, false, false, true], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 543: | Line 543: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 551: | Line 551: | ||
}, | }, | ||
{name: "円形赤5(1)", | {name: "円形赤5(1)", | ||
OLgrid: [ | |||
[false, true, false, false], | [false, true, false, false], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 557: | Line 557: | ||
[true, false, false, true] | [true, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 565: | Line 565: | ||
}, | }, | ||
{name: "円形赤7(1)", | {name: "円形赤7(1)", | ||
OLgrid: [ | |||
[true, false, true, false], | [true, false, true, false], | ||
[false, true, true, false], | [false, true, true, false], | ||
| Line 571: | Line 571: | ||
[false, false, false, true] | [false, false, false, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 579: | Line 579: | ||
}, | }, | ||
{name: "円形半々(1)", | {name: "円形半々(1)", | ||
OLgrid: [ | |||
[false, true, false, true], | [false, true, false, true], | ||
[false, true, false, false], | [false, true, false, false], | ||
| Line 585: | Line 585: | ||
[true, false, true, true] | [true, false, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 593: | Line 593: | ||
}, | }, | ||
{name: "円形半々(2)", | {name: "円形半々(2)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 599: | Line 599: | ||
[false, false, true, true] | [false, false, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 607: | Line 607: | ||
}, | }, | ||
{name: "円形青7(1)", | {name: "円形青7(1)", | ||
OLgrid: [ | |||
[false, true, false, true], | [false, true, false, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 613: | Line 613: | ||
[true, true, true, false] | [true, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 621: | Line 621: | ||
}, | }, | ||
{name: "円形青5(1)", | {name: "円形青5(1)", | ||
OLgrid: [ | |||
[true, true, false, true], | [true, true, false, true], | ||
[true, true, true, false], | [true, true, true, false], | ||
| Line 627: | Line 627: | ||
[true, true, true, false] | [true, true, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 635: | Line 635: | ||
}, | }, | ||
{name: "円形青3(1)", | {name: "円形青3(1)", | ||
OLgrid: [ | |||
[true, true, false, true], | [true, true, false, true], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 641: | Line 641: | ||
[false, true, true, true] | [false, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, false, false, true], | [true, false, false, true], | ||
| Line 649: | Line 649: | ||
}, | }, | ||
{name: "四方形赤4(1)", | {name: "四方形赤4(1)", | ||
OLgrid: [ | |||
[false, false, false, true], | [false, false, false, true], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 655: | Line 655: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 663: | Line 663: | ||
}, | }, | ||
{name: "四方形赤4(2)", | {name: "四方形赤4(2)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[false, true, false, false], | [false, true, false, false], | ||
| Line 669: | Line 669: | ||
[false, true, false, false] | [false, true, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 677: | Line 677: | ||
}, | }, | ||
{name: "四方形赤5(1)", | {name: "四方形赤5(1)", | ||
OLgrid: [ | |||
[false, true, false, false], | [false, true, false, false], | ||
[true, false, false, false], | [true, false, false, false], | ||
| Line 683: | Line 683: | ||
[false, true, true, true] | [false, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 691: | Line 691: | ||
}, | }, | ||
{name: "四方形赤5(2)", | {name: "四方形赤5(2)", | ||
OLgrid: [ | |||
[false, false, true, true], | [false, false, true, true], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 697: | Line 697: | ||
[true, false, false, false] | [true, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 705: | Line 705: | ||
}, | }, | ||
{name: "四方形赤7(1)", | {name: "四方形赤7(1)", | ||
OLgrid: [ | |||
[true, false, true, true], | [true, false, true, true], | ||
[false, false, true, false], | [false, false, true, false], | ||
| Line 711: | Line 711: | ||
[false, false, false, false] | [false, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 719: | Line 719: | ||
}, | }, | ||
{name: "四方形赤7(2)", | {name: "四方形赤7(2)", | ||
OLgrid: [ | |||
[true, true, true, false], | [true, true, true, false], | ||
[true, false, false, false], | [true, false, false, false], | ||
| Line 725: | Line 725: | ||
[false, true, false, false] | [false, true, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 733: | Line 733: | ||
}, | }, | ||
{name: "四方形半々(1)", | {name: "四方形半々(1)", | ||
OLgrid: [ | |||
[true, false, true, false], | [true, false, true, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 739: | Line 739: | ||
[true, false, true, false] | [true, false, true, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 747: | Line 747: | ||
}, | }, | ||
{name: "四方形青5(1)", | {name: "四方形青5(1)", | ||
OLgrid: [ | |||
[true, true, false, false], | [true, true, false, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 753: | Line 753: | ||
[false, true, true, true] | [false, true, true, true] | ||
], | ], | ||
answerOLgrid: [ | |||
[false, true, true, false], | [false, true, true, false], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 761: | Line 761: | ||
}, | }, | ||
{name: "Default", | {name: "Default", | ||
OLgrid: [ | |||
[false, false, false, false], | [false, false, false, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 767: | Line 767: | ||
[false, false, false, false] | [false, false, false, false] | ||
], | ], | ||
answerOLgrid: [ | |||
[true, true, true, true], | [true, true, true, true], | ||
[true, true, true, true], | [true, true, true, true], | ||
| Line 776: | Line 776: | ||
]; | ]; | ||
const | const OLgrid= [ | ||
[false, false, false, false], | [false, false, false, false], | ||
[false, false, false, false], | [false, false, false, false], | ||
| Line 783: | Line 783: | ||
]; | ]; | ||
let | let OLQuiz = OLquiz[OLquiz.length-1]; | ||
function | function OLinitializeBoard() { | ||
const | const OLgameBoard = document.getElementById("OLgameBoard"); | ||
const | const OLcells = OLgameBoard.getElementsByClassName("OLcell"); | ||
const | const answerOLcells = OLgameBoard.getElementsByClassName("answerOLcell"); | ||
for (let i = 0; i < | for (let i = 0; i < OLcells.length; i++) { | ||
const row = Math.floor(i / | const row = Math.floor(i / OLsize); | ||
const col = i % | const col = i % OLsize; | ||
const | const OLcell = OLcells[i]; | ||
OLcell.style.backgroundColor = OLgrid[row][col] ? "red" : "blue"; | |||
OLcell.style.cursor = "pointer"; | |||
const | const answerOLcell = answerOLcells[i]; | ||
answerOLcell.style.backgroundColor = OLQuiz.answerOLgrid[row][col] ? "red" : "blue"; | |||
} | } | ||
} | } | ||
function | function OLtoggleLights(row, col) { | ||
OLgrid[row][col] = !OLgrid[row][col]; | |||
if (row > 0) { | if (row > 0) { | ||
OLgrid[row - 1][col] = !OLgrid[row - 1][col]; | |||
} | } | ||
if (row < | if (row < OLsize - 1) { | ||
OLgrid[row + 1][col] = !OLgrid[row + 1][col]; | |||
} | } | ||
if (col > 0) { | if (col > 0) { | ||
OLgrid[row][col-1] = !OLgrid[row][col-1]; | |||
} | } | ||
if (col < | if (col < OLsize - 1) { | ||
OLgrid[row][col+1] = !OLgrid[row][col+1]; | |||
} | } | ||
OLinitializeBoard(); | |||
OLcheckWin(); | |||
} | } | ||
function | function OLcheckWin() { | ||
const | const OLgameBoard = document.getElementById("OLgameBoard"); | ||
const | const OLcells = OLgameBoard.getElementsByClassName("OLcell"); | ||
for (let i = 0; i < | for (let i = 0; i < OLcells.length; i++) { | ||
const row = Math.floor(i / | const row = Math.floor(i / OLsize); | ||
const col = i % | const col = i % OLsize; | ||
if ( | if (OLgrid[row][col] !== OLQuiz.answerOLgrid[row][col]) { | ||
return; | return; | ||
} | } | ||
| Line 836: | Line 836: | ||
} | } | ||
function | function setOLgrid(){ | ||
const | const OLcells = OLgameBoard.getElementsByClassName("OLcell"); | ||
for (let i = 0; i < | for (let i = 0; i < OLcells.length; i++) { | ||
const row = Math.floor(i / | const row = Math.floor(i / OLsize); | ||
const col = i % | const col = i % OLsize; | ||
OLgrid[row][col] = OLQuiz.OLgrid[row][col]; | |||
} | } | ||
} | } | ||
function | function changeOLQuiz() { | ||
const selectElement = document.getElementById(" | const selectElement = document.getElementById("OLquizSelect"); | ||
const | const selectedOLQuiz = selectElement.value; | ||
const | const OLcells = OLgameBoard.getElementsByClassName("OLcell"); | ||
if ( | if (selectedOLQuiz === "0") { | ||
OLQuiz = OLquiz[Math.floor(Math.random() * (OLquiz.length-1))]; | |||
} else { | } else { | ||
OLQuiz = OLquiz[selectedOLQuiz-1]; | |||
} | } | ||
for (let i = 0; i < | for (let i = 0; i < OLcells.length; i++) { | ||
const row = Math.floor(i / | const row = Math.floor(i / OLsize); | ||
const col = i % | const col = i % OLsize; | ||
OLgrid[row][col] = OLQuiz.OLgrid[row][col]; | |||
} | } | ||
setOLgrid(); | |||
OLinitializeBoard(); | |||
} | } | ||
OLinitializeBoard(); | |||
</script> | </script> | ||
</body> | </body> | ||
Latest revision as of 05:13, 24 November 2025
<!DOCTYPE html>
<html>
<head>
<title>Lights Out Puzzle OL</title>
<style>
.OLcell {
width: 6vw;
height: 6vw;
max-width: 60px;
max-height: 60px;
border: 1px solid black;
background-color: blue;
display: inline-block;
}
.answerOLcell {
width: 4vw;
height: 4vw;
max-width: 40px;
max-height: 40px;
border: 1px solid black;
background-color: blue;
display: inline-block;
margin-left: 2vw;
}
.space {
width: 2vw;
height: 2vw;
display: inline-block;
}
</style>
</head>
<body>
<div align="center">
<label for="OLquizSelect">Pattern Select:</label>
<select id="OLquizSelect" onclick="changeOLQuiz()">
<option value=0>Random</option>
<option value=1>Diagonal 4 Red Cells(1)</option>
<option value=2>Diagonal 4 Red Cells(2)</option>
<option value=3>Diagonal 4 Red Cells(3)</option>
<option value=4>Diagonal 5 Red Cells(1)</option>
<option value=5>Diagonal 5 Red Cells(2)</option>
<option value=6>Diagonal 7 Red Cells(1)</option>
<option value=7>Diagonal 7 Red Cells(2)</option>
<option value=8>Diagonal Half & Half(1)</option>
<option value=9>Diagonal Half & Half(2)</option>
<option value=10>Diagonal Half & Half(3)</option>
<option value=11>Diagonal 7 Blue Cells(1)</option>
<option value=12>Diagonal 7 Blue Cells(2)</option>
<option value=13>Diagonal 7 Blue Cells(3)</option>
<option value=14>Diagonal 5 Blue Cells(1)</option>
<option value=15>Diagonal 5 Blue Cells(2)</option>
<option value=16>Diagonal 5 Blue Cells(3)</option>
<option value=17>Vertical Border 3 Red Cells(1)</option>
<option value=18>Vertical Border 4 Red Cells(1)</option>
<option value=19>Vertical Border 5 Red Cells(1)</option>
<option value=20>Vertical Border 7 Red Cells(1)</option>
<option value=21>Vertical Border 7 Red Cells(2)</option>
<option value=22>Vertical Border 7 Red Cells(3)</option>
<option value=23>Vertical Border Half & Half(1)</option>
<option value=24>Vertical Border Half & Half(2)</option>
<option value=25>Vertical Border Half & Half(3)</option>
<option value=26>Vertical Border 7 Blue Cells(1)</option>
<option value=27>Vertical Border 7 Blue Cells(2)</option>
<option value=28>Vertical Border 7 Blue Cells7(3)</option>
<option value=29>Vertical Border 7 Blue Cells(4)</option>
<option value=30>Round 4 Red Cells(1)</option>
<option value=31>Round 5 Red Cells(1)</option>
<option value=32>Round 7 Red Cells(1)</option>
<option value=33>Round Half & Half(1)</option>
<option value=34>Round Half & Half(2)</option>
<option value=35>Round 7 Blue Cells(1)</option>
<option value=36>Round 5 Blue Cells(1)</option>
<option value=37>Round 3 Blue Cells(1)</option>
<option value=38>Four Corners 4 Red Cells(1)</option>
<option value=39>Four Corners 4 Red Cells(2)</option>
<option value=40>Four Corners 5 Red Cells(1)</option>
<option value=41>Four Corners 5 Red Cells(2)</option>
<option value=42>Four Corners 7 Red Cells(1)</option>
<option value=43>Four Corners 7 Red Cells(2)</option>
<option value=44>Four Corners Half & Half(1)</option>
<option value=45>Four Corners 5 Blue Cells(1)</option>
</select>
</div>
<div align="center" id="OLgameBoard">
<div class="OLcell" onclick="OLtoggleLights(0, 0)"></div>
<div class="OLcell" onclick="OLtoggleLights(0, 1)"></div>
<div class="OLcell" onclick="OLtoggleLights(0, 2)"></div>
<div class="OLcell" onclick="OLtoggleLights(0, 3)"></div>
<div class="space"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<br>
<div class="OLcell" onclick="OLtoggleLights(1, 0)"></div>
<div class="OLcell" onclick="OLtoggleLights(1, 1)"></div>
<div class="OLcell" onclick="OLtoggleLights(1, 2)"></div>
<div class="OLcell" onclick="OLtoggleLights(1, 3)"></div>
<div class="space"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<br>
<div class="OLcell" onclick="OLtoggleLights(2, 0)"></div>
<div class="OLcell" onclick="OLtoggleLights(2, 1)"></div>
<div class="OLcell" onclick="OLtoggleLights(2, 2)"></div>
<div class="OLcell" onclick="OLtoggleLights(2, 3)"></div>
<div class="space"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<br>
<div class="OLcell" onclick="OLtoggleLights(3, 0)"></div>
<div class="OLcell" onclick="OLtoggleLights(3, 1)"></div>
<div class="OLcell" onclick="OLtoggleLights(3, 2)"></div>
<div class="OLcell" onclick="OLtoggleLights(3, 3)"></div>
<div class="space"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
<div class="answerOLcell"></div>
</div>
<script>
const OLsize = 4;
const OLquiz = [
{name: "斜め赤4(1)",
OLgrid: [
[false, true, false, false],
[false, false, false, false],
[false, true, false, false],
[false, false, true, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤4(2)",
OLgrid: [
[true, false, false, true],
[false, false, false, false],
[false, false, false, false],
[true, false, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤4(3)",
OLgrid: [
[false, false, false, false],
[false, true, true, false],
[false, true, true, false],
[false, false, false, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤5(1)",
OLgrid: [
[false, true, false, false],
[false, false, true, false],
[true, true, true, false],
[false, false, false, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤5(2)",
OLgrid: [
[false, false, true, true],
[false, false, false, false],
[false, false, true, true],
[false, false, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤7(1)",
OLgrid: [
[false, true, false, true],
[false, true, true, false],
[true, false, true, false],
[false, false, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め赤7(2)",
OLgrid: [
[true, true, false, true],
[false, false, true, true],
[false, false, false, false],
[true, false, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め半々(1)",
OLgrid: [
[true, true, false, true],
[true, true, false, true],
[false, true, false, false],
[false, true, false, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め半々(2)",
OLgrid: [
[true, false, false, true],
[false, false, true, true],
[true, true, true, false],
[false, false, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め半々(3)",
OLgrid: [
[true, true, false, true],
[false, false, true, false],
[true, false, true, true],
[false, true, false, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青7(1)",
OLgrid: [
[false, true, true, false],
[false, true, true, true],
[true, false, true, true],
[false, false, true, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青7(2)",
OLgrid: [
[true, true, false, false],
[false, false, true, true],
[true, true, false, true],
[false, true, true, false]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青7(3)",
OLgrid: [
[true, false, false, true],
[false, false, true, true],
[true, true, false, true],
[false, true, false, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青5(1)",
OLgrid: [
[true, false, true, true],
[true, true, false, true],
[false, false, false, true],
[true, true, true, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青5(2)",
OLgrid: [
[true, false, true, false],
[true, false, true, false],
[true, true, false, true],
[true, true, true, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "斜め青5(3)",
OLgrid: [
[true, true, false, false],
[true, false, true, true],
[true, true, false, false],
[true, true, true, true]
],
answerOLgrid: [
[true, true, true, false],
[true, true, false, true],
[true, false, true, true],
[false, true, true, true]
]
},
{name: "縦ボーダー赤3(1)",
OLgrid: [
[false, false, true, false],
[false, false, false, false],
[false, false, false, true],
[true, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー赤4(1)",
OLgrid: [
[false, false, false, false],
[true, true, false, false],
[false, false, false, true],
[true, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー赤5(1)",
OLgrid: [
[false, true, false, false],
[false, false, false, false],
[false, false, false, true],
[true, true, true, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー赤7(1)",
OLgrid: [
[false, false, true, true],
[true, false, false, true],
[true, true, false, false],
[true, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー赤7(2)",
OLgrid: [
[false, false, true, false],
[true, false, false, false],
[true, false, false, true],
[true, true, true, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー赤7(3)",
OLgrid: [
[true, false, false, false],
[true, true, false, true],
[true, false, false, false],
[false, true, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー半々(1)",
OLgrid: [
[true, false, false, false],
[true, true, false, true],
[true, false, true, true],
[false, false, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー半々(2)",
OLgrid: [
[false, false, true, false],
[true, false, false, true],
[true, false, true, true],
[true, true, false, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー半々(3)",
OLgrid: [
[false, true, false, true],
[true, false, false, true],
[false, true, true, false],
[false, true, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー青7(1)",
OLgrid: [
[false, false, false, false],
[false, true, true, true],
[true, true, false, true],
[true, true, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー青7(2)",
OLgrid: [
[false, false, true, true],
[false, true, true, false],
[true, true, false, false],
[true, true, true, false]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー青7(3)",
OLgrid: [
[true, true, true, false],
[false, true, false, false],
[true, true, true, false],
[false, true, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "縦ボーダー青7(4)",
OLgrid: [
[false, true, false, true],
[true, true, true, false],
[true, true, false, true],
[false, false, false, true]
],
answerOLgrid: [
[false, true, true, false],
[false, true, true, false],
[false, true, true, false],
[false, true, true, false]
]
},
{name: "円形赤4(1)",
OLgrid: [
[false, false, false, true],
[false, false, true, false],
[false, true, false, false],
[true, false, false, false]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形赤5(1)",
OLgrid: [
[false, true, false, false],
[false, false, true, false],
[true, false, false, false],
[true, false, false, true]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形赤7(1)",
OLgrid: [
[true, false, true, false],
[false, true, true, false],
[false, false, true, true],
[false, false, false, true]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形半々(1)",
OLgrid: [
[false, true, false, true],
[false, true, false, false],
[false, true, true, false],
[true, false, true, true]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形半々(2)",
OLgrid: [
[false, false, true, true],
[true, false, false, true],
[false, true, true, false],
[false, false, true, true]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形青7(1)",
OLgrid: [
[false, true, false, true],
[true, false, false, true],
[true, true, false, false],
[true, true, true, false]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形青5(1)",
OLgrid: [
[true, true, false, true],
[true, true, true, false],
[false, true, true, false],
[true, true, true, false]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "円形青3(1)",
OLgrid: [
[true, true, false, true],
[true, true, true, true],
[true, true, true, false],
[false, true, true, true]
],
answerOLgrid: [
[true, true, true, true],
[true, false, false, true],
[true, false, false, true],
[true, true, true, true]
]
},
{name: "四方形赤4(1)",
OLgrid: [
[false, false, false, true],
[false, false, true, false],
[false, true, false, false],
[true, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形赤4(2)",
OLgrid: [
[false, false, true, true],
[false, true, false, false],
[false, false, false, false],
[false, true, false, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形赤5(1)",
OLgrid: [
[false, true, false, false],
[true, false, false, false],
[false, false, false, false],
[false, true, true, true]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形赤5(2)",
OLgrid: [
[false, false, true, true],
[false, false, false, false],
[false, true, false, true],
[true, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形赤7(1)",
OLgrid: [
[true, false, true, true],
[false, false, true, false],
[false, true, true, true],
[false, false, false, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形赤7(2)",
OLgrid: [
[true, true, true, false],
[true, false, false, false],
[true, false, false, true],
[false, true, false, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形半々(1)",
OLgrid: [
[true, false, true, false],
[false, false, false, false],
[true, true, true, true],
[true, false, true, false]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "四方形青5(1)",
OLgrid: [
[true, true, false, false],
[true, true, true, true],
[true, false, true, false],
[false, true, true, true]
],
answerOLgrid: [
[false, true, true, false],
[true, true, true, true],
[true, true, true, true],
[false, true, true, false]
]
},
{name: "Default",
OLgrid: [
[false, false, false, false],
[false, false, false, false],
[false, false, false, false],
[false, false, false, false]
],
answerOLgrid: [
[true, true, true, true],
[true, true, true, true],
[true, true, true, true],
[true, true, true, true]
]
}
];
const OLgrid= [
[false, false, false, false],
[false, false, false, false],
[false, false, false, false],
[false, false, false, false]
];
let OLQuiz = OLquiz[OLquiz.length-1];
function OLinitializeBoard() {
const OLgameBoard = document.getElementById("OLgameBoard");
const OLcells = OLgameBoard.getElementsByClassName("OLcell");
const answerOLcells = OLgameBoard.getElementsByClassName("answerOLcell");
for (let i = 0; i < OLcells.length; i++) {
const row = Math.floor(i / OLsize);
const col = i % OLsize;
const OLcell = OLcells[i];
OLcell.style.backgroundColor = OLgrid[row][col] ? "red" : "blue";
OLcell.style.cursor = "pointer";
const answerOLcell = answerOLcells[i];
answerOLcell.style.backgroundColor = OLQuiz.answerOLgrid[row][col] ? "red" : "blue";
}
}
function OLtoggleLights(row, col) {
OLgrid[row][col] = !OLgrid[row][col];
if (row > 0) {
OLgrid[row - 1][col] = !OLgrid[row - 1][col];
}
if (row < OLsize - 1) {
OLgrid[row + 1][col] = !OLgrid[row + 1][col];
}
if (col > 0) {
OLgrid[row][col-1] = !OLgrid[row][col-1];
}
if (col < OLsize - 1) {
OLgrid[row][col+1] = !OLgrid[row][col+1];
}
OLinitializeBoard();
OLcheckWin();
}
function OLcheckWin() {
const OLgameBoard = document.getElementById("OLgameBoard");
const OLcells = OLgameBoard.getElementsByClassName("OLcell");
for (let i = 0; i < OLcells.length; i++) {
const row = Math.floor(i / OLsize);
const col = i % OLsize;
if (OLgrid[row][col] !== OLQuiz.answerOLgrid[row][col]) {
return;
}
}
alert("Congrats!! You solved the puzzle!");
}
function setOLgrid(){
const OLcells = OLgameBoard.getElementsByClassName("OLcell");
for (let i = 0; i < OLcells.length; i++) {
const row = Math.floor(i / OLsize);
const col = i % OLsize;
OLgrid[row][col] = OLQuiz.OLgrid[row][col];
}
}
function changeOLQuiz() {
const selectElement = document.getElementById("OLquizSelect");
const selectedOLQuiz = selectElement.value;
const OLcells = OLgameBoard.getElementsByClassName("OLcell");
if (selectedOLQuiz === "0") {
OLQuiz = OLquiz[Math.floor(Math.random() * (OLquiz.length-1))];
} else {
OLQuiz = OLquiz[selectedOLQuiz-1];
}
for (let i = 0; i < OLcells.length; i++) {
const row = Math.floor(i / OLsize);
const col = i % OLsize;
OLgrid[row][col] = OLQuiz.OLgrid[row][col];
}
setOLgrid();
OLinitializeBoard();
}
OLinitializeBoard();
</script>
</body>
</html>