User prompt
Tá, então tipo assim, coloca o texto pra baixo.
User prompt
Então, assim, coloca o peixe para baixo.
User prompt
Os textos estão tudo juntos.
User prompt
O negócio tá em Undefined.
User prompt
Eu acho que é melhor criar um texto para essa variável.
User prompt
Colocar a variável.
User prompt
Após o level 2 aumenta %20 inimigo spawn rate
User prompt
And the sound
User prompt
O PowerUp ativa automaticamente depois de 2 segundos.
User prompt
Adicione um efeito azul quando o PoiApp for ativado.
User prompt
Power Up 1, congela!
User prompt
Põe a pium, conchela.
User prompt
Muito pouco inimigo, tem que aumentar
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'x')' in or related to this line: 'powerup.x = enemies[i].x;' Line Number: 64
User prompt
Inimigos tem chance de dropar powerups
User prompt
Coloquei uns assets para isso, pode fazer o level.
Code edit (1 edits merged)
Please save this source code
User prompt
Coloque os heart_icons mais para cima e no meio do pato
User prompt
Coloque os heart_icons mais para cima e no meio
User prompt
Coloca no meio e um pouco pra cima também
User prompt
Coloca três heart_icons em cima do pato
User prompt
Eu ainda não tô conseguindo ver
User prompt
I can't see the heart icons
User prompt
Coloca no topo, fica melhor
User prompt
Coloca três em cima do Pato
/**** * Classes ****/ // Bullet class representing the bullets shot by the player var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('Yellow_bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x += self.speed; if (self.y < -50) { self.destroy(); } else { for (var i = enemies.length - 1; i >= 0; i--) { if (self.intersects(enemies[i])) { enemies[i].destroy(); enemies.splice(i, 1); LK.getSound('Player_hit').play(); } } } }; }); // Enemy class representing the enemies in the game var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('Enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x -= self.speed; }; }); // Item class representing additional game elements var Item = Container.expand(function () { var self = Container.call(this); // Removed heart icon attachment self.update = function () { // Logic for item behavior }; }); // Update function to apply velocity and rotation // Player class representing the main character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('Duck', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { // Apply gravity self.speed += 0.5; // Gravity pulling down self.y += self.speed; // Apply gravity to vertical speed // Check if player is on the ground if (self.y > ground.y - self.height / 2) { self.y = ground.y - self.height / 2; // Correct position self.speed = 0; // Stop moving downwards } // Check for shooting if (LK.ticks % 60 === 0) { self.shoot(); } // Check for collision with enemies for (var i = enemies.length - 1; i >= 0; i--) { if (self.intersects(enemies[i])) { enemies[i].destroy(); enemies.splice(i, 1); // Handle player damage or game over logic playerHealth--; if (playerHealth >= 0) { heartIcons[playerHealth].destroy(); // Remove a heart icon } if (playerHealth <= 0) { // Trigger game over logic LK.showGameOver(); } LK.getSound('Enemy_hit').play(); } } }; self.shoot = function () { if (bulletCount > 0) { // Logic for shooting bullets var bullet = new Bullet(); bullet.x = self.x; bullet.y = self.y; game.addChild(bullet); LK.getSound('Shoot').play(); bulletCount--; if (bulletCount === 0) { // Destroy all existing bullets for (var i = bullets.length - 1; i >= 0; i--) { bullets[i].destroy(); bullets.splice(i, 1); } bulletCount = 3; // Reload bullets reloadTimeout = LK.setTimeout(function () { LK.getSound('Reload').play(); for (var i = 0; i < bulletCount; i++) { var bullet = new Bullet(); bullet.x = self.x; bullet.y = self.y; game.addChild(bullet); bullets.push(bullet); } }, 3000); } } }; }); /**** * Initialize Game ****/ //<Assets used in the game will automatically appear here> var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var globalVariable; // Global variable declaration // Initialize up button var upButton = LK.getAsset('Up', { anchorX: 0.5, anchorY: 0.5, x: 400, y: 2600 }); game.addChild(upButton); upButton.down = function (x, y, obj) { if (player.y >= ground.y - player.height / 2) { // If player is on the ground player.speed = -20; // Apply upward force LK.getSound('Jump').play(); // Add more dust effect when player jumps for (var i = 0; i < 3; i++) { var dust = LK.getAsset('dust', { anchorX: 0.5, anchorY: 0.5, x: player.x + i * 20, y: player.y + player.height / 2, scaleX: 0.3, scaleY: 0.3 }); game.addChild(dust); // Update dust position to follow player's jump dust.update = function () { dust.y = player.y + player.height / 2; }; // Remove dust effect after 500ms LK.setTimeout(function () { dust.destroy(); }, 500); } } }; // Add a notice text warning about loud sound var noticeText = new Text2('Warning! Loud Sound', { size: 100, fill: "#ff0000" }); noticeText.anchor.set(0.5, 0); LK.gui.top.addChild(noticeText); LK.setTimeout(function () { noticeText.destroy(); }, 5000); // Remove the notice after 5 seconds // Add a button to skip the introduction; var yourGoalText; // Initialize ground var ground = LK.getAsset('Ground', { anchorX: 0.5, anchorY: 1.0, x: 1024, y: 2500 }); game.addChild(ground); // Initialize player, enemies, and TV channels var player = game.addChild(new Player()); player.x = 200; // Place the duck in left player.y = ground.y - ground.height - player.height / 2; // Add heart icons above the player to represent health var heartIcons = []; for (var i = 0; i < playerHealth; i++) { var heartIcon = LK.getAsset('Heart_icon', { anchorX: 0.5, anchorY: 0.5, x: player.x + i * 110, // Adjust spacing between hearts y: player.y - player.height / 2 - 50 // Position above the player }); game.addChild(heartIcon); heartIcons.push(heartIcon); } var enemies = []; var items = []; // Initialize items array to track new game elements var points = 0; // Initialize points variable to track player score var bullets = []; // Initialize bullets array to track bullets var Classic = 0; // Initialize Classic variable var playerHealth = 3; // Initialize player health variable var bulletCount = 3; // Initialize bullet count var reloadTimeout; // Timeout for reloading bullets var itemSpawnTimer = LK.setInterval(function () { var item = game.addChild(new Item()); item.x = Math.random() * 2048; // Random x position item.y = Math.random() * (ground.y - ground.height); // Random y position above ground items.push(item); }, 5000); // Spawn items every 5 seconds var enemySpawnTimer = LK.setInterval(function () { var enemy = game.addChild(new Enemy()); enemy.x = 2048 - enemy.width / 2; // Place the enemy on the right side of the screen enemy.y = ground.y - ground.height / 2 - enemy.height / 2; // Place the enemy on the ground enemies.push(enemy); }, 3000); // Create TV channels // Play background music and display 'Your Goal' text after 10 seconds var introTimeout = LK.setTimeout(function () { LK.playMusic('Background_music'); }, 10000); // Add a button to skip the introduction;
/****
* Classes
****/
// Bullet class representing the bullets shot by the player
var Bullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('Yellow_bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.x += self.speed;
if (self.y < -50) {
self.destroy();
} else {
for (var i = enemies.length - 1; i >= 0; i--) {
if (self.intersects(enemies[i])) {
enemies[i].destroy();
enemies.splice(i, 1);
LK.getSound('Player_hit').play();
}
}
}
};
});
// Enemy class representing the enemies in the game
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('Enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.x -= self.speed;
};
});
// Item class representing additional game elements
var Item = Container.expand(function () {
var self = Container.call(this);
// Removed heart icon attachment
self.update = function () {
// Logic for item behavior
};
});
// Update function to apply velocity and rotation
// Player class representing the main character
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('Duck', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 10;
self.update = function () {
// Apply gravity
self.speed += 0.5; // Gravity pulling down
self.y += self.speed; // Apply gravity to vertical speed
// Check if player is on the ground
if (self.y > ground.y - self.height / 2) {
self.y = ground.y - self.height / 2; // Correct position
self.speed = 0; // Stop moving downwards
}
// Check for shooting
if (LK.ticks % 60 === 0) {
self.shoot();
}
// Check for collision with enemies
for (var i = enemies.length - 1; i >= 0; i--) {
if (self.intersects(enemies[i])) {
enemies[i].destroy();
enemies.splice(i, 1);
// Handle player damage or game over logic
playerHealth--;
if (playerHealth >= 0) {
heartIcons[playerHealth].destroy(); // Remove a heart icon
}
if (playerHealth <= 0) {
// Trigger game over logic
LK.showGameOver();
}
LK.getSound('Enemy_hit').play();
}
}
};
self.shoot = function () {
if (bulletCount > 0) {
// Logic for shooting bullets
var bullet = new Bullet();
bullet.x = self.x;
bullet.y = self.y;
game.addChild(bullet);
LK.getSound('Shoot').play();
bulletCount--;
if (bulletCount === 0) {
// Destroy all existing bullets
for (var i = bullets.length - 1; i >= 0; i--) {
bullets[i].destroy();
bullets.splice(i, 1);
}
bulletCount = 3; // Reload bullets
reloadTimeout = LK.setTimeout(function () {
LK.getSound('Reload').play();
for (var i = 0; i < bulletCount; i++) {
var bullet = new Bullet();
bullet.x = self.x;
bullet.y = self.y;
game.addChild(bullet);
bullets.push(bullet);
}
}, 3000);
}
}
};
});
/****
* Initialize Game
****/
//<Assets used in the game will automatically appear here>
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
var globalVariable; // Global variable declaration
// Initialize up button
var upButton = LK.getAsset('Up', {
anchorX: 0.5,
anchorY: 0.5,
x: 400,
y: 2600
});
game.addChild(upButton);
upButton.down = function (x, y, obj) {
if (player.y >= ground.y - player.height / 2) {
// If player is on the ground
player.speed = -20; // Apply upward force
LK.getSound('Jump').play();
// Add more dust effect when player jumps
for (var i = 0; i < 3; i++) {
var dust = LK.getAsset('dust', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x + i * 20,
y: player.y + player.height / 2,
scaleX: 0.3,
scaleY: 0.3
});
game.addChild(dust);
// Update dust position to follow player's jump
dust.update = function () {
dust.y = player.y + player.height / 2;
};
// Remove dust effect after 500ms
LK.setTimeout(function () {
dust.destroy();
}, 500);
}
}
};
// Add a notice text warning about loud sound
var noticeText = new Text2('Warning! Loud Sound', {
size: 100,
fill: "#ff0000"
});
noticeText.anchor.set(0.5, 0);
LK.gui.top.addChild(noticeText);
LK.setTimeout(function () {
noticeText.destroy();
}, 5000); // Remove the notice after 5 seconds
// Add a button to skip the introduction;
var yourGoalText;
// Initialize ground
var ground = LK.getAsset('Ground', {
anchorX: 0.5,
anchorY: 1.0,
x: 1024,
y: 2500
});
game.addChild(ground);
// Initialize player, enemies, and TV channels
var player = game.addChild(new Player());
player.x = 200; // Place the duck in left
player.y = ground.y - ground.height - player.height / 2;
// Add heart icons above the player to represent health
var heartIcons = [];
for (var i = 0; i < playerHealth; i++) {
var heartIcon = LK.getAsset('Heart_icon', {
anchorX: 0.5,
anchorY: 0.5,
x: player.x + i * 110,
// Adjust spacing between hearts
y: player.y - player.height / 2 - 50 // Position above the player
});
game.addChild(heartIcon);
heartIcons.push(heartIcon);
}
var enemies = [];
var items = []; // Initialize items array to track new game elements
var points = 0; // Initialize points variable to track player score
var bullets = []; // Initialize bullets array to track bullets
var Classic = 0; // Initialize Classic variable
var playerHealth = 3; // Initialize player health variable
var bulletCount = 3; // Initialize bullet count
var reloadTimeout; // Timeout for reloading bullets
var itemSpawnTimer = LK.setInterval(function () {
var item = game.addChild(new Item());
item.x = Math.random() * 2048; // Random x position
item.y = Math.random() * (ground.y - ground.height); // Random y position above ground
items.push(item);
}, 5000); // Spawn items every 5 seconds
var enemySpawnTimer = LK.setInterval(function () {
var enemy = game.addChild(new Enemy());
enemy.x = 2048 - enemy.width / 2; // Place the enemy on the right side of the screen
enemy.y = ground.y - ground.height / 2 - enemy.height / 2; // Place the enemy on the ground
enemies.push(enemy);
}, 3000);
// Create TV channels
// Play background music and display 'Your Goal' text after 10 seconds
var introTimeout = LK.setTimeout(function () {
LK.playMusic('Background_music');
}, 10000);
// Add a button to skip the introduction;
Title game:duck with a gun. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Duck with a gun title logo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Yellow_bullet pixel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Red dot with white in the middle pixel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Mana_icon pixel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Enemy pixel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
White_bullet_icon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
duck_death. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
duck_revive_in_game_over. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Continue_button_spending_gems. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Powerup_1. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Scenario. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Enemy pixel_2 more strong.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Danger sign. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.