<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> ::-webkit-scrollbar { width: 5px; } ::-webkit-scrollbar-track { background: #f1f1f1; } /* Handle */ ::-webkit-scrollbar-thumb { background: #888; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: #555; } </style> <title>Tetrion Opening Trainer</title> <link rel="stylesheet" href="css/styles.css"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!--insert shadertoy background--> <!--https://www.shadertoy.com/embed/wttfW2?gui=&t=10&paused=false&muted=false--> <div id="divbg"> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/4lBGDh?gui=true&t=10&paused=true&muted=false" allowfullscreen></iframe> --> <!-- <iframe width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/3tXBWj?gui=true&t=10&paused=true&muted=false" allowfullscreen></iframe> --> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/Xlf3Rj?gui=true&t=10&paused=false&muted=false" allowfullscreen></iframe> --> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/tdjyzz?gui=true&t=10&paused=false&muted=false" allowfullscreen></iframe> --> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/3lVfDm?gui=true&t=10&paused=true&muted=false" allowfullscreen></iframe> --> <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/WldfWX?gui=&paused=false&muted=false" ></iframe> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/MlSSRt?gui=&paused=false&muted=false" allowfullscreen></iframe> --> <!-- <iframe id="bg" width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/3sy3Wy?gui=true&t=10&paused=false&muted=false" ></iframe> --> <script> document.getElementById("bg").width = window.innerWidth; document.getElementById("bg").height = window.innerHeight; document.getElementById("bg").removeAttribute("tabIndex"); document.getElementById("divbg").removeAttribute("tabIndex"); </script> </div> <div id="tetris"> <canvas id="scene"></canvas> <div id="leftSide"> <div id="leftInfo"> <style> a:link, a:visited { color: powderblue; background-color: transparent; /*text-decoration: none;*/ }</style> <ul style="font-size:16px;color:dodgerblue;text-align:left;" id="Openers">Openers: <li style="font-size:12px;cdolor:powderblue;"><a href="#" id="setFreePlay">No Opener </a></li> <ul style="font-size:14px;color:dodgerblue;text-align:left;" id="TSpinOpeners">T-Spin Openers: <ul style="font-size:13px;color:dodgerblue;text-align:left;padding-left:1em;" id="EarlyIPiece">Early I Piece: <li style="font-size:12px;padding-left:1em;"><a href="#" id="setTKIFonzieVar">TKI 3 (Fonzie variation) </a></li> <!--<li style="font-size:12px;padding-left:1em;";><a href="#" id="setTKIFTVar">TKI 3 (Flat Top variation) </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setTKICTVar">TKI 3 (Castle Top variation) </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setAjanbaTSDVar">Ajanba TSD </a></li>--> </ul> <ul style="font-size:13px;color:dodgerblue;text-align:left;padding-left:1em;" id="EarlyLOrJPiece">Early L or J Piece: <li style="font-size:12px;padding-left:1em";><a href="#" id="setDTCannonVar">DT Cannon (LS / JZ base)</a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setMKOStackingVar">MKO Stacking</a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setPokeminosSTDVar">Pokemino's STD </a></li> </ul> <ul style="font-size:13px;color:dodgerblue;text-align:left;padding-left:1em;" id="EarlyLOrJPiece">Early O Piece: <li style="font-size:12px;padding-left:1em";><a href="#" id="setMrTSpinsSTDreversedVar">Mr. T-Spin's STD (reversed) </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setHachispinVar">Hachispin</a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setAlbatrossVar">Albatross</a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setNumberOneVar">Number One </a></li> </ul> <ul style="font-size:13px;color:dodgerblue;text-align:left;padding-left:1em;" id="EarlySZOrJPiece">Early S, Z, or T Piece: <li style="font-size:12px;padding-left:1em";><a href="#" id="setPelicanVar">Pelican</a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setDTCannonTSZbaseVar">DT Cannon (TSZ base) </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setBTCannonVar">BT Cannon </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setCSpinVar">C-Spin </a></li> <li style="font-size:12px;padding-left:1em";><a href="#" id="setHummingbirdVar">Hummingbird</a></li> </ul> </ul> <!-- <ul style="font-size:14px;color:powderblue;text-align:left;" id="ComboOpeners">Combo Openers <li style="font-size:12px;padding-left:1em;"><a href="#" id="setTKIFonzieVar">Side 4 Wide </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setTKIFonzieVar">Center 4 Wide </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setTKIFonzieVar">6 Residuals </a></li> </ul> --> <ul style="font-size:16px;color:dodgerblue;text-align:left;" > <ul style="font-size:13px;color:dodgerblue;text-align:left;padding-left:1em;" id="setPCOpenersVar">Perfect Clear Openers: <li style="font-size:12px;padding-left:1em;"><a href="#" id="setStdPCOpenerVar">The Standard PC Opener </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setSecondPCVar">Second Perfect Clear </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setLoJVar">Either L or J </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setLnJVar">Neither L nor J </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setLaJVar">Both L and J </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setPCTPieceVar">T piece </a></li> <li style="font-size:12px;padding-left:1em;"><a href="#" id="setSAVar">see also </a></li> </ul> </ul> </ul> </div> <canvas style="border: 1px solid #6666;" id="hold"></canvas> <br> <br> <input style="padding-left:12px;text-decoration:underline;overflow:visible;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" type="button" id="Timer" value="Timer Off"/> <input disabled=true style="padding:1px;overflow:visible;width:70px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" type="text" id="Time" value=""/> <input disabled=true style="overflow:visible;width:63px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" type="text" id="besttimetext" value="Best Time:"/> <input disabled=true style="overflow:visible;width:68px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" type="text" id="besttime" value=""/> </div> <div id="gameOver"> <h1>Game Over !</h1> <h3>Score: <span id="finalScore">0</span></h3> <h2><a href="#" id="restart">Restart</a></h2> </div> <div id="side"> <div id="info"> <h1 id="levelInfo">Level: <br><span id="level">1</span></h1> <h2 id="scoreInfo">Score: <br><span id="score" >0</span></h2> <!-- <h1 style="visibility:collapse;" id="linesInfo">Lines: <br><span id="lines" >0</span></h1> --> <div style="visibility:collapse" id="rewardInfo" class="invisible">+<span id="reward">0</span></div> <canvas style="border: 1px solid #6666;" id="preview"></canvas> <br> <select style="width:80px;font-size:13px;background:rgba(40,40,40,0);color:dodgerblue;border: 1px solid #6666;text-align:left;" id="settings" name="setting"> <option selected="">Settings:</option> </select> <input style="width:50px;font-size:13px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" type="text" id="setting_value"> <input style="width:45px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" id="submitsetting" type="submit" value="Set"></input> <br> <input style="width:70px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" id="test" type="submit" value="Hide Hints"></input> <input style="width:110px;font-size:12px;background:rgba(40,40,40,0);color:dodgerblue;border:1px solid #6666;text-align:left;" id="enablegamepad" type="button" value="Enable Gamepad"/> </div> </div> </div> </body> <script src="dist/tetrion.js"></script> <script> (function(){ var tetrion = new Tetris('tetris'); document.getElementById("setFreePlay").addEventListener("click", function() { tetrion.setFreePlay(); } ); document.getElementById("setTKIFonzieVar").addEventListener("click", function() { tetrion.setCurrentOpener(1); } ); document.getElementById("setDTCannonVar").addEventListener("click", function() { tetrion.setCurrentOpener(2); } ); document.getElementById("setMKOStackingVar").addEventListener("click", function() { tetrion.setCurrentOpener(3); } ); document.getElementById("setPokeminosSTDVar").addEventListener("click", function() { tetrion.setCurrentOpener(4); } ); document.getElementById("setMrTSpinsSTDreversedVar").addEventListener("click", function() { tetrion.setCurrentOpener(5); } ); document.getElementById("setHachispinVar").addEventListener("click", function() { tetrion.setCurrentOpener(6); } ); document.getElementById("setAlbatrossVar").addEventListener("click", function() { tetrion.setCurrentOpener(7); } ); document.getElementById("setNumberOneVar").addEventListener("click", function() { tetrion.setCurrentOpener(8); } ); document.getElementById("enablegamepad").addEventListener("click", function() { tetrion.toggleGamepad(); } ); document.getElementById("Timer").addEventListener("click", function() { tetrion.toggleTimer(); } ); document.getElementById("test").addEventListener("click", function() { tetrion.setDoTest(); } ); document.getElementById("settings").addEventListener("change", function() { tetrion.updateSettingTextBox(); } ); document.getElementById("submitsetting").addEventListener("click", function() { tetrion.setSettings(); } ); tetrion.start(); })(); </script> </html>