/**** * Classes ****/ // Define a class for Pokéball var Pokeball = Container.expand(function () { var self = Container.call(this); var pokeballGraphics = self.attachAsset('pokeball', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for Pokéball self.y -= 5; // Move Pokéball upwards // Make the pokeball move in a zig zag pattern if (LK.ticks % 20 < 10) { self.x += 5; } else { self.x -= 5; } }; }); //<Assets used in the game will automatically appear here> // Define a class for Pokémon var Pokemon = Container.expand(function () { var self = Container.call(this); var pokemonGraphics = self.attachAsset('pokemon', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for Pokémon }; }); // Define a class for Trainer var Trainer = Container.expand(function () { var self = Container.call(this); var trainerGraphics = self.attachAsset('trainer', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for Trainer }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize arrays and variables var pokemons = []; var trainer; var pokeballs = []; var score = 0; // Create and add a Trainer to the game trainer = game.addChild(new Trainer()); trainer.x = 2048 / 2; trainer.y = 2732 - 200; // Function to spawn 5 Pokémons function spawnPokemon() { for (var i = 0; i < 5; i++) { var newPokemon = new Pokemon(); newPokemon.x = Math.random() * 2048; newPokemon.y = 0; pokemons.push(newPokemon); game.addChild(newPokemon); } } // Function to throw a Pokéball function throwPokeball() { var newPokeball = new Pokeball(); newPokeball.x = trainer.x; newPokeball.y = trainer.y; pokeballs.push(newPokeball); game.addChild(newPokeball); } // Handle game updates game.update = function () { // Update Pokémon positions pokemons.forEach(function (pokemon) { pokemon.y += 2; // Move Pokémon downwards if (pokemon.y > 2732) { pokemon.destroy(); pokemons.splice(pokemons.indexOf(pokemon), 1); } }); // Update Pokéball positions pokeballs.forEach(function (pokeball) { pokeball.y -= 5; // Move Pokéball upwards if (pokeball.y < 0) { pokeball.destroy(); pokeballs.splice(pokeballs.indexOf(pokeball), 1); } }); // Check for collisions between Pokéballs and Pokémon pokeballs.forEach(function (pokeball) { pokemons.forEach(function (pokemon) { if (pokeball.intersects(pokemon)) { score += 1; pokeball.destroy(); pokemon.destroy(); pokeballs.splice(pokeballs.indexOf(pokeball), 1); pokemons.splice(pokemons.indexOf(pokemon), 1); } }); }); }; // Handle touch events for throwing Pokéballs game.down = function (x, y, obj) { throwPokeball(); trainer.x = x; // Move the trainer to the x position of the touch event }; // Spawn Pokémon at intervals var spawnInterval = LK.setInterval(spawnPokemon, 2000);
/****
* Classes
****/
// Define a class for Pokéball
var Pokeball = Container.expand(function () {
var self = Container.call(this);
var pokeballGraphics = self.attachAsset('pokeball', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for Pokéball
self.y -= 5; // Move Pokéball upwards
// Make the pokeball move in a zig zag pattern
if (LK.ticks % 20 < 10) {
self.x += 5;
} else {
self.x -= 5;
}
};
});
//<Assets used in the game will automatically appear here>
// Define a class for Pokémon
var Pokemon = Container.expand(function () {
var self = Container.call(this);
var pokemonGraphics = self.attachAsset('pokemon', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for Pokémon
};
});
// Define a class for Trainer
var Trainer = Container.expand(function () {
var self = Container.call(this);
var trainerGraphics = self.attachAsset('trainer', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for Trainer
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize arrays and variables
var pokemons = [];
var trainer;
var pokeballs = [];
var score = 0;
// Create and add a Trainer to the game
trainer = game.addChild(new Trainer());
trainer.x = 2048 / 2;
trainer.y = 2732 - 200;
// Function to spawn 5 Pokémons
function spawnPokemon() {
for (var i = 0; i < 5; i++) {
var newPokemon = new Pokemon();
newPokemon.x = Math.random() * 2048;
newPokemon.y = 0;
pokemons.push(newPokemon);
game.addChild(newPokemon);
}
}
// Function to throw a Pokéball
function throwPokeball() {
var newPokeball = new Pokeball();
newPokeball.x = trainer.x;
newPokeball.y = trainer.y;
pokeballs.push(newPokeball);
game.addChild(newPokeball);
}
// Handle game updates
game.update = function () {
// Update Pokémon positions
pokemons.forEach(function (pokemon) {
pokemon.y += 2; // Move Pokémon downwards
if (pokemon.y > 2732) {
pokemon.destroy();
pokemons.splice(pokemons.indexOf(pokemon), 1);
}
});
// Update Pokéball positions
pokeballs.forEach(function (pokeball) {
pokeball.y -= 5; // Move Pokéball upwards
if (pokeball.y < 0) {
pokeball.destroy();
pokeballs.splice(pokeballs.indexOf(pokeball), 1);
}
});
// Check for collisions between Pokéballs and Pokémon
pokeballs.forEach(function (pokeball) {
pokemons.forEach(function (pokemon) {
if (pokeball.intersects(pokemon)) {
score += 1;
pokeball.destroy();
pokemon.destroy();
pokeballs.splice(pokeballs.indexOf(pokeball), 1);
pokemons.splice(pokemons.indexOf(pokemon), 1);
}
});
});
};
// Handle touch events for throwing Pokéballs
game.down = function (x, y, obj) {
throwPokeball();
trainer.x = x; // Move the trainer to the x position of the touch event
};
// Spawn Pokémon at intervals
var spawnInterval = LK.setInterval(spawnPokemon, 2000);