Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting '3')' in or related to this line: 'currentLevel[self.gridY][self.gridX] = self.colorIndex;' Line Number: 189
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'for (var i = 0; i < a.length; i++) {' Line Number: 357
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'for (var i = 0; i < a.length; i++) {' Line Number: 357
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'for (var i = 0; i < a.length; i++) {' Line Number: 357
Code edit (1 edits merged)
Please save this source code
Code edit (4 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting '5')' in or related to this line: 'currentLevel[self.gridY][self.gridX] = self.colorIndex;' Line Number: 189
Code edit (13 edits merged)
Please save this source code
User prompt
Please fix the bug: 'newPosition is not defined' in or related to this line: 'if (newPosition != 999) {' Line Number: 638
Code edit (1 edits merged)
Please save this source code
Code edit (12 edits merged)
Please save this source code
User prompt
Please fix the bug: 'levelContainer.children.findAll is not a function' in or related to this line: 'var outliers = levelContainer.children.findAll(function (child) {' Line Number: 548
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'boxspacing is not defined' in or related to this line: 'b.y = offset + startY + i * (boxSize + boxspacing); // determine this' Line Number: 448
Code edit (1 edits merged)
Please save this source code
Code edit (4 edits merged)
Please save this source code
User prompt
Please fix the bug: 'cBox is not defined' in or related to this line: 'cBox.width = cBox.height = tileSize;' Line Number: 428
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (13 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Set is not a constructor' in or related to this line: 'return n;' Line Number: 176
===================================================================
--- original.js
+++ change.js
@@ -100,13 +100,17 @@
self.gridY = 0;
self.speed = 10;
self.outlier = false;
self.down = function (x, y, obj) {
- if (!self.outlier) {
- colorBoxClicked(self);
+ if (GAME_IS_CLICKABLE) {
+ if (!self.outlier) {
+ GAME_IS_CLICKABLE = false;
+ colorBoxClicked(self);
+ }
}
};
self.remove = function (delay) {
+ numRunningTweens++;
currentLevel[self.gridY][self.gridX] = 0;
tween(self, {
scaleX: 0.5,
scaleY: 0.5,
@@ -120,13 +124,29 @@
//console.log("Animation complete!");
//console.log('currentLevel:', currentLevel);
console.log('levelContainer:', levelContainer);
playerScore++;
+ numRunningTweens--;
self.destroy();
}
});
//self.destroy();
};
+ self.fadeIn = function () {
+ numRunningTweens++;
+ self.alpha = 0;
+ tween(self, {
+ alpha: 1
+ }, {
+ duration: 300,
+ delay: 0,
+ easing: tween.easeInOut,
+ onFinish: function onFinish() {
+ numRunningTweens--;
+ console.log('faded in:', self);
+ }
+ });
+ };
});
/****
* Initialize Game
@@ -251,11 +271,13 @@
n[e] = r[e];
}
return n;
}
+var GAME_IS_CLICKABLE = true; // flag for when board is clickable and when not.
+var numRunningTweens = 0; // input is blocked while tweens running, so increment this when a tween starts, nd decrement when tween ends.
var playerScore = 0;
var colors = ['0x000000', '0xffffff', '0xffff00'];
-var gridSize = 5;
+var gridSize = 7;
var spacingRatio = 0.2;
var boardSize = 1300;
function calculateTileSize() {
// Example of getting desired tileSize depending on gridSize (for different size grids)
@@ -272,9 +294,9 @@
var l1 = [[0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 1, 2, 1, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0]];
var l2 = [[0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0], [0, 0, 2, 2, 0, 0], [0, 0, 1, 1, 0, 0], [0, 0, 2, 2, 0, 0], [0, 0, 0, 0, 0, 0]];
var l3 = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 2, 2, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 2, 2, 0, 0, 0], [0, 2, 2, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
var levels = [l1, l2, l3];
-var currentLevel = levels[0].slice(0); //copy without reference, so we have original for retry/level reset.
+var currentLevel = levels[2].slice(0); //copy without reference, so we have original for retry/level reset.
var levelContainer = new Container();
levelContainer.x = 1024;
levelContainer.y = 2732 / 2;
game.addChild(levelContainer);
@@ -407,10 +429,10 @@
console.log(n);
if (n === 0) {
console.log('level cleared. TODO: write level cleared function.');
} else {
- var startX = -board.width / 2;
- var startY = -board.height / 2;
+ var startX = -boardSize / 2;
+ var startY = -boardSize / 2;
var boxSize = tileSize;
var boxSpacing = boxSize * spacingRatio;
var offset = boxSize / 2 + boxSpacing;
/*
@@ -437,21 +459,21 @@
b.outlier = true;
b.width = b.height = tileSize;
if (Math.random() < 0.5) {
b.x = -900;
- b.y = offset + startY + i * (boxSize + boxSpacing); // determine this
- b.gridX = 0; // determine this
- b.gridY = i;
+ b.y = offset + startY + availableRows[i] * (boxSize + boxSpacing);
+ b.gridX = -1;
+ b.gridY = availableRows[i];
} else {
b.x = 900;
- b.y = 0; // determine this
- b.gridX = 0; // determine this
- b.gridY = i;
+ b.y = offset + startY + availableRows[i] * (boxSize + boxSpacing);
+ b.gridX = 99;
+ b.gridY = availableRows[i];
}
- console.log('b is:', b);
- // Tween into place.
+ b.fadeIn();
+ //console.log('b is:', b);
levelContainer.addChild(b);
- console.log('levelContainer is now:', levelContainer);
+ //console.log('levelContainer is now:', levelContainer);
placedAtLeastOne = true;
}
}
for (var i = 0; i < availableCols.length; i++) {
@@ -461,26 +483,28 @@
var b = new ColorBox(cIndex);
b.outlier = true;
b.width = b.height = tileSize;
if (Math.random() < 0.5) {
- b.x = 0;
- b.y = -900; // determine this
- b.gridX = i; // determine this
- b.gridY = 0;
+ b.x = offset + startX + availableCols[i] * (boxSize + boxSpacing);
+ b.y = -900;
+ b.gridX = availableCols[i];
+ b.gridY = -1;
} else {
- b.x = 0;
- b.y = 900; // determine this
- b.gridX = i; // determine this
- b.gridY = 0;
+ b.x = offset + startX + availableCols[i] * (boxSize + boxSpacing);
+ ;
+ b.y = 900;
+ b.gridX = availableCols[i];
+ b.gridY = 99;
}
- console.log('b is:', b);
- // Tween into place.
+ b.fadeIn();
+ //console.log('b is:', b);
levelContainer.addChild(b);
- console.log('levelContainer is now:', levelContainer);
+ //console.log('levelContainer is now:', levelContainer);
}
}
}
// And place them. (Animate them in from sides.)
+ console.log(tween);
}
function shuffleArray(arr) {
var j, x, index;
for (index = arr.length - 1; index > 0; index--) {
@@ -511,7 +535,23 @@
}
// return the destination matrix
return destination;
}
-;
placeOutliers();
-function moveIn() {}
\ No newline at end of file
+function moveIn() {
+ // Move all outliers onto stage
+ var outliers = levelContainer.children.find(function (child) {
+ return child.outlier;
+ });
+ console.log('there are ', outliers.length, 'outliers');
+ // Once in place, add them to currentLevel object. (or delete if flown ofscreen)
+}
+game.update = function () {
+ if (LK.ticks % 12 == 0) {
+ //console.log(numRunningTweens);
+ if (numRunningTweens > 0) {
+ GAME_IS_CLICKABLE = false;
+ } else {
+ GAME_IS_CLICKABLE = true;
+ }
+ }
+};
\ No newline at end of file
A large calm background drawing for a puzzle game, in dark calm blueish colors and non-confusing content. High definition. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A quadratic polished dark blue marble slate. Front perspective with right angles. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A white question mark in a circle, like for a help button in a game.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A white X in a circle, like for a close window button in a game. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A white questionmark on a black background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A green check mark on a dark background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.