Code edit (1 edits merged)
Please save this source code
User prompt
Add two new planet classes: PlanetBlue and PlanetOmni
Code edit (2 edits merged)
Please save this source code
User prompt
Create a new planet called PlanetRed
Code edit (5 edits merged)
Please save this source code
User prompt
call the planet's update method from the global on tick callback
User prompt
in the planet update method increase the rotation by the spin value
User prompt
Planet and PlanetGrey should have a self.spin of 0 and 0.01 respectively
Code edit (1 edits merged)
Please save this source code
User prompt
add an update function to the planet class
User prompt
Instead of creating a farm on the first plot, create a ship
User prompt
a planet should randomize its rotation in it's constructor
User prompt
Set the width of the farm graphics to the PLOT_SIZE
Code edit (1 edits merged)
Please save this source code
User prompt
Remove the farm and ship functions
Code edit (1 edits merged)
Please save this source code
User prompt
farm creation should happen in the planet class
User prompt
Remove the tick logic for ships and farms
User prompt
PlanetGrey should no longer create it's own asset
User prompt
PlanetGrey should take in 2 parameters; x and y. But should pass x, y, PLANET_RADIUS_GREY and 'planetGrey' to the Planet constructor
User prompt
Planet should take in 4 parameters; x, y, radius and assetName
User prompt
Remove the tint for the grey planet
User prompt
Planet should return self at the bottom
User prompt
Fix Bug: 'TypeError: self is undefined' in this line: 'var planetGreyGraphics = self.createAsset('planetGrey', 'Grey Planet asset', 0.5, 0.5);' Line Number: 40
User prompt
the starter planet should be of PlanetGrey type
/****
* Classes
****/
// Define the Farm class
var Farm = Container.expand(function () {
var self = Container.call(this);
var farmGraphics = self.createAsset('farm', 'Farm asset', 0.5, 0.5);
self.produce = function () {
// Produce resources over time
};
self.sell = function () {
// Sell resources for currency
};
});
// Define the Ship class
var Ship = Container.expand(function () {
var self = Container.call(this);
var shipGraphics = self.createAsset('ship', 'Ship asset', 0.5, 0.5);
self.travel = function () {
// Travel to different planets
};
self.trade = function () {
// Trade resources between planets
};
});
// Define the Planet class
var Planet = Container.expand(function (radius) {
var self = Container.call(this);
self.radius = radius;
var planetGraphics = self.createAsset('planet', 'Planet asset', 0.5, 0.5);
planetGraphics.width = self.radius * 2;
planetGraphics.height = self.radius * 2;
// Calculate the number of plots based on the planet's perimeter
var perimeter = 2 * Math.PI * self.radius;
self.numPlots = Math.floor(perimeter / (PLOT_SIZE + PLOT_GAP));
});
// Define the PlanetGrey class that inherits from Planet
var PlanetGrey = Planet.expand(function () {
var self = Planet.call(this, PLANET_RADIUS_GREY);
var planetGreyGraphics = self.createAsset('planetGrey', 'Grey Planet asset', 0.5, 0.5);
planetGreyGraphics.width = self.radius * 2;
planetGreyGraphics.height = self.radius * 2;
planetGreyGraphics.tint = 0x808080; // Apply grey tint to the planet
});
/****
* Initialize Game
****/
// Gap between farm plots
var game = new LK.Game({
backgroundColor: 0x000000 // Init game with black background
});
/****
* Game Code
****/
// Initialize important asset arrays
var PLANET_RADIUS_GREY = 100;
var PLOT_SIZE = 100; // Size of each farm plot
var PLOT_GAP = 25;
var farms = [];
var ships = [];
// Create initial game elements
// Create a grey planet and place it in the center of the screen
var planet = game.addChild(new PlanetGrey());
planet.x = 2048 / 2;
planet.y = 2732 / 2;
// Create farms around the perimeter of the planet
for (var i = 0; i < planet.numPlots; i++) {
var angle = i / planet.numPlots * 2 * Math.PI;
var farmX = planet.x + planet.radius * Math.cos(angle);
var farmY = planet.y + planet.radius * Math.sin(angle);
var farm = new Farm();
farm.rotation = angle + Math.PI / 2;
farm.x = farmX;
farm.y = farmY;
farms.push(farm);
game.addChild(farm);
}
// Game logic
LK.on('tick', function () {
// Update farms
for (var i = 0; i < farms.length; i++) {
farms[i].produce();
}
// Update ships
for (var j = 0; j < ships.length; j++) {
ships[j].travel();
}
});
pixel art of a tiny planet. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a planet. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of an alien currency symbol. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a planet made of gold ore. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
plain black background with stars. 2d repeating Texture.
pixel art of a asteroid. Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a cute alien farmer, side view. Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a rocky explosion.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art flame particle. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a large white, empty, rectangular, speech bubble. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixel art of a red chevron. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Pixel art of yellow grapes. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.