User prompt
Sürekli basınca düz gitsin
User prompt
10 kat yavaş olsun
User prompt
10 kat daha hızlı gitsin uçak çok hızlı gitmesin o gidiyormuş gibi olsun ama ortada kalsın sadece bastıkça yukarı doğru çıksın dokunmayinca aşağı insin yukarı çıkarken burun kısmı yukarı kalksın arkası aşağı insin ve aşağı inerken de burnu aşağı arkası yukarı doğru çıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
5 kat daha hızlı gitsin
User prompt
Oyun alanı uçağa göre 1.5 kat daha hızlı gitsin
User prompt
Daha da uzağa koy yaklaşık 10000 pixel uzağa
User prompt
Kuleleri başlangıçtan biraz daha uzağa koy
User prompt
3 kat daha uzun ve 1.5 kat daha geniş olsun
User prompt
Kuleler daha uzun olsun
User prompt
Bi de uçak dikdörtgen olmasın biraz daha gerçekçi olsun ve kuleleri az geniş zemin yeşil gökyüzü bulutlar güneş ve gri renkli iki kule
User prompt
Sen boş ver bunu bana 2d uçak oyunu yap yandan görünüm olsun 1 tane uçak ve.iki tane kule olsun
Code edit (1 edits merged)
Please save this source code
User prompt
Farm Tractor Simulator
Initial prompt
Merhaba bana 3d çiftlik oyunu yap ekim yapacağım traktör fln olan bir oyun
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var Airplane = Container.expand(function () { var self = Container.call(this); var airplaneGraphics = self.attachAsset('airplane', { anchorX: 0.5, anchorY: 0.5 }); self.velocityY = 0; self.gravity = 0.5; self.jumpPower = -12; self.speed = 4; self.lastY = 0; self.lastIntersecting1 = false; self.lastIntersecting2 = false; self.jump = function () { self.velocityY = self.jumpPower; LK.getSound('engine').play(); }; self.update = function () { self.lastY = self.y; // Apply gravity self.velocityY += self.gravity; self.y += self.velocityY; // Move forward self.x += self.speed; // Keep airplane within bounds if (self.y < 50) { self.y = 50; self.velocityY = 0; } if (self.y > 2600) { self.y = 2600; self.velocityY = 0; } }; return self; }); var Tower = Container.expand(function () { var self = Container.call(this); var towerGraphics = self.attachAsset('tower', { anchorX: 0.5, anchorY: 1.0 }); return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB }); /**** * Game Code ****/ game.setBackgroundColor(0x87CEEB); var scoreTxt = new Text2('Score: 0', { size: 60, fill: 0x000000 }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); var airplane = game.addChild(new Airplane()); airplane.x = 200; airplane.y = 1366; var tower1 = game.addChild(new Tower()); tower1.x = 800; tower1.y = 2732; var tower2 = game.addChild(new Tower()); tower2.x = 1400; tower2.y = 2732; var score = 0; var gameSpeed = 2; function updateScore() { scoreTxt.setText('Score: ' + score); } function checkCollisions() { // Check tower collisions var currentIntersecting1 = airplane.intersects(tower1); var currentIntersecting2 = airplane.intersects(tower2); if (!airplane.lastIntersecting1 && currentIntersecting1 || !airplane.lastIntersecting2 && currentIntersecting2) { // Just hit a tower LK.getSound('crash').play(); LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } airplane.lastIntersecting1 = currentIntersecting1; airplane.lastIntersecting2 = currentIntersecting2; // Check if airplane passed towers for scoring if (airplane.lastX < tower1.x && airplane.x >= tower1.x) { score += 10; updateScore(); } if (airplane.lastX < tower2.x && airplane.x >= tower2.x) { score += 10; updateScore(); } } game.down = function (x, y, obj) { airplane.jump(); }; game.update = function () { airplane.lastX = airplane.x; // Move towers left for side-scrolling effect tower1.x -= gameSpeed; tower2.x -= gameSpeed; // Reset tower positions when they go off-screen if (tower1.x < -100) { tower1.x = 2148; } if (tower2.x < -100) { tower2.x = 2148; } checkCollisions(); // Check if airplane goes off screen if (airplane.x > 2148) { airplane.x = 200; } // Win condition if (score >= 100) { LK.showYouWin(); } };
===================================================================
--- original.js
+++ change.js
@@ -5,193 +5,127 @@
/****
* Classes
****/
-var SoilPatch = Container.expand(function () {
+var Airplane = Container.expand(function () {
var self = Container.call(this);
- var soilGraphics = self.attachAsset('soil', {
+ var airplaneGraphics = self.attachAsset('airplane', {
anchorX: 0.5,
anchorY: 0.5
});
- self.state = 'empty'; // 'empty', 'planted', 'growing', 'mature'
- self.growthTimer = 0;
- self.seedGraphics = null;
- self.cropGraphics = null;
- self.plant = function () {
- if (self.state === 'empty') {
- self.state = 'planted';
- self.seedGraphics = self.attachAsset('seed', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.growthTimer = 0;
- LK.getSound('plant').play();
- return true;
- }
- return false;
+ self.velocityY = 0;
+ self.gravity = 0.5;
+ self.jumpPower = -12;
+ self.speed = 4;
+ self.lastY = 0;
+ self.lastIntersecting1 = false;
+ self.lastIntersecting2 = false;
+ self.jump = function () {
+ self.velocityY = self.jumpPower;
+ LK.getSound('engine').play();
};
- self.harvest = function () {
- if (self.state === 'mature') {
- self.state = 'empty';
- if (self.cropGraphics) {
- self.cropGraphics.destroy();
- self.cropGraphics = null;
- }
- LK.getSound('harvest').play();
- return true;
- }
- return false;
- };
self.update = function () {
- if (self.state === 'planted') {
- self.growthTimer++;
- if (self.growthTimer >= 180) {
- // 3 seconds at 60fps
- self.state = 'growing';
- if (self.seedGraphics) {
- self.seedGraphics.destroy();
- self.seedGraphics = null;
- }
- self.cropGraphics = self.attachAsset('crop', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- }
- } else if (self.state === 'growing') {
- self.growthTimer++;
- if (self.growthTimer >= 360) {
- // 6 seconds total
- self.state = 'mature';
- if (self.cropGraphics) {
- self.cropGraphics.destroy();
- self.cropGraphics = null;
- }
- self.cropGraphics = self.attachAsset('matureCrop', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- }
+ self.lastY = self.y;
+ // Apply gravity
+ self.velocityY += self.gravity;
+ self.y += self.velocityY;
+ // Move forward
+ self.x += self.speed;
+ // Keep airplane within bounds
+ if (self.y < 50) {
+ self.y = 50;
+ self.velocityY = 0;
}
+ if (self.y > 2600) {
+ self.y = 2600;
+ self.velocityY = 0;
+ }
};
return self;
});
-var Tractor = Container.expand(function () {
+var Tower = Container.expand(function () {
var self = Container.call(this);
- var tractorGraphics = self.attachAsset('tractor', {
+ var towerGraphics = self.attachAsset('tower', {
anchorX: 0.5,
- anchorY: 0.5
+ anchorY: 1.0
});
- self.speed = 3;
- self.targetX = 0;
- self.targetY = 0;
- self.isMoving = false;
- self.moveToTarget = function () {
- if (self.isMoving) {
- var dx = self.targetX - self.x;
- var dy = self.targetY - self.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- if (distance > 5) {
- self.x += dx / distance * self.speed;
- self.y += dy / distance * self.speed;
- // Rotate tractor to face movement direction
- tractorGraphics.rotation = Math.atan2(dy, dx) + Math.PI / 2;
- } else {
- self.isMoving = false;
- }
- }
- };
- self.update = function () {
- self.moveToTarget();
- };
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0x4CAF50
+ backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
-game.setBackgroundColor(0x8BC34A);
+game.setBackgroundColor(0x87CEEB);
var scoreTxt = new Text2('Score: 0', {
size: 60,
- fill: 0xFFFFFF
+ fill: 0x000000
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
-var tractor = game.addChild(new Tractor());
-tractor.x = 1024;
-tractor.y = 1366;
-var soilPatches = [];
-var farmWidth = 8;
-var farmHeight = 12;
-var patchSize = 80;
-var startX = 1024 - farmWidth * patchSize / 2;
-var startY = 400;
-// Create farm field
-for (var row = 0; row < farmHeight; row++) {
- soilPatches[row] = [];
- for (var col = 0; col < farmWidth; col++) {
- var patch = new SoilPatch();
- patch.x = startX + col * patchSize;
- patch.y = startY + row * patchSize;
- soilPatches[row][col] = patch;
- game.addChild(patch);
- }
-}
-var dragNode = null;
+var airplane = game.addChild(new Airplane());
+airplane.x = 200;
+airplane.y = 1366;
+var tower1 = game.addChild(new Tower());
+tower1.x = 800;
+tower1.y = 2732;
+var tower2 = game.addChild(new Tower());
+tower2.x = 1400;
+tower2.y = 2732;
var score = 0;
+var gameSpeed = 2;
function updateScore() {
scoreTxt.setText('Score: ' + score);
}
-function checkTractorCollisions() {
- for (var row = 0; row < farmHeight; row++) {
- for (var col = 0; col < farmWidth; col++) {
- var patch = soilPatches[row][col];
- if (tractor.intersects(patch)) {
- if (patch.state === 'empty') {
- if (patch.plant()) {
- score += 10;
- updateScore();
- }
- } else if (patch.state === 'mature') {
- if (patch.harvest()) {
- score += 25;
- updateScore();
- }
- }
- }
- }
+function checkCollisions() {
+ // Check tower collisions
+ var currentIntersecting1 = airplane.intersects(tower1);
+ var currentIntersecting2 = airplane.intersects(tower2);
+ if (!airplane.lastIntersecting1 && currentIntersecting1 || !airplane.lastIntersecting2 && currentIntersecting2) {
+ // Just hit a tower
+ LK.getSound('crash').play();
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
}
+ airplane.lastIntersecting1 = currentIntersecting1;
+ airplane.lastIntersecting2 = currentIntersecting2;
+ // Check if airplane passed towers for scoring
+ if (airplane.lastX < tower1.x && airplane.x >= tower1.x) {
+ score += 10;
+ updateScore();
+ }
+ if (airplane.lastX < tower2.x && airplane.x >= tower2.x) {
+ score += 10;
+ updateScore();
+ }
}
game.down = function (x, y, obj) {
- tractor.targetX = x;
- tractor.targetY = y;
- tractor.isMoving = true;
- dragNode = tractor;
+ airplane.jump();
};
-game.move = function (x, y, obj) {
- if (dragNode) {
- tractor.targetX = x;
- tractor.targetY = y;
- tractor.isMoving = true;
- }
-};
-game.up = function (x, y, obj) {
- dragNode = null;
-};
game.update = function () {
- checkTractorCollisions();
- // Keep tractor within game bounds
- if (tractor.x < 50) tractor.x = 50;
- if (tractor.x > 1998) tractor.x = 1998;
- if (tractor.y < 50) tractor.y = 50;
- if (tractor.y > 2682) tractor.y = 2682;
- // Check win condition
- if (score >= 500) {
+ airplane.lastX = airplane.x;
+ // Move towers left for side-scrolling effect
+ tower1.x -= gameSpeed;
+ tower2.x -= gameSpeed;
+ // Reset tower positions when they go off-screen
+ if (tower1.x < -100) {
+ tower1.x = 2148;
+ }
+ if (tower2.x < -100) {
+ tower2.x = 2148;
+ }
+ checkCollisions();
+ // Check if airplane goes off screen
+ if (airplane.x > 2148) {
+ airplane.x = 200;
+ }
+ // Win condition
+ if (score >= 100) {
LK.showYouWin();
}
};
\ No newline at end of file
Plane. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
İkiz kule . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
yuvarlak ve gerçekçi güneş
gerçekçi patlama biraz ateş biraz duman. In-Game asset. 2d. High contrast. No shadows
bulut. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat