Code edit (1 edits merged)
Please save this source code
User prompt
lower the depth and score texts a bit from treasures texts, do more space between treasures texts
Code edit (1 edits merged)
Please save this source code
User prompt
arrange the treasures texts to be front on the top then depth text then the score text
Code edit (2 edits merged)
Please save this source code
User prompt
make the game background black
User prompt
make the texts of treasures after any layer to appear in front on the screen
User prompt
make the treasures texts afterof the treasure container they are behind it!
User prompt
make the treasures texts before of the treasure container they are behind it!
User prompt
make the treasures texts front of the treasure container they are behind it!
Code edit (6 edits merged)
Please save this source code
User prompt
move treasures texts to the max top
User prompt
move the texts of treasures to the top edge of the screen
User prompt
add texts for each treasure to count how much collected on each one do the texts horizontal beside each others on the top of the screen
User prompt
I meant each each depth of a 5000 miles have different treasure not all togather on the terrain!
User prompt
change the distance between tresurese : each depth of 5000m change to another tresurese
User prompt
reduce the lines of stone area to be 50px x and make the terran larger and resize the player and tresurese to be 100x100px
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: block.mine is not a function' in or related to this line: 'if (block.mine()) {' Line Number: 194
Code edit (1 edits merged)
Please save this source code
User prompt
Pixel Miner: Treasure Depths
Initial prompt
Game similar to cave digger, digging by pixels 50x50, the ground platform is on the max size of the horizontal size of the screen let only 100px on the side are stone, expand them all the way down each time different tresurse, metal, bronze, silver, gold, diamond, crystal...etc each 3000 px y.
/**** * Plugins ****/ var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); playerGraphics.alpha = 0.8; return self; }); var StoneBlock = Container.expand(function () { var self = Container.call(this); self.blockType = 'stone'; var stoneGraphics = self.attachAsset('stone', { anchorX: 0, anchorY: 0 }); self.mine = function () { return false; // Stone blocks cannot be mined }; return self; }); var TerrainBlock = Container.expand(function () { var self = Container.call(this); self.blockType = 'terrain'; self.hasTreasure = false; self.treasureType = null; var blockGraphics = self.attachAsset('terrain', { anchorX: 0, anchorY: 0 }); self.graphics = blockGraphics; self.setTreasure = function (type) { self.hasTreasure = true; self.treasureType = type; if (type === 'bronze') { self.graphics.tint = 0xCD7F32; } else if (type === 'silver') { self.graphics.tint = 0xC0C0C0; } else if (type === 'gold') { self.graphics.tint = 0xFFD700; } else if (type === 'diamond') { self.graphics.tint = 0x00FFFF; } else if (type === 'crystal') { self.graphics.tint = 0xFF69B4; } }; self.mine = function () { if (self.blockType === 'stone') { return false; } self.visible = false; return true; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ game.setBackgroundColor(0x000000); var blockSize = 100; var gridWidth = Math.floor(2048 / blockSize); var gridHeight = Math.floor(2732 / blockSize); var stoneWallWidth = 1; var mineableStartX = stoneWallWidth; var mineableEndX = gridWidth - stoneWallWidth; var terrain = []; var player; var depth = 0; var score = 0; var isDragging = false; var treasureCounts = { bronze: 0, silver: 0, gold: 0, diamond: 0, crystal: 0 }; // Create score text first (will be at the back) var scoreText = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0); scoreText.y = 170; LK.gui.top.addChild(scoreText); // Create depth text second (will be in the middle) var depthText = new Text2('Depth: 0m', { size: 60, fill: 0xFFFFFF }); depthText.anchor.set(0.5, 0); depthText.y = 80; LK.gui.top.addChild(depthText); // Create treasure count displays var treasureTexts = {}; var treasureTypes = ['bronze', 'silver', 'gold', 'diamond', 'crystal']; var treasureColors = { bronze: 0xCD7F32, silver: 0xC0C0C0, gold: 0xFFD700, diamond: 0x00FFFF, crystal: 0xFF69B4 }; // Create container for treasure counts var treasureContainer = new Container(); treasureContainer.y = -20; // Move to the very top edge // Create text for each treasure type var xOffset = -500; for (var i = 0; i < treasureTypes.length; i++) { var type = treasureTypes[i]; var text = new Text2(type.charAt(0).toUpperCase() + type.slice(1) + ': 0', { size: 50, fill: treasureColors[type] }); text.anchor.set(0.5, 0); text.x = xOffset + i * 250; treasureContainer.addChild(text); treasureTexts[type] = text; } // Add container to GUI after all texts are created to ensure it appears on top LK.gui.top.addChild(treasureContainer); function getTreasureType(currentDepth) { // Each 5000 miles (250000 pixels) has a specific treasure type var depthInMiles = Math.floor(currentDepth / 50); // Convert pixels to miles var treasureZone = Math.floor(depthInMiles / 5000); // Which 5000-mile zone var rand = Math.random(); var spawnChance = 0.1; // 10% chance to spawn treasure if (rand > spawnChance) { return null; // No treasure } // Return specific treasure based on depth zone switch (treasureZone) { case 0: // 0-5000 miles return 'bronze'; case 1: // 5000-10000 miles return 'silver'; case 2: // 10000-15000 miles return 'gold'; case 3: // 15000-20000 miles return 'diamond'; default: // 20000+ miles return 'crystal'; } } function generateRow(y) { var row = []; for (var x = 0; x < gridWidth; x++) { var block; if (x < mineableStartX || x >= mineableEndX) { block = new StoneBlock(); } else { block = new TerrainBlock(); var treasure = getTreasureType(depth + y * blockSize); if (treasure) { block.setTreasure(treasure); } } block.x = x * blockSize; block.y = y * blockSize; game.addChild(block); row.push(block); } return row; } function initializeTerrain() { terrain = []; for (var y = 0; y < gridHeight + 1; y++) { terrain.push(generateRow(y)); } } function scrollTerrain() { for (var y = 0; y < terrain.length; y++) { for (var x = 0; x < terrain[y].length; x++) { terrain[y][x].y -= blockSize; } } for (var x = 0; x < terrain[0].length; x++) { terrain[0][x].destroy(); } terrain.shift(); depth += blockSize; terrain.push(generateRow(gridHeight)); depthText.setText('Depth: ' + Math.floor(depth / 50) + 'm'); } function mineBlock(worldX, worldY) { var gridX = Math.floor(worldX / blockSize); var gridY = Math.floor(worldY / blockSize); if (gridX < 0 || gridX >= gridWidth || gridY < 0 || gridY >= gridHeight) { return; } var block = terrain[gridY][gridX]; if (!block || !block.visible) { return; } if (block.mine()) { if (block.hasTreasure) { var treasureValue = 0; switch (block.treasureType) { case 'bronze': treasureValue = 10; break; case 'silver': treasureValue = 25; break; case 'gold': treasureValue = 50; break; case 'diamond': treasureValue = 100; break; case 'crystal': treasureValue = 150; break; } score += treasureValue; LK.setScore(score); scoreText.setText('Score: ' + score); treasureCounts[block.treasureType]++; treasureTexts[block.treasureType].setText(block.treasureType.charAt(0).toUpperCase() + block.treasureType.slice(1) + ': ' + treasureCounts[block.treasureType]); } if (gridY > gridHeight / 2) { scrollTerrain(); } } } player = game.addChild(new Player()); player.x = 1024; player.y = 200; initializeTerrain(); game.down = function (x, y, obj) { isDragging = true; mineBlock(x, y); player.x = x; player.y = Math.min(y, 1366); }; game.move = function (x, y, obj) { if (isDragging) { mineBlock(x, y); player.x = x; player.y = Math.min(y, 1366); } }; game.up = function (x, y, obj) { isDragging = false; }; game.update = function () { // Game runs at 60fps, update handled by event system };
===================================================================
--- original.js
+++ change.js
@@ -104,9 +104,9 @@
size: 60,
fill: 0xFFFFFF
});
depthText.anchor.set(0.5, 0);
-depthText.y = 100;
+depthText.y = 80;
LK.gui.top.addChild(depthText);
// Create treasure count displays
var treasureTexts = {};
var treasureTypes = ['bronze', 'silver', 'gold', 'diamond', 'crystal'];
Same ninja character, with pack of all colors
Same ninja character, with pack of colors silver,gold,diamond,pink crystal
Same ninja character, with silver color
Same ninja character, with gold color
Same ninja character, with diamond color
Same ninja character, with crystal pink color
Pack of crystals, pink color In-Game asset. 2d. High contrast. No shadows
same image but add beside the character +1 with green color.
Same image of ninja with dig machine but with different colors. HD colors. yellow
Same image of ninja with dig machine but with different colors. HD colors. red
Same image of ninja with dig machine but with different colors. HD colors. blue
Same image of ninja with dig machine but with different colors. HD colors. black ninja
Same image of ninja with dig machine but with different colors. HD colors. green
Playerdiggingsound1
Sound effect
Enemydiggingsound1
Sound effect
Gamemusic1
Music
CollectedTreasuresound1
Sound effect
Startsound1
Sound effect
Intromusic1
Music
PlayerShotSound
Sound effect
EnemyShotshound1
Sound effect
Lifesound1
Sound effect
enemyshotsound1
Sound effect
playershotsound1
Sound effect