User prompt
Set All TintType to 3
User prompt
Fix it.
User prompt
When Player clicks on SquareWhite, set its TintType to 3
User prompt
For SquareWhite: If TintType is 1, set tint to 12893E If TintType is 11, set tint to 11B34C If TintType is 2, set tint to B40421 If TintType is 22, set tint to E00025 If TintType is 3, set tint to E07400 If TintType is 33, set tint to F58E20 If TintType is 4, set tint to 174F3C If TintType is 44, set tint to 33705C
User prompt
if TintType is 0, set SquareWhite tint to edf8ff
User prompt
Create a new variable for SquareWhite called TintType. set it to 0 by default
User prompt
If player clicks on square white, set its tint to fbdb00
User prompt
Create a new class and treat all SquareWhite as individual objects
User prompt
If player clicks on SquareWhite, set its tint to ffbd00
User prompt
if ItemFull is being dragged, set the tint of the SquareWhite Under it to FFFFFF
User prompt
Dont allow itemFullDrag to be dragged higher than the grid of SquareWhite
User prompt
Simplify all math for ScoreBack
Code edit (1 edits merged)
Please save this source code
User prompt
Simpify all math for PauseBack
User prompt
game.up = function(){ itemDragFull = null; // When mouse is unpressed, stop dragging. };
User prompt
add this function to ItemFull: game.move = function (x, y) { if (itemDragFull != null) { // If an object was clicked to be dragged itemDragFull.x = x; //update its x and y properties when mouse moves itemDragFull.y = y; } };
User prompt
then add a function like this inside the class of the ItemFull: self.down = function(){ itemFullDrag = self; }
User prompt
then add a function like this inside the class of the ItemFull: self.down = function(){ itemDragFull = self; }
User prompt
make a variable in the global scope like this: var itemFullDrag = null;
User prompt
Please fix the bug: 'ItemFull is not a constructor' in or related to this line: 'var itemFullCenter = new ItemFull();' Line Number: 329
User prompt
make a variable in the global scope like this: var ItemFull = null;
User prompt
Simplify scale, x and y math too
User prompt
Simplify all math operations, they are too bloated right now
User prompt
Combine NewItem and their ItemPlace into a new item called ItemFull
User prompt
move 2nd pause back 5 pixels lower
/**** * Classes ****/ var ItemFull = Container.expand(function () { var self = Container.call(this); // Add a move function to update itemFullDrag position on mouse move game.move = function (x, y) { if (itemFullDrag != null) { // If an object was clicked to be dragged itemFullDrag.x = x; // Update its x property when mouse moves // Ensure itemFullDrag does not go higher than the grid of SquareWhite var gridTopY = (2732 - gridSize * squareSize) / 2 + 90 + 20 + 5; // Calculate the top Y position of the grid itemFullDrag.y = Math.max(y, gridTopY); // Update y property with restriction } }; var itemPlace = self.attachAsset('ItemPlace', { anchorX: 0.5, anchorY: 1, x: 0, y: 0, width: 282, height: 282, alpha: 1, tint: 0xb40421 }); // Create and attach NewItem text var newItem = new Text2('3', { size: 170, fill: 0xFFFFFF, font: "Arial Black" }); newItem.Type = function () { var rand = Math.random(); if (rand < 0.34) { return 1; } if (rand < 0.68) { return 2; } if (rand < 0.84) { return 3; } return 4; }(); newItem.anchor.set(0.5, 1); newItem.x = itemPlace.x; newItem.y = itemPlace.y - itemPlace.height / 2 + 86; self.addChild(newItem); // Set tint and text based on type if (newItem.Type === 1) { itemPlace.tint = 0x12893E; newItem.setText(Math.floor(Math.random() * 5 + 3).toString()); } else if (newItem.Type === 2) { itemPlace.tint = 0xb40421; newItem.setText(Math.floor(Math.random() * 8 + 1).toString()); } else if (newItem.Type === 3) { itemPlace.tint = 0xe07400; newItem.setText('2'); } else if (newItem.Type === 4) { itemPlace.tint = 0x174F3C; newItem.setText(Math.floor(Math.random() * 4 + 3).toString()); } // Add a down function to set itemFullDrag to self self.down = function () { itemFullDrag = self; }; }); var SquareWhite = Container.expand(function () { var self = Container.call(this); self.TintType = 0; var squareAsset = self.attachAsset('SquareWhite', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.112 * 1.08 * 1.05 * 1.08 * 1.05, scaleY: 2.112 * 1.08 * 1.05 * 1.08 * 1.05, alpha: 1, tint: 0xedf8ff }); self.Filled = 0; // Add a down function to change tint when clicked self.down = function () { if (self.TintType === 0) { squareAsset.tint = 0xedf8ff; } else if (self.TintType === 1) { squareAsset.tint = 0x12893E; } else if (self.TintType === 11) { squareAsset.tint = 0x11B34C; } else if (self.TintType === 2) { squareAsset.tint = 0xB40421; } else if (self.TintType === 22) { squareAsset.tint = 0xE00025; } else if (self.TintType === 3) { squareAsset.tint = 0xE07400; } else if (self.TintType === 33) { squareAsset.tint = 0xF58E20; } else if (self.TintType === 4) { squareAsset.tint = 0x174F3C; } else if (self.TintType === 44) { squareAsset.tint = 0x33705C; } else { squareAsset.tint = 0xfbdb00; self.TintType = 3; squareAsset.tint = 0xE07400; } ; }; }); 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); // Increase the height by 100% // Add a variable to store the target scale for each rectangle self.targetScale = Math.random() * 1.5; // Add an update function to stretch the rectangle self.update = function () { // Continuously stretch the rectangle towards the target scale rectangleAsset.scale.x += (self.targetScale - rectangleAsset.scale.x) * 0.02; // When the target scale is reached, pick a new target 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 //<Assets used in the game will automatically appear here> var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ var itemFullDrag = null; 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); } game.up = function () { itemFullDrag = null; // When mouse is unpressed, stop dragging. }; // 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; } } }; // Create another instance of PauseBack and place it right under the original var pauseBack2 = LK.getAsset('PauseBack', { anchorX: 0.0, anchorY: 0.0, x: 15, y: -155, scaleX: 1.57959, scaleY: 1.57959, alpha: 0.55, tint: 0x000000 }); game.addChild(pauseBack2); // Create PauseBack object and place it in the top-left corner var pauseBack = LK.getAsset('PauseBack', { anchorX: 0.0, anchorY: 0.0, x: 20, y: 20, scaleX: 1.5, scaleY: 1.5, alpha: 1 }); game.addChild(pauseBack); // 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: 2048 / 2, y: 2732 / 2 - 30, scaleX: 2048 / brownBoardWidth, scaleY: (6 / 1.5 * 1.1 * 1.1 * 0.95 * brownBoardHeight + 30) / brownBoardHeight, alpha: 1 }); // Add main background to the game var background = LK.getAsset('Background', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + 20, y: 2732 / 2, width: 2068 * 1.05, 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: 2048 / 2 - 5, y: 2732 / 2 - 20, width: 1400 * 1.2 + 5, height: 1400 * 1.1 * 1.1 - 10, alpha: 1 }); game.addChild(gridBack); // Initialize a 7x7 grid of SquareWhite in the middle of the screen 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 + 110 + 20; var startY = (2732 - gridSize * squareSize) / 2 + 90 + 20 + 5; 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.TintType = 3; // Set TintType to 3 for all instances game.addChild(square); grid.push(square); } } // 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: 2048 / 2 - 910, y: 2732 / 2 + i * 300 - 730 - 20 - 5, 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; // Random time between 3-8 seconds whiteCircle.alpha = 0.2; // Change brightness to 20% LK.setTimeout(function () { whiteCircle.alpha = 1; // Revert brightness back LK.setTimeout(_changeBrightness, randomTime); // Schedule next brightness change }, randomTime); }; _changeBrightness(); // Start changing brightness })(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('Goal: 100', { 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; // Move 945 pixels lower } // Add ItemFull instances var itemFullCenter = new ItemFull(); itemFullCenter.x = 2048 / 2; itemFullCenter.y = painterBackground.y - painterBackground.height / 2 + 360; game.addChild(itemFullCenter); var itemFullLeft = new ItemFull(); itemFullLeft.x = 2048 / 2 - 415; itemFullLeft.y = painterBackground.y - painterBackground.height / 2 + 360; game.addChild(itemFullLeft); var itemFullRight = new ItemFull(); itemFullRight.x = 2048 / 2 + 415; itemFullRight.y = painterBackground.y - painterBackground.height / 2 + 360; game.addChild(itemFullRight); ;
===================================================================
--- original.js
+++ change.js
@@ -296,8 +296,9 @@
for (var j = 0; j < gridSize; j++) {
var square = new SquareWhite();
square.x = startX + i * squareSize;
square.y = startY + j * squareSize;
+ square.TintType = 3; // Set TintType to 3 for all instances
game.addChild(square);
grid.push(square);
}
}
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.