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
User prompt
PlanetGrey does not take in a radius parameter, instead it passes through a PLANET_RADIUS_GREY global to the Planet constructor
User prompt
Create a PlanetGrey class that inherits from Planet
User prompt
adjust the farms angle so its facing outwards
User prompt
create a farm around the perimeter of the planet based on the numPlots
User prompt
calculate how many plots a planet has by dividing its perimeter by the PLOT_SIZE+PLOT_GAP and rounding down
User prompt
define globals: PLOT_SIZE = 100 and PLOT_GAP = 25
User prompt
Planets should have their width and height set to twice the radius
User prompt
create a planet in the center of the screen
User prompt
remove the creation of the mainFarm and mainShip
User prompt
remove the market class
User prompt
create a planet class which has a radius member
Initial prompt
Farmer Nebula
/**** * 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 = this.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(); } });
===================================================================
--- original.js
+++ change.js
@@ -36,9 +36,9 @@
});
// 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);
+ var planetGreyGraphics = this.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
});
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.