diff --git a/css/styles.css b/css/styles.css
index eb75cb0..735b60c 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -2,50 +2,7 @@ html,body{
height:100%;
}
- /* Dropdown Button */
-.dropbtn {
- background-color: #3498DB;
- color: white;
- padding: 16px;
- font-size: 16px;
- border: none;
- cursor: pointer;
-}
-/* Dropdown button on hover & focus */
-.dropbtn:hover, .dropbtn:focus {
- background-color: #2980B9;
-}
-
-/* The container
- needed to position the dropdown content */
-.dropdown {
- position: relative;
- display: inline-block;
-}
-
-/* Dropdown Content (Hidden by Default) */
-.dropdown-content {
- display: none;
- position: absolute;
- background-color: #f1f1f1;
- min-width: 160px;
- box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
- z-index: 1;
-}
-
-/* Links inside the dropdown */
-.dropdown-content a {
- color: black;
- padding: 12px 16px;
- text-decoration: none;
- display: block;
-}
-
-/* Change color of dropdown links on hover */
-.dropdown-content a:hover {background-color: #ddd}
-
-/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
-.show {display:block;}
body{
diff --git a/dist/tetrion.js b/dist/tetrion.js
index 1b7df39..22bff98 100644
--- a/dist/tetrion.js
+++ b/dist/tetrion.js
@@ -429,24 +429,17 @@ var utils = require('./utils.js');
var UserInputs = {
init() {
this.settingsMap = new Map();
- var options = "";
+
// var init = utils.getCookie("init");
// if(init == "")
for(var i in this.settingsList)
utils.setCookie(this.settingsList[i], this.settingsDefault[i], 30); // cookies expire in 30 days
-
-
-
// else
// for(var i in this.settingsList)
// this.settingsDefault[i] = utils.getCookie(this.settingsList[i]);
for(var i in this.settingsList)
this.settingsMap.set(this.settingsList[i], this.settingsDefault[i]);
-
-
-
- //document.getElementById("setting").innerHTML = settings;
document.addEventListener('keydown', this.keyDown.bind(this));
document.addEventListener('keyup', this.keyUp.bind(this));
@@ -470,31 +463,21 @@ var UserInputs = {
},
processGamepadInput() {
- // this.gamepadButtonsDown("RB"); // hard drop
- // this.gamepadButtonsDown("LB"); // hold
- // this.gamepadButtonsDown("A"); // rotate counter
- // this.gamepadButtonsDown("B"); // rotate cwise
- // this.gamepadButtonsDown("DPad-Up"); // Pop hold stack
- // this.gamepadButtonsDown("Back"); // reset
- //this.gamepadButtonsDown("X");
- //this.gamepadButtonsDown("Y");
-
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_harddrop")); // hard drop
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_hold")); // hold
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_rotateccw")); // rotate counter
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_rotate")); // rotate cwise
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_pophold")); // Pop hold stack
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_reset")); // reset
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Harddrop")); // hard drop
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Hold")); // hold
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Rotateccw")); // rotate counter
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Rotate")); // rotate cwise
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Pophold")); // Pop hold stack
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Reset")); // reset
return;
},
- processGamepadDPad()
- {
- this.gamepadDPadDown(this.settingsMap.get("gamepad_left")); // shift left
- this.gamepadDPadDown(this.settingsMap.get("gamepad_right")); // shift right
- this.gamepadDPadDown(this.settingsMap.get("gamepad_down")); // down
+ processGamepadDPad() {
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Left")); // shift left
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Right")); // shift right
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Down")); // down
return;
},
@@ -533,8 +516,8 @@ var UserInputs = {
// Direction Pad
gamepadDPadDown(finds) {
- var DAS = parseInt(this.settingsMap.get("gamepad_das")); //65.0;
- var ARR = parseInt(this.settingsMap.get("gamepad_arr")); //20.0;
+ var DAS = parseInt(this.settingsMap.get("Gamepad DAS")); //65.0;
+ var ARR = parseInt(this.settingsMap.get("Gamepad ARR")); //20.0;
var isContained = this.gpButtons.includes(finds);
var isPrevContained = this.prevGpButtons.includes(finds);
@@ -563,15 +546,16 @@ var UserInputs = {
return;
},
+ // doing a lot of back and forth between strings and integers to represtent the same thing -- todo: fix
processKeys() {
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_harddrop"))); //32); // Space - hard drop
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_rotate"))); //88); // X - rotate
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_rotateccw"))); //90); // Z - rotateccw
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_hold"))); //16); // shift - push hold stack
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_pophold"))); // ctrl - pop hold stack
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_background"))); // q - turn off background
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_reset"))); // r - reset
- //this.processKeyDown(this.settingsMap.get("keyboard_hold"))); // c - pop hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Harddrop"))); //32); // Space - hard drop
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Rotate"))); //88); // X - rotate
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Rotateccw"))); //90); // Z - rotateccw
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Hold"))); //16); // shift - push hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Pophold"))); // ctrl - pop hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Background"))); // q - turn off background
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Reset"))); // r - reset
+ //this.processKeyDown(this.settingsMap.get("Keyboard hold"))); // c - pop hold stack
},
// keyboard keys z,x,space
@@ -608,14 +592,14 @@ var UserInputs = {
},
processKeyShift() {
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_left"))); //39); // right
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_right"))); //37); // left
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_down"))); // down
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Left"))); //39); // right
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Right"))); //37); // left
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Down"))); // down
},
// Direction arrows
processKeyboardArrowKeys(key) {
- var DAS = parseInt(this.settingsMap.get("keyboard_das")); //65.0;
- var ARR = parseInt(this.settingsMap.get("keyboard_arr")); //20.0;
+ var DAS = parseInt(this.settingsMap.get("Keyboard DAS")); //65.0;
+ var ARR = parseInt(this.settingsMap.get("Keyboard ARR")); //20.0;
if(this.prevKeyboardKeys[key] != this.keyboardKeys[key]) {
@@ -689,15 +673,15 @@ var UserInputs = {
gamepadQueue: [],
ticks: 0,
- // todo: change to human readable
+
settingsList: ["init",
- "keyboard_das", "keyboard_arr", "keyboard_harddrop", "keyboard_hold",
- "keyboard_left", "keyboard_right", "keyboard_rotateccw", "keyboard_rotate",
- "keyboard_down", "keyboard_pophold", "keyboard_reset", "keyboard_background",
+ "Keyboard DAS", "Keyboard ARR", "Keyboard Harddrop", "Keyboard Hold",
+ "Keyboard Left", "Keyboard Right", "Keyboard Rotateccw", "Keyboard Rotate",
+ "Keyboard Down", "Keyboard Pophold", "Keyboard Reset", "Keyboard Background",
- "gamepad_das", "gamepad_arr", "gamepad_harddrop", "gamepad_hold",
- "gamepad_left", "gamepad_right", "gamepad_rotateccw", "gamepad_rotate",
- "gamepad_down","gamepad_pophold", "gamepad_reset", "gamepad_background",
+ "Gamepad DAS", "Gamepad ARR", "Gamepad Harddrop", "Gamepad Hold",
+ "Gamepad Left", "Gamepad Right", "Gamepad Rotateccw", "Gamepad Rotate",
+ "Gamepad Down","Gamepad Pophold", "Gamepad Reset", "Gamepad Background",
"path", "SameSite"],
settingsDefault: ["true",
@@ -922,7 +906,7 @@ Tetris.prototype = {
setDoTest: function()
{
if(this.isFreePlay) return;
- this.doTest = true;//!this.doTest;
+ this.doTest = true;
this._restartHandler();
},
createSettings: function () {
@@ -942,8 +926,6 @@ Tetris.prototype = {
console.log(document.getElementById("setting_value").value = inputs.settingsDefault[document.getElementById("settings").selectedIndex-1]);
},
setSettings: function() {
- //inputs.settingsDefault[document.getElementById("settings").selectedIndex-1] = document.getElementById("setting_value").value;
-
var newVal = document.getElementById("setting_value").value;
var key = inputs.settingsList[document.getElementById("settings").selectedIndex-1];
utils.setCookie(key, newVal, 30);
@@ -1003,8 +985,7 @@ Tetris.prototype = {
this.shape = this.shapeQueue.shift();
this.canPopFromHoldStack = false;
this.shape.resetOrigin();
- //canvas.drawHoldShape(this.holdStack);
- this._draw(); // update?
+ this._draw();
}
},
popHoldStack: function()
@@ -1015,7 +996,6 @@ Tetris.prototype = {
this.shapeQueue.unshift(utils.deepClone(this.shape));
this.shape = this.holdStack.pop();
this.shape.resetOrigin();
- //canvas.drawHoldShape(this.holdStack);
this._draw();
}
},
@@ -1035,8 +1015,6 @@ Tetris.prototype = {
// Fill next queue and set next shape
_fireShape: function() {
-
-
if(this.isFreePlay == false) {
while(this.shapeQueue.length <= 4)
{
@@ -1050,13 +1028,14 @@ Tetris.prototype = {
}
this.hintMino = this.hintQueue.shift();
- this.shape = this.shapeQueue.shift();// shapes.randomShape();
+ this.shape = this.shapeQueue.shift();
this.currentMinoInx++;
if(this.currentMinoInx > openers.getLength()) {
this.hintQueue = [];
this.shapeQueue = [];
+ // Recursion warning
this._restartHandler();
}
} else {
@@ -1443,7 +1422,7 @@ var OpenerGenerator = {
shapes.getShape(3));
break;
case 2:
- // DTCannon -- O I L S J Z T O I L J T O T
+ // DTCannon
this.shapeQueue = new Array(
shapes.getShape(1),
shapes.getShape(6),
@@ -1461,7 +1440,6 @@ var OpenerGenerator = {
shapes.getShape(3));
break;
case 3:
- // O - 1, I - 6, L - 0, S - 5, J - 4, Z - 2, T - 3
this.shapeQueue = new Array(
shapes.getShape(4),
shapes.getShape(5),
@@ -1471,6 +1449,8 @@ var OpenerGenerator = {
shapes.getShape(1),
shapes.getShape(5),
shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(2),
shapes.getShape(6),
shapes.getShape(0),
shapes.getShape(4),
@@ -1504,120 +1484,79 @@ var OpenerGenerator = {
switch(opener) {
case 0:
case 1:
- // Fonzie Variation
- this.hintQueue = new Array(
- shapes.getShape(0),
- shapes.getShape(6),
- shapes.getShape(1),
- shapes.getShape(5),
- shapes.getShape(2),
- shapes.getShape(4),
- shapes.getShape(3));
+ // Fonzie Variation
+ this.hintQueue = new Array(
+ shapes.getShape(0),
+ shapes.getShape(6),
+ shapes.getShape(1),
+ shapes.getShape(5),
+ shapes.getShape(2),
+ shapes.getShape(4),
+ shapes.getShape(3));
// position x, position y, orientation, position x,...
var hintDataList = [-1,17,1, 3,17,1, 6,18,0, 5,17,1, 3,17,0, 7,16,0, 1,17,2];
for(var i = 0; i < this.hintQueue.length; i++) {
- this.hintQueue[i].x = hintDataList[i*3];
- this.hintQueue[i].y = hintDataList[i*3 + 1];
- this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i*3 + 2]);
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
}
break;
case 2:
- // DT Cannon -- O I L S J Z T O I L J T O T
+ // DT Cannon
this.hintQueue = new Array(
- shapes.getShape(1),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(5),
- shapes.getShape(4),
- shapes.getShape(2),
- shapes.getShape(3),
- shapes.getShape(1),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(4),
- shapes.getShape(3),
- shapes.getShape(1),
- shapes.getShape(3));
+ shapes.getShape(1),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(5),
+ shapes.getShape(4),
+ shapes.getShape(2),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(4),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(3));
// position x, position y, orientation, position x,...
var hintDataList = [-2,18,0, 6,16,0, 6,17,1, 7,17,1, 4,17,-1, 3,17,3, 3,15,0, 5,15,0, 9,14,0, 2,13,-1, -1,15,1, 1,16,2, 3,16,1, 1,17,-1];
for(var i = 0; i < this.hintQueue.length; i++) {
- this.hintQueue[i].x = hintDataList[i*3];
- this.hintQueue[i].y = hintDataList[i*3 + 1];
- this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i*3 + 2]);
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
}
- /*
- // O
- this.hintQueue[0].x = -2;
- this.hintQueue[0].y = 18;
- // I
- this.hintQueue[1].x = 6;
- this.hintQueue[1].y = 16;
- // L
- this.hintQueue[2].x = 6;
- this.hintQueue[2].y = 17;
- this.hintQueue[2].state = this.hintQueue[2].nextState(1);
- // S
- this.hintQueue[3].x = 7;
- this.hintQueue[3].y = 17;
- this.hintQueue[3].state = this.hintQueue[3].nextState(1);
- // J
- this.hintQueue[4].x = 4;
- this.hintQueue[4].y = 17;
- this.hintQueue[4].state = this.hintQueue[4].nextState(-1);
- // Z
- this.hintQueue[5].x = 3;
- this.hintQueue[5].y = 17;
- this.hintQueue[5].state = this.hintQueue[5].nextState(3);
- // T
- this.hintQueue[6].x = 3;
- this.hintQueue[6].y = 15;
- // O
- this.hintQueue[7].x = 5;
- this.hintQueue[7].y = 15;
- // I
- this.hintQueue[8].x = 9;
- this.hintQueue[8].y = 14;
- // L
- this.hintQueue[9].x = 2;
- this.hintQueue[9].y = 13;
- this.hintQueue[9].state = this.hintQueue[9].nextState(-1);
- // J
- this.hintQueue[10].x = -1;
- this.hintQueue[10].y = 15;
- this.hintQueue[10].state = this.hintQueue[10].nextState(1);
- // T
- this.hintQueue[11].x = 1;
- this.hintQueue[11].y = 16;
- this.hintQueue[11].state = this.hintQueue[11].nextState(2);
- // O
- this.hintQueue[12].x = 3;
- this.hintQueue[12].y = 16;
- this.hintQueue[12].state = this.hintQueue[12].nextState(1);
- // T
- this.hintQueue[13].x = 1;
- this.hintQueue[13].y = 17;
- this.hintQueue[13].state = this.hintQueue[13].nextState(-1);
- */
break;
case 3:
- this.shapeQueue = new Array(
- shapes.getShape(4),
- shapes.getShape(5),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(2),
- shapes.getShape(1),
- shapes.getShape(5),
- shapes.getShape(3),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(4),
- shapes.getShape(3));
+ //MKO Stacking // O - 1, I - 6, L - 0, S - 5, J - 4, Z - 2, T - 3
+ this.hintQueue = new Array(
+ shapes.getShape(4),
+ shapes.getShape(5),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(2),
+ shapes.getShape(1),
+ shapes.getShape(5),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(2),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(4),
+ shapes.getShape(3));
+
+ // position x, position y, orientation, position x,...
+ var hintDataList = [0,18,0, 0,16,-1, 9,16,0, 4,18,0, 4,16,1, 5,18,0, 1,15,-1, 2,17,2, 5,18,0, 3,17,1, 6,15,1, 0,15,2, 0,14,0, 2,16,2];
+
+ for(var i = 0; i < this.hintQueue.length; i++) {
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
+ }
break;
default:
return;
diff --git a/src/input.js b/src/input.js
index 1c82c8c..7f2f6e5 100644
--- a/src/input.js
+++ b/src/input.js
@@ -5,24 +5,17 @@ var utils = require('./utils.js');
var UserInputs = {
init() {
this.settingsMap = new Map();
- var options = "";
+
// var init = utils.getCookie("init");
// if(init == "")
for(var i in this.settingsList)
utils.setCookie(this.settingsList[i], this.settingsDefault[i], 30); // cookies expire in 30 days
-
-
-
// else
// for(var i in this.settingsList)
// this.settingsDefault[i] = utils.getCookie(this.settingsList[i]);
for(var i in this.settingsList)
this.settingsMap.set(this.settingsList[i], this.settingsDefault[i]);
-
-
-
- //document.getElementById("setting").innerHTML = settings;
document.addEventListener('keydown', this.keyDown.bind(this));
document.addEventListener('keyup', this.keyUp.bind(this));
@@ -46,31 +39,21 @@ var UserInputs = {
},
processGamepadInput() {
- // this.gamepadButtonsDown("RB"); // hard drop
- // this.gamepadButtonsDown("LB"); // hold
- // this.gamepadButtonsDown("A"); // rotate counter
- // this.gamepadButtonsDown("B"); // rotate cwise
- // this.gamepadButtonsDown("DPad-Up"); // Pop hold stack
- // this.gamepadButtonsDown("Back"); // reset
- //this.gamepadButtonsDown("X");
- //this.gamepadButtonsDown("Y");
-
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_harddrop")); // hard drop
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_hold")); // hold
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_rotateccw")); // rotate counter
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_rotate")); // rotate cwise
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_pophold")); // Pop hold stack
- this.gamepadButtonsDown(this.settingsMap.get("gamepad_reset")); // reset
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Harddrop")); // hard drop
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Hold")); // hold
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Rotateccw")); // rotate counter
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Rotate")); // rotate cwise
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Pophold")); // Pop hold stack
+ this.gamepadButtonsDown(this.settingsMap.get("Gamepad Reset")); // reset
return;
},
- processGamepadDPad()
- {
- this.gamepadDPadDown(this.settingsMap.get("gamepad_left")); // shift left
- this.gamepadDPadDown(this.settingsMap.get("gamepad_right")); // shift right
- this.gamepadDPadDown(this.settingsMap.get("gamepad_down")); // down
+ processGamepadDPad() {
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Left")); // shift left
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Right")); // shift right
+ this.gamepadDPadDown(this.settingsMap.get("Gamepad Down")); // down
return;
},
@@ -109,8 +92,8 @@ var UserInputs = {
// Direction Pad
gamepadDPadDown(finds) {
- var DAS = parseInt(this.settingsMap.get("gamepad_das")); //65.0;
- var ARR = parseInt(this.settingsMap.get("gamepad_arr")); //20.0;
+ var DAS = parseInt(this.settingsMap.get("Gamepad DAS")); //65.0;
+ var ARR = parseInt(this.settingsMap.get("Gamepad ARR")); //20.0;
var isContained = this.gpButtons.includes(finds);
var isPrevContained = this.prevGpButtons.includes(finds);
@@ -139,15 +122,16 @@ var UserInputs = {
return;
},
+ // doing a lot of back and forth between strings and integers to represtent the same thing -- todo: fix
processKeys() {
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_harddrop"))); //32); // Space - hard drop
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_rotate"))); //88); // X - rotate
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_rotateccw"))); //90); // Z - rotateccw
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_hold"))); //16); // shift - push hold stack
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_pophold"))); // ctrl - pop hold stack
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_background"))); // q - turn off background
- this.processKeyDown(parseInt(this.settingsMap.get("keyboard_reset"))); // r - reset
- //this.processKeyDown(this.settingsMap.get("keyboard_hold"))); // c - pop hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Harddrop"))); //32); // Space - hard drop
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Rotate"))); //88); // X - rotate
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Rotateccw"))); //90); // Z - rotateccw
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Hold"))); //16); // shift - push hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Pophold"))); // ctrl - pop hold stack
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Background"))); // q - turn off background
+ this.processKeyDown(parseInt(this.settingsMap.get("Keyboard Reset"))); // r - reset
+ //this.processKeyDown(this.settingsMap.get("Keyboard hold"))); // c - pop hold stack
},
// keyboard keys z,x,space
@@ -184,14 +168,14 @@ var UserInputs = {
},
processKeyShift() {
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_left"))); //39); // right
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_right"))); //37); // left
- this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("keyboard_down"))); // down
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Left"))); //39); // right
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Right"))); //37); // left
+ this.processKeyboardArrowKeys(parseInt(this.settingsMap.get("Keyboard Down"))); // down
},
// Direction arrows
processKeyboardArrowKeys(key) {
- var DAS = parseInt(this.settingsMap.get("keyboard_das")); //65.0;
- var ARR = parseInt(this.settingsMap.get("keyboard_arr")); //20.0;
+ var DAS = parseInt(this.settingsMap.get("Keyboard DAS")); //65.0;
+ var ARR = parseInt(this.settingsMap.get("Keyboard ARR")); //20.0;
if(this.prevKeyboardKeys[key] != this.keyboardKeys[key]) {
@@ -265,15 +249,15 @@ var UserInputs = {
gamepadQueue: [],
ticks: 0,
- // todo: change to human readable
+
settingsList: ["init",
- "keyboard_das", "keyboard_arr", "keyboard_harddrop", "keyboard_hold",
- "keyboard_left", "keyboard_right", "keyboard_rotateccw", "keyboard_rotate",
- "keyboard_down", "keyboard_pophold", "keyboard_reset", "keyboard_background",
+ "Keyboard DAS", "Keyboard ARR", "Keyboard Harddrop", "Keyboard Hold",
+ "Keyboard Left", "Keyboard Right", "Keyboard Rotateccw", "Keyboard Rotate",
+ "Keyboard Down", "Keyboard Pophold", "Keyboard Reset", "Keyboard Background",
- "gamepad_das", "gamepad_arr", "gamepad_harddrop", "gamepad_hold",
- "gamepad_left", "gamepad_right", "gamepad_rotateccw", "gamepad_rotate",
- "gamepad_down","gamepad_pophold", "gamepad_reset", "gamepad_background",
+ "Gamepad DAS", "Gamepad ARR", "Gamepad Harddrop", "Gamepad Hold",
+ "Gamepad Left", "Gamepad Right", "Gamepad Rotateccw", "Gamepad Rotate",
+ "Gamepad Down","Gamepad Pophold", "Gamepad Reset", "Gamepad Background",
"path", "SameSite"],
settingsDefault: ["true",
diff --git a/src/main.js b/src/main.js
index 901dc8d..10c3e36 100644
--- a/src/main.js
+++ b/src/main.js
@@ -205,7 +205,7 @@ Tetris.prototype = {
setDoTest: function()
{
if(this.isFreePlay) return;
- this.doTest = true;//!this.doTest;
+ this.doTest = true;
this._restartHandler();
},
createSettings: function () {
@@ -225,8 +225,6 @@ Tetris.prototype = {
console.log(document.getElementById("setting_value").value = inputs.settingsDefault[document.getElementById("settings").selectedIndex-1]);
},
setSettings: function() {
- //inputs.settingsDefault[document.getElementById("settings").selectedIndex-1] = document.getElementById("setting_value").value;
-
var newVal = document.getElementById("setting_value").value;
var key = inputs.settingsList[document.getElementById("settings").selectedIndex-1];
utils.setCookie(key, newVal, 30);
@@ -286,8 +284,7 @@ Tetris.prototype = {
this.shape = this.shapeQueue.shift();
this.canPopFromHoldStack = false;
this.shape.resetOrigin();
- //canvas.drawHoldShape(this.holdStack);
- this._draw(); // update?
+ this._draw();
}
},
popHoldStack: function()
@@ -298,7 +295,6 @@ Tetris.prototype = {
this.shapeQueue.unshift(utils.deepClone(this.shape));
this.shape = this.holdStack.pop();
this.shape.resetOrigin();
- //canvas.drawHoldShape(this.holdStack);
this._draw();
}
},
@@ -318,8 +314,6 @@ Tetris.prototype = {
// Fill next queue and set next shape
_fireShape: function() {
-
-
if(this.isFreePlay == false) {
while(this.shapeQueue.length <= 4)
{
@@ -333,13 +327,14 @@ Tetris.prototype = {
}
this.hintMino = this.hintQueue.shift();
- this.shape = this.shapeQueue.shift();// shapes.randomShape();
+ this.shape = this.shapeQueue.shift();
this.currentMinoInx++;
if(this.currentMinoInx > openers.getLength()) {
this.hintQueue = [];
this.shapeQueue = [];
+ // Recursion warning
this._restartHandler();
}
} else {
diff --git a/src/openers.js b/src/openers.js
index e9c1a1c..d3b7444 100644
--- a/src/openers.js
+++ b/src/openers.js
@@ -29,7 +29,7 @@ var OpenerGenerator = {
shapes.getShape(3));
break;
case 2:
- // DTCannon -- O I L S J Z T O I L J T O T
+ // DTCannon
this.shapeQueue = new Array(
shapes.getShape(1),
shapes.getShape(6),
@@ -47,7 +47,6 @@ var OpenerGenerator = {
shapes.getShape(3));
break;
case 3:
- // O - 1, I - 6, L - 0, S - 5, J - 4, Z - 2, T - 3
this.shapeQueue = new Array(
shapes.getShape(4),
shapes.getShape(5),
@@ -57,6 +56,8 @@ var OpenerGenerator = {
shapes.getShape(1),
shapes.getShape(5),
shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(2),
shapes.getShape(6),
shapes.getShape(0),
shapes.getShape(4),
@@ -90,120 +91,79 @@ var OpenerGenerator = {
switch(opener) {
case 0:
case 1:
- // Fonzie Variation
- this.hintQueue = new Array(
- shapes.getShape(0),
- shapes.getShape(6),
- shapes.getShape(1),
- shapes.getShape(5),
- shapes.getShape(2),
- shapes.getShape(4),
- shapes.getShape(3));
+ // Fonzie Variation
+ this.hintQueue = new Array(
+ shapes.getShape(0),
+ shapes.getShape(6),
+ shapes.getShape(1),
+ shapes.getShape(5),
+ shapes.getShape(2),
+ shapes.getShape(4),
+ shapes.getShape(3));
// position x, position y, orientation, position x,...
var hintDataList = [-1,17,1, 3,17,1, 6,18,0, 5,17,1, 3,17,0, 7,16,0, 1,17,2];
for(var i = 0; i < this.hintQueue.length; i++) {
- this.hintQueue[i].x = hintDataList[i*3];
- this.hintQueue[i].y = hintDataList[i*3 + 1];
- this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i*3 + 2]);
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
}
break;
case 2:
- // DT Cannon -- O I L S J Z T O I L J T O T
+ // DT Cannon
this.hintQueue = new Array(
- shapes.getShape(1),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(5),
- shapes.getShape(4),
- shapes.getShape(2),
- shapes.getShape(3),
- shapes.getShape(1),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(4),
- shapes.getShape(3),
- shapes.getShape(1),
- shapes.getShape(3));
+ shapes.getShape(1),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(5),
+ shapes.getShape(4),
+ shapes.getShape(2),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(4),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(3));
// position x, position y, orientation, position x,...
var hintDataList = [-2,18,0, 6,16,0, 6,17,1, 7,17,1, 4,17,-1, 3,17,3, 3,15,0, 5,15,0, 9,14,0, 2,13,-1, -1,15,1, 1,16,2, 3,16,1, 1,17,-1];
for(var i = 0; i < this.hintQueue.length; i++) {
- this.hintQueue[i].x = hintDataList[i*3];
- this.hintQueue[i].y = hintDataList[i*3 + 1];
- this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i*3 + 2]);
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
}
- /*
- // O
- this.hintQueue[0].x = -2;
- this.hintQueue[0].y = 18;
- // I
- this.hintQueue[1].x = 6;
- this.hintQueue[1].y = 16;
- // L
- this.hintQueue[2].x = 6;
- this.hintQueue[2].y = 17;
- this.hintQueue[2].state = this.hintQueue[2].nextState(1);
- // S
- this.hintQueue[3].x = 7;
- this.hintQueue[3].y = 17;
- this.hintQueue[3].state = this.hintQueue[3].nextState(1);
- // J
- this.hintQueue[4].x = 4;
- this.hintQueue[4].y = 17;
- this.hintQueue[4].state = this.hintQueue[4].nextState(-1);
- // Z
- this.hintQueue[5].x = 3;
- this.hintQueue[5].y = 17;
- this.hintQueue[5].state = this.hintQueue[5].nextState(3);
- // T
- this.hintQueue[6].x = 3;
- this.hintQueue[6].y = 15;
- // O
- this.hintQueue[7].x = 5;
- this.hintQueue[7].y = 15;
- // I
- this.hintQueue[8].x = 9;
- this.hintQueue[8].y = 14;
- // L
- this.hintQueue[9].x = 2;
- this.hintQueue[9].y = 13;
- this.hintQueue[9].state = this.hintQueue[9].nextState(-1);
- // J
- this.hintQueue[10].x = -1;
- this.hintQueue[10].y = 15;
- this.hintQueue[10].state = this.hintQueue[10].nextState(1);
- // T
- this.hintQueue[11].x = 1;
- this.hintQueue[11].y = 16;
- this.hintQueue[11].state = this.hintQueue[11].nextState(2);
- // O
- this.hintQueue[12].x = 3;
- this.hintQueue[12].y = 16;
- this.hintQueue[12].state = this.hintQueue[12].nextState(1);
- // T
- this.hintQueue[13].x = 1;
- this.hintQueue[13].y = 17;
- this.hintQueue[13].state = this.hintQueue[13].nextState(-1);
- */
break;
case 3:
- this.shapeQueue = new Array(
- shapes.getShape(4),
- shapes.getShape(5),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(2),
- shapes.getShape(1),
- shapes.getShape(5),
- shapes.getShape(3),
- shapes.getShape(6),
- shapes.getShape(0),
- shapes.getShape(4),
- shapes.getShape(3));
+ //MKO Stacking // O - 1, I - 6, L - 0, S - 5, J - 4, Z - 2, T - 3
+ this.hintQueue = new Array(
+ shapes.getShape(4),
+ shapes.getShape(5),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(2),
+ shapes.getShape(1),
+ shapes.getShape(5),
+ shapes.getShape(3),
+ shapes.getShape(1),
+ shapes.getShape(2),
+ shapes.getShape(6),
+ shapes.getShape(0),
+ shapes.getShape(4),
+ shapes.getShape(3));
+
+ // position x, position y, orientation, position x,...
+ var hintDataList = [0,18,0, 0,16,-1, 9,16,0, 4,18,0, 4,16,1, 5,18,0, 1,15,-1, 2,17,2, 5,18,0, 3,17,1, 6,15,1, 0,15,2, 0,14,0, 2,16,2];
+
+ for(var i = 0; i < this.hintQueue.length; i++) {
+ this.hintQueue[i].x = hintDataList[i * 3];
+ this.hintQueue[i].y = hintDataList[i * 3 + 1];
+ this.hintQueue[i].state = this.hintQueue[i].nextState(hintDataList[i * 3 + 2]);
+ }
break;
default:
return;