|
@@ -39,6 +39,7 @@
|
|
|
const squareOne = {
|
|
|
default: undefined,
|
|
|
|
|
|
+ ui: undefined,
|
|
|
control: undefined,
|
|
|
animation: undefined,
|
|
|
|
|
@@ -46,11 +47,6 @@ const squareOne = {
|
|
|
stack: undefined,
|
|
|
floor: undefined,
|
|
|
|
|
|
- arrow: undefined,
|
|
|
- help: undefined,
|
|
|
- message: undefined,
|
|
|
- continue: undefined,
|
|
|
-
|
|
|
/**
|
|
|
* Main code
|
|
|
*/
|
|
@@ -59,7 +55,6 @@ const squareOne = {
|
|
|
const divisor = gameDifficulty == 3 ? 4 : gameDifficulty; // Make sure valid divisors are 1, 2 and 4 (not 3)
|
|
|
let lineColor = undefined;
|
|
|
let fillColor = undefined;
|
|
|
-
|
|
|
if (gameOperation === 'minus') {
|
|
|
lineColor = colors.red;
|
|
|
fillColor = colors.redLight;
|
|
@@ -68,10 +63,15 @@ const squareOne = {
|
|
|
fillColor = colors.greenLight;
|
|
|
}
|
|
|
|
|
|
- this.continue = {
|
|
|
- // modal: undefined,
|
|
|
- button: undefined,
|
|
|
- text: undefined,
|
|
|
+ this.ui = {
|
|
|
+ arrow: undefined,
|
|
|
+ help: undefined,
|
|
|
+ message: undefined,
|
|
|
+ continue: {
|
|
|
+ // modal: undefined,
|
|
|
+ button: undefined,
|
|
|
+ text: undefined,
|
|
|
+ },
|
|
|
};
|
|
|
this.control = {
|
|
|
direc: gameOperation == 'minus' ? -1 : 1, // Will be multiplied to values to easily change tractor direction when needed
|
|
@@ -102,6 +102,7 @@ const squareOne = {
|
|
|
self.default.x0 + self.default.width * self.control.direc;
|
|
|
this.default.arrowXEnd =
|
|
|
self.default.arrowX0 + self.default.width * self.control.direc * 8;
|
|
|
+
|
|
|
renderBackground();
|
|
|
|
|
|
// FOR MOODLE
|
|
@@ -183,8 +184,6 @@ const squareOne = {
|
|
|
// RENDER
|
|
|
/**
|
|
|
* Create stacked blocks for the level in create()
|
|
|
- *
|
|
|
- * @returns {boolean}
|
|
|
*/
|
|
|
renderStackedBlocks: (direc, lineColor, fillColor, lineWidth, divisor) => {
|
|
|
let restart = false;
|
|
@@ -457,20 +456,20 @@ const squareOne = {
|
|
|
},
|
|
|
renderMainUI: () => {
|
|
|
// Help pointer
|
|
|
- self.help = game.add.image(0, 0, 'pointer', 1.7, 0);
|
|
|
- if (gameMode === 'b') self.help.anchor(0.25, 0.7);
|
|
|
- else self.help.anchor(0.2, 0);
|
|
|
+ self.ui.help = game.add.image(0, 0, 'pointer', 1.7, 0);
|
|
|
+ if (gameMode === 'b') self.ui.help.anchor(0.25, 0.7);
|
|
|
+ else self.ui.help.anchor(0.2, 0);
|
|
|
|
|
|
// Selection Arrow
|
|
|
if (gameMode == 'a') {
|
|
|
- self.arrow = game.add.image(
|
|
|
+ self.ui.arrow = game.add.image(
|
|
|
self.default.arrowX0,
|
|
|
self.default.y0,
|
|
|
'arrow_down',
|
|
|
1.5
|
|
|
);
|
|
|
- self.arrow.anchor(0.5, 1);
|
|
|
- self.arrow.alpha = 0.5;
|
|
|
+ self.ui.arrow.anchor(0.5, 1);
|
|
|
+ self.ui.arrow.alpha = 0.5;
|
|
|
}
|
|
|
|
|
|
// Intro text
|
|
@@ -479,8 +478,8 @@ const squareOne = {
|
|
|
? game.lang.squareOne_intro_a
|
|
|
: game.lang.squareOne_intro_b;
|
|
|
const treatedMessage = correctMessage.split('\\n');
|
|
|
- self.message = [];
|
|
|
- self.message.push(
|
|
|
+ self.ui.message = [];
|
|
|
+ self.ui.message.push(
|
|
|
game.add.text(
|
|
|
context.canvas.width / 2,
|
|
|
170,
|
|
@@ -488,7 +487,7 @@ const squareOne = {
|
|
|
textStyles.h1_
|
|
|
)
|
|
|
);
|
|
|
- self.message.push(
|
|
|
+ self.ui.message.push(
|
|
|
game.add.text(
|
|
|
context.canvas.width / 2,
|
|
|
220,
|
|
@@ -499,7 +498,7 @@ const squareOne = {
|
|
|
},
|
|
|
renderOperationUI: () => {
|
|
|
// Modal
|
|
|
- // self.continue.modal = game.add.geom.rect(
|
|
|
+ // self.ui.continue.modal = game.add.geom.rect(
|
|
|
// 0,
|
|
|
// 0,
|
|
|
// context.canvas.width,
|
|
@@ -686,7 +685,7 @@ const squareOne = {
|
|
|
}
|
|
|
|
|
|
// continue button
|
|
|
- self.continue.button = game.add.geom.rect(
|
|
|
+ self.ui.continue.button = game.add.geom.rect(
|
|
|
context.canvas.width / 2,
|
|
|
context.canvas.height / 2 + 200,
|
|
|
350,
|
|
@@ -695,8 +694,8 @@ const squareOne = {
|
|
|
0,
|
|
|
btnColor
|
|
|
);
|
|
|
- self.continue.button.anchor(0.5, 0.5);
|
|
|
- self.continue.text = game.add.text(
|
|
|
+ self.ui.continue.button.anchor(0.5, 0.5);
|
|
|
+ self.ui.continue.text = game.add.text(
|
|
|
context.canvas.width / 2,
|
|
|
context.canvas.height / 2 + 16 + 200,
|
|
|
btnText,
|
|
@@ -766,7 +765,7 @@ const squareOne = {
|
|
|
|
|
|
game.animation.stop(self.tractor.animation[0]);
|
|
|
|
|
|
- if (gameMode === 'a') self.arrow.alpha = 0;
|
|
|
+ if (gameMode === 'a') self.ui.arrow.alpha = 0;
|
|
|
|
|
|
self.control.isCorrect =
|
|
|
gameMode === 'a'
|
|
@@ -833,17 +832,17 @@ const squareOne = {
|
|
|
// On gameMode (a)
|
|
|
if (gameMode == 'a') {
|
|
|
const aux = self.floor.list[0];
|
|
|
- self.help.x =
|
|
|
+ self.ui.help.x =
|
|
|
self.floor.correctX - (aux.width / 2) * self.control.direc;
|
|
|
- self.help.y = self.default.y0;
|
|
|
+ self.ui.help.y = self.default.y0;
|
|
|
// On gameMode (b)
|
|
|
} else {
|
|
|
const aux = self.stack.list[self.stack.correctIndex];
|
|
|
- self.help.x = aux.x + (aux.width / 2) * self.control.direc;
|
|
|
- self.help.y = aux.y;
|
|
|
+ self.ui.help.x = aux.x + (aux.width / 2) * self.control.direc;
|
|
|
+ self.ui.help.y = aux.y;
|
|
|
}
|
|
|
|
|
|
- self.help.alpha = 0.7;
|
|
|
+ self.ui.help.alpha = 0.7;
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -857,8 +856,8 @@ const squareOne = {
|
|
|
// Play beep sound
|
|
|
if (audioStatus) game.audio.popSound.play();
|
|
|
|
|
|
- self.message[0].alpha = 0;
|
|
|
- self.message[1].alpha = 0;
|
|
|
+ self.ui.message[0].alpha = 0;
|
|
|
+ self.ui.message[1].alpha = 0;
|
|
|
// Hide labels
|
|
|
if (showFractions) {
|
|
|
self.stack.list.forEach((block) => {
|
|
@@ -868,7 +867,7 @@ const squareOne = {
|
|
|
});
|
|
|
}
|
|
|
// Hide solution pointer
|
|
|
- if (self.help != undefined) self.help.alpha = 0;
|
|
|
+ if (self.ui.help != undefined) self.ui.help.alpha = 0;
|
|
|
// Hide unselected blocks
|
|
|
for (let i = curSet.list.length - 1; i > clickedIndex; i--) {
|
|
|
curSet.list[i].alpha = 0;
|
|
@@ -878,7 +877,7 @@ const squareOne = {
|
|
|
curSet.selectedIndex = clickedIndex;
|
|
|
|
|
|
if (gameMode == 'a') {
|
|
|
- self.arrow.alpha = 1;
|
|
|
+ self.ui.arrow.alpha = 1;
|
|
|
} else {
|
|
|
// update list size
|
|
|
self.stack.list.length = curSet.selectedIndex + 1;
|
|
@@ -916,29 +915,6 @@ const squareOne = {
|
|
|
self.stack.selectedIndex = cur.blockIndex;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- // if (!self.control.hasClicked) {
|
|
|
- // document.body.style.cursor = 'pointer';
|
|
|
-
|
|
|
- // On gameMode (a)
|
|
|
- // if (gameMode == 'a') {
|
|
|
- // for (let i in self.floor.list) {
|
|
|
- // self.floor.list[i].alpha = i <= cur.blockIndex ? 1 : 0.5;
|
|
|
- // }
|
|
|
-
|
|
|
- // // Saves the index of the selected 'floor' block
|
|
|
- // self.floor.selectedIndex = cur.blockIndex;
|
|
|
-
|
|
|
- // // On gameMode (b)
|
|
|
- // } else {
|
|
|
- // for (let i in self.stack.list) {
|
|
|
- // self.stack.list[i].alpha = i <= cur.blockIndex ? 0.5 : 0.2;
|
|
|
- // }
|
|
|
-
|
|
|
- // // Saves the index of the selected 'stack' block
|
|
|
- // self.stack.selectedIndex = cur.blockIndex;
|
|
|
- // }
|
|
|
- // }
|
|
|
},
|
|
|
/**
|
|
|
* Function called by self.events.onInputOver() when cursos is out of a valid rectangle
|
|
@@ -951,7 +927,7 @@ const squareOne = {
|
|
|
for (let i in self.floor.list) {
|
|
|
self.floor.list[i].alpha = 0.5;
|
|
|
}
|
|
|
- self.floor.selectedIndex = cur.blockIndex;
|
|
|
+ self.floor.selectedIndex = undefined;
|
|
|
} else {
|
|
|
for (let i in self.stack.list) {
|
|
|
self.stack.list[i].alpha = 0.5;
|
|
@@ -959,7 +935,7 @@ const squareOne = {
|
|
|
lbl.alpha = 1;
|
|
|
});
|
|
|
}
|
|
|
- self.stack.selectedIndex = cur.blockIndex;
|
|
|
+ self.stack.selectedIndex = undefined;
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -986,7 +962,7 @@ const squareOne = {
|
|
|
|
|
|
// Continue button
|
|
|
if (self.control.showEndInfo) {
|
|
|
- if (game.math.isOverIcon(x, y, self.continue.button)) {
|
|
|
+ if (game.math.isOverIcon(x, y, self.ui.continue.button)) {
|
|
|
self.utils.endLevel();
|
|
|
}
|
|
|
}
|
|
@@ -1020,7 +996,7 @@ const squareOne = {
|
|
|
!self.animation.animateEnding &&
|
|
|
game.math.isOverIcon(x, self.default.y0, cur)
|
|
|
) {
|
|
|
- self.arrow.x = x;
|
|
|
+ self.ui.arrow.x = x;
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -1040,16 +1016,18 @@ const squareOne = {
|
|
|
|
|
|
// Continue button
|
|
|
if (self.control.showEndInfo) {
|
|
|
- if (game.math.isOverIcon(x, y, self.continue.button)) {
|
|
|
+ if (game.math.isOverIcon(x, y, self.ui.continue.button)) {
|
|
|
// If pointer is over icon
|
|
|
document.body.style.cursor = 'pointer';
|
|
|
- self.continue.button.scale = self.continue.button.initialScale * 1.1;
|
|
|
- self.continue.text.style = textStyles.btnLg;
|
|
|
+ self.ui.continue.button.scale =
|
|
|
+ self.ui.continue.button.initialScale * 1.1;
|
|
|
+ self.ui.continue.text.style = textStyles.btnLg;
|
|
|
} else {
|
|
|
// If pointer is not over icon
|
|
|
document.body.style.cursor = 'auto';
|
|
|
- self.continue.button.scale = self.continue.button.initialScale * 1;
|
|
|
- self.continue.text.style = textStyles.btn;
|
|
|
+ self.ui.continue.button.scale =
|
|
|
+ self.ui.continue.button.initialScale * 1;
|
|
|
+ self.ui.continue.text.style = textStyles.btn;
|
|
|
}
|
|
|
}
|
|
|
|