/**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Mole class representing each mole that appears on the screen var Mole = Container.expand(function () { var self = Container.call(this); // Attach a mole asset var moleGraphics = self.attachAsset('mole', { anchorX: 0.5, anchorY: 0.5 }); // Mole's initial state self.isVisible = false; // Method to show the mole self.show = function () { self.isVisible = true; moleGraphics.alpha = 1; }; // Method to hide the mole self.hide = function () { self.isVisible = false; moleGraphics.alpha = 0; }; // Method to handle tap on the mole self.tap = function () { if (self.isVisible) { self.hide(); } }; // Initialize mole as hidden self.hide(); }); // Points class representing each point that appears on the screen var Point = Container.expand(function () { var self = Container.call(this); // Attach a point asset var pointGraphics = self.attachAsset('point', { anchorX: 0.5, anchorY: 0.5 }); // Point's initial state self.isVisible = false; // Method to show the point self.show = function () { self.isVisible = true; pointGraphics.alpha = 1; }; // Method to hide the point self.hide = function () { self.isVisible = false; pointGraphics.alpha = 0; }; // Method to handle tap on the point self.tap = function () { if (self.isVisible) { self.hide(); if (LK.getScore() === 0) { LK.setScore(10); } else { LK.setScore(LK.getScore() + 10); } } }; // Initialize point as hidden self.hide(); }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Add a large background image to the game var background = LK.getAsset('backgroundImage', { anchorX: 0.5, anchorY: 0.5, scaleX: 40, // Scale the background to be larger scaleY: 40, // Scale the background to be larger x: 1024, // Center of the screen y: 1366 // Center of the screen }); game.addChild(background); // Array to hold all moles var moles = []; // Function to randomly show moles function showRandomMole() { if (moles.length > 0) { var randomIndex = Math.floor(Math.random() * moles.length); moles[randomIndex].show(); } } // Array to hold all moles var moles = []; // Create moles and add them to the game for (var i = 0; i < 9; i++) { var mole = new Mole(); mole.x = i % 3 * 300 + 500; // Position moles in a grid mole.y = Math.floor(i / 3) * 300 + 800; moles.push(mole); game.addChild(mole); } // Array to hold all points var points = []; // Create points and add them to the game for (var i = 0; i < 9; i++) { var point = new Point(); point.x = i % 3 * 300 + 500; // Position points in a grid point.y = Math.floor(i / 3) * 300 + 800; points.push(point); game.addChild(point); } // Set interval to show moles at random var moleInterval = LK.setInterval(function () { // Hide all moles first moles.forEach(function (mole) { mole.hide(); }); // Show a random mole showRandomMole(); }, 1000); // Handle tap events on the game game.down = function (x, y, obj) { var localPos = game.toLocal(obj.global); points.forEach(function (point) { if (point.isVisible && point.intersects(localPos)) { point.tap(); } }); moles.forEach(function (mole) { if (mole.isVisible && mole.intersects(localPos)) { mole.tap(); } }); }; // Update function to handle game logic game.update = function () { // Check for win condition if (LK.getScore() >= 20) { LK.showYouWin(); } };
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Mole class representing each mole that appears on the screen
var Mole = Container.expand(function () {
var self = Container.call(this);
// Attach a mole asset
var moleGraphics = self.attachAsset('mole', {
anchorX: 0.5,
anchorY: 0.5
});
// Mole's initial state
self.isVisible = false;
// Method to show the mole
self.show = function () {
self.isVisible = true;
moleGraphics.alpha = 1;
};
// Method to hide the mole
self.hide = function () {
self.isVisible = false;
moleGraphics.alpha = 0;
};
// Method to handle tap on the mole
self.tap = function () {
if (self.isVisible) {
self.hide();
}
};
// Initialize mole as hidden
self.hide();
});
// Points class representing each point that appears on the screen
var Point = Container.expand(function () {
var self = Container.call(this);
// Attach a point asset
var pointGraphics = self.attachAsset('point', {
anchorX: 0.5,
anchorY: 0.5
});
// Point's initial state
self.isVisible = false;
// Method to show the point
self.show = function () {
self.isVisible = true;
pointGraphics.alpha = 1;
};
// Method to hide the point
self.hide = function () {
self.isVisible = false;
pointGraphics.alpha = 0;
};
// Method to handle tap on the point
self.tap = function () {
if (self.isVisible) {
self.hide();
if (LK.getScore() === 0) {
LK.setScore(10);
} else {
LK.setScore(LK.getScore() + 10);
}
}
};
// Initialize point as hidden
self.hide();
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Add a large background image to the game
var background = LK.getAsset('backgroundImage', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 40,
// Scale the background to be larger
scaleY: 40,
// Scale the background to be larger
x: 1024,
// Center of the screen
y: 1366 // Center of the screen
});
game.addChild(background);
// Array to hold all moles
var moles = [];
// Function to randomly show moles
function showRandomMole() {
if (moles.length > 0) {
var randomIndex = Math.floor(Math.random() * moles.length);
moles[randomIndex].show();
}
}
// Array to hold all moles
var moles = [];
// Create moles and add them to the game
for (var i = 0; i < 9; i++) {
var mole = new Mole();
mole.x = i % 3 * 300 + 500; // Position moles in a grid
mole.y = Math.floor(i / 3) * 300 + 800;
moles.push(mole);
game.addChild(mole);
}
// Array to hold all points
var points = [];
// Create points and add them to the game
for (var i = 0; i < 9; i++) {
var point = new Point();
point.x = i % 3 * 300 + 500; // Position points in a grid
point.y = Math.floor(i / 3) * 300 + 800;
points.push(point);
game.addChild(point);
}
// Set interval to show moles at random
var moleInterval = LK.setInterval(function () {
// Hide all moles first
moles.forEach(function (mole) {
mole.hide();
});
// Show a random mole
showRandomMole();
}, 1000);
// Handle tap events on the game
game.down = function (x, y, obj) {
var localPos = game.toLocal(obj.global);
points.forEach(function (point) {
if (point.isVisible && point.intersects(localPos)) {
point.tap();
}
});
moles.forEach(function (mole) {
if (mole.isVisible && mole.intersects(localPos)) {
mole.tap();
}
});
};
// Update function to handle game logic
game.update = function () {
// Check for win condition
if (LK.getScore() >= 20) {
LK.showYouWin();
}
};