User prompt
add a new condition in the update function: if score is =1, check, if sequenceCurrentLength === sequenceLength. if true, set score to 33
User prompt
add a new condition: if sequenceCurrentLength === sequenceLength. if true, set score to 33
User prompt
add a new condition: if score is =1, check, if sequenceCurrentLength === sequenceLength. if true, set score to 33
User prompt
if sequenceCurrentLength = sequenceLength, set score to 33. put it after sequence show is over
User prompt
if sequenceCurrentLength = sequenceLength, set score to 33
User prompt
it is not setting it to 33, check for states of sequenceCurrentLength and sequenceLength infinitely
User prompt
if sequenceCurrentLength = 7, set score to 33
User prompt
if sequenceCurrentLength = sequenceLength, set score to 33
Code edit (5 edits merged)
Please save this source code
User prompt
replace all SequenceLength with sequenceLength
User prompt
Please fix the bug: 'Timeout.tick error: SequenceLength is not defined' in or related to this line: 'if (sequenceCurrentLength === SequenceLength) {' Line Number: 101
Code edit (1 edits merged)
Please save this source code
User prompt
Move string of numbers that are moving from right to left 15 pixels lower
Code edit (5 edits merged)
Please save this source code
User prompt
- Identify and remove any code that does not contribute to the functionality or is duplicated elsewhere.
User prompt
Implement things above
Code edit (1 edits merged)
Please save this source code
Code edit (10 edits merged)
Please save this source code
User prompt
Move White Circle 100 pixels up
Code edit (1 edits merged)
Please save this source code
User prompt
on line 104, wait sequenceDelay amount of time instead of 0.75s
Code edit (8 edits merged)
Please save this source code
User prompt
set it to 0.75s
User prompt
make a new variable called sequenceDelay
Code edit (1 edits merged)
Please save this source code
/**** * Classes ****/ var SquareWhite = Container.expand(function () { var self = Container.call(this); var lightTypes = ['off', 'on1', 'on2', 'on3']; self.LightType = 'off'; self.squarePosition = 0; var squareAsset = self.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.716, scaleY: 2.716, alpha: 1, tint: self.LightType === 'on3' ? 0xEDF8FF : self.LightType === 'on2' ? 0xA2AABA : self.LightType === 'on1' ? 0x5D637A : 0x121636 }); self.down = function (x, y, obj) { LK.setScore(self.squarePosition); scoreTxt.setText(LK.getScore()); }; }); var WhiteRectangle = Container.expand(function () { var self = Container.call(this); var rectangleAsset = self.attachAsset('WhiteRectangle', { anchorX: 0.5, anchorY: 0.5 }); rectangleAsset.scale.set(0.25, 0.7); self.targetScale = Math.random() * 1.5; self.update = function () { rectangleAsset.scale.x += (self.targetScale - rectangleAsset.scale.x) * 0.02; if (Math.abs(rectangleAsset.scale.x - self.targetScale) < 0.005) { self.targetScale = Math.random() * 1.5; } }; }); /**** * Initialize Game ****/ // Create an array to hold the random numbers var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ function SequenceShow() { if (MainSequence.length > 0) { var _showNextNumber = function showNextNumber(index) { if (index < MainSequence.length) { var squarePosition = MainSequence[index]; var square = grid.find(function (sq) { return sq.squarePosition === squarePosition; }); if (square) { // Update light types of previous numbers grid.forEach(function (sq) { if (sq.LightType === 'on3') { sq.LightType = 'on2'; } else if (sq.LightType === 'on2') { sq.LightType = 'on1'; } else if (sq.LightType === 'on1') { sq.LightType = 'off'; debugTxt.setText(sequenceCurrentLength.toString()); } ; sq.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.716, scaleY: 2.716, alpha: 1, tint: sq.LightType === 'on3' ? 0xEDF8FF : sq.LightType === 'on2' ? 0xA2AABA : sq.LightType === 'on1' ? 0x5D637A : 0x121636 }); }); square.LightType = 'on3'; sequenceCurrentLength += 1; square.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.716, scaleY: 2.716, alpha: 1, tint: 0xEDF8FF }); } LK.setTimeout(function () { _showNextNumber(index + 1); }, 750); } }; if (sequenceCurrentLength === SequenceLength) { LK.setTimeout(function () { grid.forEach(function (square) { square.LightType = 'off'; square.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.716, scaleY: 2.716, alpha: 1, tint: 0x121636 }); }); }, 1000); return; } debugTxt.setText(SequenceLength.toString()); _showNextNumber(0); } } // Start SequenceShow 1.5 seconds after the game starts LK.setTimeout(SequenceShow, 1500); var painterBackground = LK.getAsset('PainterBackground', { anchorX: 0.5, anchorY: 1, x: 1024, y: 3082, width: 1751.04, height: 1560, alpha: 1 }); game.addChild(painterBackground); var randomNumberTexts = []; for (var i = 0; i < 50; i++) { var randomNumberText = new Text2(Math.floor(Math.random() * 10).toString(), { size: 40, fill: 0x4A73B5, font: "Courier New" }); randomNumberText.anchor.set(0.5, 0.5); randomNumberText.x = 40.96 * i; randomNumberText.y = 2266; game.addChild(randomNumberText); randomNumberTexts.push(randomNumberText); } // Add an update function to the game to move the numbers to the left game.update = function () { for (var i = 0; i < randomNumberTexts.length; i++) { randomNumberTexts[i].x -= 5; if (randomNumberTexts[i].x < 0) { randomNumberTexts[i].x = 2048; } } debugTxt.setText(sequenceCurrentLength.toString()); }; // Add Concrete as a background to all other items var concreteBackground = LK.getAsset('Concrete', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: 2048, height: 2732, alpha: 1, tint: 0x98bee3 }); game.addChildAt(concreteBackground, 0); // Add ScoreBack behind the score and make it around 1/3 screen long // Add score on top of the screen var scoreTxt = new Text2('0', { size: 135, fill: 0xFFFFFF, font: "Helvetica" }); var scoreBack = LK.getAsset('ScoreBack', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 20 + 75 - 35 + 20 + 40, width: 2048 / 3 * 0.85 * 0.85 * 1.2 * 1.3 * 1.1, height: 150 * 1.3 * 1.3 * 1.4 * 1.2 * 0.85 * 1.2 * 1.3 * 1.3 * 1.1 * 1.2, alpha: 1 }); game.addChild(scoreBack); // Add an update function to the game to move the numbers to the left game.update = function () { for (var i = 0; i < randomNumberTexts.length; i++) { randomNumberTexts[i].x -= 5; if (randomNumberTexts[i].x < 0) { randomNumberTexts[i].x = 2048; } } }; // Add PainterBackground at the bottom of the screen, above ConcreteBackground var painterBackground = LK.getAsset('PainterBackground', { anchorX: 0.5, anchorY: 1, x: 2048 / 2, y: 2732 - 15 + 15 + 400 - 100 + 50, width: 2048 * 0.9 * 0.95, height: 800 * 1.3 * 1.5, alpha: 1 }); game.addChild(painterBackground); // Generate String Of Numbers var randomNumberTexts = []; for (var i = 0; i < 50; i++) { // Create a new Text2 object to display the random number var randomNumberText = new Text2(Math.floor(Math.random() * 10).toString(), { size: 40, fill: 0x4A73B5, font: "Courier New" }); randomNumberText.anchor.set(0.5, 0.5); randomNumberText.x = 2048 / 50 * i; randomNumberText.y = 2732 / 2 + 930; game.addChild(randomNumberText); randomNumberTexts.push(randomNumberText); } // Add brown board to the game var brownBoardWidth = 400; // Define the width of the BrownBoard asset var brownBoardHeight = 400; // Define the height of the BrownBoard asset var brownBoard = LK.getAsset('BrownBoard', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1356, scaleX: 5.12, scaleY: 6.732, alpha: 1 }); // Add main background to the game var background = LK.getAsset('Background', { anchorX: 0.5, anchorY: 0.5, x: 1044, y: 1366, width: 2171.4, height: 2000, alpha: 1 }); game.addChild(brownBoard); game.addChild(background); // Add gridBack behind the grid, but above Background var gridBack = LK.getAsset('GridBack', { anchorX: 0.5, anchorY: 0.5, x: 1019, y: 1346, width: 1685, height: 1697, alpha: 1 }); game.addChild(gridBack); // Initialize a 6x6 grid of SquareWhite in the middle of the screen var SequenceLength = 1; // Set SequenceLength to 1 by default var sequenceCurrentLength = 0; // Set sequenceCurrentLength to 0 by default var MainSequence = []; // Initialize MainSequence array function setFirstSquareWhiteToOn3() { if (MainSequence.length > 0) { var firstSquarePosition = MainSequence[0]; var firstSquare = grid.find(function (square) { return square.positionInGrid === firstSquarePosition; }); if (firstSquare) { firstSquare.LightType = 'on3'; firstSquare.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.715, scaleY: 2.715, alpha: 1, tint: 0xEDF8FF }); } } } setFirstSquareWhiteToOn3(); var grid = []; var gridSize = 6; var squareSize = 225.28 * 1.08 * 1.08 * 1.05; // Increase the size of the grid by an additional 5% var startX = (2048 - gridSize * squareSize) / 2 + 130; var startY = (2732 - gridSize * squareSize) / 2 + 115; for (var i = 0; i < gridSize; i++) { for (var j = 0; j < gridSize; j++) { var square = new SquareWhite(); square.x = startX + i * squareSize; square.y = startY + j * squareSize; square.squarePosition = j * gridSize + i + 1; // Assign position based on grid in horizontal order game.addChild(square); grid.push(square); if (i === 0 && j === 0) { MainSequence.push(1, 2, 3, 9, 10, 16, 22); // Set the first numbers in MainSequence to 1, 2, 3, 4, 5 } } } // Create 6 WhiteCircle instances and stack them on top of each other in the middle of the screen for (var i = 0; i < 6; i++) { var whiteCircle = LK.getAsset('WhiteCircle', { anchorX: 0.5, anchorY: 0.5, x: 114, y: 866 + i * 300, width: 31.5, height: 31.5, tint: 0x34dbeb }); game.addChild(whiteCircle); // Add a randomiser to change the brightness of each WhiteCircle every 1-5 seconds (function (whiteCircle) { var _changeBrightness = function changeBrightness() { var randomTime = Math.random() * 5000 + 3000; whiteCircle.alpha = 0.2; LK.setTimeout(function () { whiteCircle.alpha = 1; LK.setTimeout(_changeBrightness, randomTime); }, randomTime); }; _changeBrightness(); })(whiteCircle); } // Add score on top of the screen var scoreTxt = new Text2('0', { size: 160, fill: 0x67BAEB, font: "Courier New" }); // Set score to 0 LK.setScore(0); scoreTxt.setText(LK.getScore()); scoreTxt.anchor.set(0.5, 0); scoreTxt.y += 9; LK.gui.top.addChild(scoreTxt); // Add LevelCounter text 200 pixels under Score var levelCounterTxt = new Text2('Text here', { size: 65, fill: 0xb6bcd6, font: "Courier New" }); levelCounterTxt.anchor.set(0.5, 0); levelCounterTxt.y = scoreTxt.y + 170; LK.gui.top.addChild(levelCounterTxt); for (var i = 0; i < 6; i++) { var rectangle = game.addChild(new WhiteRectangle()); rectangle.x = 2048 - rectangle.width / 2 + 20 - 15; // Move to the right side of the screen and 20 pixels more to the right, then move 15 pixels to the left rectangle.y = i * (rectangle.height + 10) + 945; } // Add DebugText in the top right part of the screen var debugTxt = new Text2(sequenceCurrentLength.toString(), { size: 80, fill: 0x888FA2, font: "Courier New" }); debugTxt.anchor.set(0.5, 0.5); debugTxt.x = 464; debugTxt.y = 136; LK.gui.top.addChild(debugTxt);
/****
* Classes
****/
var SquareWhite = Container.expand(function () {
var self = Container.call(this);
var lightTypes = ['off', 'on1', 'on2', 'on3'];
self.LightType = 'off';
self.squarePosition = 0;
var squareAsset = self.attachAsset('SquareWhite', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 2.716,
scaleY: 2.716,
alpha: 1,
tint: self.LightType === 'on3' ? 0xEDF8FF : self.LightType === 'on2' ? 0xA2AABA : self.LightType === 'on1' ? 0x5D637A : 0x121636
});
self.down = function (x, y, obj) {
LK.setScore(self.squarePosition);
scoreTxt.setText(LK.getScore());
};
});
var WhiteRectangle = Container.expand(function () {
var self = Container.call(this);
var rectangleAsset = self.attachAsset('WhiteRectangle', {
anchorX: 0.5,
anchorY: 0.5
});
rectangleAsset.scale.set(0.25, 0.7);
self.targetScale = Math.random() * 1.5;
self.update = function () {
rectangleAsset.scale.x += (self.targetScale - rectangleAsset.scale.x) * 0.02;
if (Math.abs(rectangleAsset.scale.x - self.targetScale) < 0.005) {
self.targetScale = Math.random() * 1.5;
}
};
});
/****
* Initialize Game
****/
// Create an array to hold the random numbers
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
function SequenceShow() {
if (MainSequence.length > 0) {
var _showNextNumber = function showNextNumber(index) {
if (index < MainSequence.length) {
var squarePosition = MainSequence[index];
var square = grid.find(function (sq) {
return sq.squarePosition === squarePosition;
});
if (square) {
// Update light types of previous numbers
grid.forEach(function (sq) {
if (sq.LightType === 'on3') {
sq.LightType = 'on2';
} else if (sq.LightType === 'on2') {
sq.LightType = 'on1';
} else if (sq.LightType === 'on1') {
sq.LightType = 'off';
debugTxt.setText(sequenceCurrentLength.toString());
}
;
sq.attachAsset('SquareWhite', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 2.716,
scaleY: 2.716,
alpha: 1,
tint: sq.LightType === 'on3' ? 0xEDF8FF : sq.LightType === 'on2' ? 0xA2AABA : sq.LightType === 'on1' ? 0x5D637A : 0x121636
});
});
square.LightType = 'on3';
sequenceCurrentLength += 1;
square.attachAsset('SquareWhite', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 2.716,
scaleY: 2.716,
alpha: 1,
tint: 0xEDF8FF
});
}
LK.setTimeout(function () {
_showNextNumber(index + 1);
}, 750);
}
};
if (sequenceCurrentLength === SequenceLength) {
LK.setTimeout(function () {
grid.forEach(function (square) {
square.LightType = 'off';
square.attachAsset('SquareWhite', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 2.716,
scaleY: 2.716,
alpha: 1,
tint: 0x121636
});
});
}, 1000);
return;
}
debugTxt.setText(SequenceLength.toString());
_showNextNumber(0);
}
}
// Start SequenceShow 1.5 seconds after the game starts
LK.setTimeout(SequenceShow, 1500);
var painterBackground = LK.getAsset('PainterBackground', {
anchorX: 0.5,
anchorY: 1,
x: 1024,
y: 3082,
width: 1751.04,
height: 1560,
alpha: 1
});
game.addChild(painterBackground);
var randomNumberTexts = [];
for (var i = 0; i < 50; i++) {
var randomNumberText = new Text2(Math.floor(Math.random() * 10).toString(), {
size: 40,
fill: 0x4A73B5,
font: "Courier New"
});
randomNumberText.anchor.set(0.5, 0.5);
randomNumberText.x = 40.96 * i;
randomNumberText.y = 2266;
game.addChild(randomNumberText);
randomNumberTexts.push(randomNumberText);
}
// Add an update function to the game to move the numbers to the left
game.update = function () {
for (var i = 0; i < randomNumberTexts.length; i++) {
randomNumberTexts[i].x -= 5;
if (randomNumberTexts[i].x < 0) {
randomNumberTexts[i].x = 2048;
}
}
debugTxt.setText(sequenceCurrentLength.toString());
};
// Add Concrete as a background to all other items
var concreteBackground = LK.getAsset('Concrete', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2,
width: 2048,
height: 2732,
alpha: 1,
tint: 0x98bee3
});
game.addChildAt(concreteBackground, 0);
// Add ScoreBack behind the score and make it around 1/3 screen long
// Add score on top of the screen
var scoreTxt = new Text2('0', {
size: 135,
fill: 0xFFFFFF,
font: "Helvetica"
});
var scoreBack = LK.getAsset('ScoreBack', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 20 + 75 - 35 + 20 + 40,
width: 2048 / 3 * 0.85 * 0.85 * 1.2 * 1.3 * 1.1,
height: 150 * 1.3 * 1.3 * 1.4 * 1.2 * 0.85 * 1.2 * 1.3 * 1.3 * 1.1 * 1.2,
alpha: 1
});
game.addChild(scoreBack);
// Add an update function to the game to move the numbers to the left
game.update = function () {
for (var i = 0; i < randomNumberTexts.length; i++) {
randomNumberTexts[i].x -= 5;
if (randomNumberTexts[i].x < 0) {
randomNumberTexts[i].x = 2048;
}
}
};
// Add PainterBackground at the bottom of the screen, above ConcreteBackground
var painterBackground = LK.getAsset('PainterBackground', {
anchorX: 0.5,
anchorY: 1,
x: 2048 / 2,
y: 2732 - 15 + 15 + 400 - 100 + 50,
width: 2048 * 0.9 * 0.95,
height: 800 * 1.3 * 1.5,
alpha: 1
});
game.addChild(painterBackground);
// Generate String Of Numbers
var randomNumberTexts = [];
for (var i = 0; i < 50; i++) {
// Create a new Text2 object to display the random number
var randomNumberText = new Text2(Math.floor(Math.random() * 10).toString(), {
size: 40,
fill: 0x4A73B5,
font: "Courier New"
});
randomNumberText.anchor.set(0.5, 0.5);
randomNumberText.x = 2048 / 50 * i;
randomNumberText.y = 2732 / 2 + 930;
game.addChild(randomNumberText);
randomNumberTexts.push(randomNumberText);
}
// Add brown board to the game
var brownBoardWidth = 400; // Define the width of the BrownBoard asset
var brownBoardHeight = 400; // Define the height of the BrownBoard asset
var brownBoard = LK.getAsset('BrownBoard', {
anchorX: 0.5,
anchorY: 0.5,
x: 1024,
y: 1356,
scaleX: 5.12,
scaleY: 6.732,
alpha: 1
});
// Add main background to the game
var background = LK.getAsset('Background', {
anchorX: 0.5,
anchorY: 0.5,
x: 1044,
y: 1366,
width: 2171.4,
height: 2000,
alpha: 1
});
game.addChild(brownBoard);
game.addChild(background);
// Add gridBack behind the grid, but above Background
var gridBack = LK.getAsset('GridBack', {
anchorX: 0.5,
anchorY: 0.5,
x: 1019,
y: 1346,
width: 1685,
height: 1697,
alpha: 1
});
game.addChild(gridBack);
// Initialize a 6x6 grid of SquareWhite in the middle of the screen
var SequenceLength = 1; // Set SequenceLength to 1 by default
var sequenceCurrentLength = 0; // Set sequenceCurrentLength to 0 by default
var MainSequence = []; // Initialize MainSequence array
function setFirstSquareWhiteToOn3() {
if (MainSequence.length > 0) {
var firstSquarePosition = MainSequence[0];
var firstSquare = grid.find(function (square) {
return square.positionInGrid === firstSquarePosition;
});
if (firstSquare) {
firstSquare.LightType = 'on3';
firstSquare.attachAsset('SquareWhite', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 2.715,
scaleY: 2.715,
alpha: 1,
tint: 0xEDF8FF
});
}
}
}
setFirstSquareWhiteToOn3();
var grid = [];
var gridSize = 6;
var squareSize = 225.28 * 1.08 * 1.08 * 1.05; // Increase the size of the grid by an additional 5%
var startX = (2048 - gridSize * squareSize) / 2 + 130;
var startY = (2732 - gridSize * squareSize) / 2 + 115;
for (var i = 0; i < gridSize; i++) {
for (var j = 0; j < gridSize; j++) {
var square = new SquareWhite();
square.x = startX + i * squareSize;
square.y = startY + j * squareSize;
square.squarePosition = j * gridSize + i + 1; // Assign position based on grid in horizontal order
game.addChild(square);
grid.push(square);
if (i === 0 && j === 0) {
MainSequence.push(1, 2, 3, 9, 10, 16, 22); // Set the first numbers in MainSequence to 1, 2, 3, 4, 5
}
}
}
// Create 6 WhiteCircle instances and stack them on top of each other in the middle of the screen
for (var i = 0; i < 6; i++) {
var whiteCircle = LK.getAsset('WhiteCircle', {
anchorX: 0.5,
anchorY: 0.5,
x: 114,
y: 866 + i * 300,
width: 31.5,
height: 31.5,
tint: 0x34dbeb
});
game.addChild(whiteCircle);
// Add a randomiser to change the brightness of each WhiteCircle every 1-5 seconds
(function (whiteCircle) {
var _changeBrightness = function changeBrightness() {
var randomTime = Math.random() * 5000 + 3000;
whiteCircle.alpha = 0.2;
LK.setTimeout(function () {
whiteCircle.alpha = 1;
LK.setTimeout(_changeBrightness, randomTime);
}, randomTime);
};
_changeBrightness();
})(whiteCircle);
}
// Add score on top of the screen
var scoreTxt = new Text2('0', {
size: 160,
fill: 0x67BAEB,
font: "Courier New"
});
// Set score to 0
LK.setScore(0);
scoreTxt.setText(LK.getScore());
scoreTxt.anchor.set(0.5, 0);
scoreTxt.y += 9;
LK.gui.top.addChild(scoreTxt);
// Add LevelCounter text 200 pixels under Score
var levelCounterTxt = new Text2('Text here', {
size: 65,
fill: 0xb6bcd6,
font: "Courier New"
});
levelCounterTxt.anchor.set(0.5, 0);
levelCounterTxt.y = scoreTxt.y + 170;
LK.gui.top.addChild(levelCounterTxt);
for (var i = 0; i < 6; i++) {
var rectangle = game.addChild(new WhiteRectangle());
rectangle.x = 2048 - rectangle.width / 2 + 20 - 15; // Move to the right side of the screen and 20 pixels more to the right, then move 15 pixels to the left
rectangle.y = i * (rectangle.height + 10) + 945;
}
// Add DebugText in the top right part of the screen
var debugTxt = new Text2(sequenceCurrentLength.toString(), {
size: 80,
fill: 0x888FA2,
font: "Courier New"
});
debugTxt.anchor.set(0.5, 0.5);
debugTxt.x = 464;
debugTxt.y = 136;
LK.gui.top.addChild(debugTxt);
square with Neon dark blue borders, simple, futuristic, 2d. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Sci-fi Vault dark Concrete wall texture 2d. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Scifi Square with thin, rounded corners. Dark grey. 2d. Single Game Texture. Little blue outline
Smooth white circle, 2d, simple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Rounded white square. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.