User prompt
Duvar olmasın
User prompt
Hayır zıplama zıpladığında eşyalar büyümesin sadece zıplayabildiğin yükseklikte bir engel olsun
User prompt
Zıpladığın kadar boyutta olsun engeller
User prompt
Bir kere zıplayınca yere değdiğinde tekrar zıplanabilsin
User prompt
Bir iki kere bastığımızda yukarı çıkmasın yere deyince yukarı çıkabilsin
User prompt
İleri doğru kaydırmak değil sadece bastığımızda zıp lasın ama çok yükseğe değil basılı tuttuğumuzda yükselmesin belli bir yükseklikte olsun
User prompt
Telefondan basıp oynayabilir olsun
Code edit (1 edits merged)
Please save this source code
User prompt
Geometry Dash
Initial prompt
Geometry dash yap
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Platform = Container.expand(function () {
var self = Container.call(this);
var platformGraphics = self.attachAsset('platform', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 0;
self.lastX = 0;
self.update = function () {
self.x -= self.speed;
self.lastX = self.x;
};
return self;
});
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.velocityY = 0;
self.isJumping = false;
self.jumpPower = 0;
self.maxJumpPower = 25;
self.gravity = 0.8;
self.groundY = 0;
self.setGroundLevel = function (y) {
self.groundY = y;
self.y = y;
};
self.startJump = function () {
if (!self.isJumping && self.y >= self.groundY) {
self.isJumping = true;
self.velocityY = -15;
LK.getSound('jump').play();
}
};
self.update = function () {
self.velocityY += self.gravity;
self.y += self.velocityY;
if (self.y >= self.groundY) {
self.y = self.groundY;
self.velocityY = 0;
self.isJumping = false;
if (!self.isJumping) {
self.jumpPower = 0;
}
}
self.maxJumpHeightReached = 0;
if (self.isJumping) {
var jumpHeight = self.groundY - self.y;
if (jumpHeight > self.maxJumpHeightReached) {
self.maxJumpHeightReached = jumpHeight;
}
}
var color = self.isJumping ? 0xffff00 : 0x00ff00;
playerGraphics.tint = color;
};
return self;
});
var Spike = Container.expand(function () {
var self = Container.call(this);
var spikeGraphics = self.attachAsset('spike', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 0;
self.lastX = 0;
self.update = function () {
self.x -= self.speed;
self.lastX = self.x;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a1a2e
});
/****
* Game Code
****/
var groundY = 2100;
var gameWidth = 2048;
var gameHeight = 2732;
var isGameRunning = true;
var obstacleSpeed = 8;
var baseObstacleSpeed = 8;
var spawnRate = 80;
var tickCounter = 0;
var distanceTraveled = 0;
var lastScore = 0;
var player = game.addChild(new Player());
player.setGroundLevel(groundY);
player.x = 300;
var obstacles = [];
var scoreTxt = new Text2('Distance: 0', {
size: 120,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
function spawnObstacle() {
var randomType = Math.floor(Math.random() * 2);
var obstacle = null;
if (randomType === 0) {
obstacle = game.addChild(new Spike());
obstacle.x = gameWidth + 100;
obstacle.y = groundY;
} else {
obstacle = game.addChild(new Platform());
obstacle.x = gameWidth + 100;
obstacle.y = groundY + 60;
}
obstacle.speed = obstacleSpeed;
obstacle.lastX = obstacle.x;
obstacles.push(obstacle);
}
game.down = function (x, y, obj) {
if (isGameRunning) {
player.startJump();
}
};
game.update = function () {
if (!isGameRunning) {
return;
}
tickCounter++;
if (Math.floor(tickCounter / 100) > lastScore) {
lastScore = Math.floor(tickCounter / 100);
scoreTxt.setText('Distance: ' + lastScore);
}
if (tickCounter % spawnRate === 0) {
spawnObstacle();
}
player.update();
for (var i = obstacles.length - 1; i >= 0; i--) {
var obstacle = obstacles[i];
if (obstacle.lastX === undefined) {
obstacle.lastX = obstacle.x;
}
obstacle.update();
if (obstacle.x < -200) {
obstacle.destroy();
obstacles.splice(i, 1);
continue;
}
var wasOffscreen = obstacle.lastX > gameWidth + 50;
var isOnscreen = obstacle.x >= -50 && obstacle.x <= gameWidth + 50;
if (player.intersects(obstacle)) {
LK.getSound('hit').play();
LK.effects.flashScreen(0xff0000, 500);
isGameRunning = false;
LK.showGameOver();
}
obstacle.lastX = obstacle.x;
}
};
LK.playMusic('bgmusic', {
loop: true
}); /****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Platform = Container.expand(function () {
var self = Container.call(this);
var platformGraphics = self.attachAsset('platform', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 0;
self.lastX = 0;
self.update = function () {
self.x -= self.speed;
self.lastX = self.x;
};
return self;
});
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.velocityY = 0;
self.isJumping = false;
self.jumpPower = 0;
self.maxJumpPower = 25;
self.gravity = 0.8;
self.groundY = 0;
self.setGroundLevel = function (y) {
self.groundY = y;
self.y = y;
};
self.startJump = function () {
if (!self.isJumping && self.y >= self.groundY) {
self.isJumping = true;
self.velocityY = -15;
LK.getSound('jump').play();
}
};
self.update = function () {
self.velocityY += self.gravity;
self.y += self.velocityY;
if (self.y >= self.groundY) {
self.y = self.groundY;
self.velocityY = 0;
self.isJumping = false;
if (!self.isJumping) {
self.jumpPower = 0;
}
}
self.maxJumpHeightReached = 0;
if (self.isJumping) {
var jumpHeight = self.groundY - self.y;
if (jumpHeight > self.maxJumpHeightReached) {
self.maxJumpHeightReached = jumpHeight;
}
}
var color = self.isJumping ? 0xffff00 : 0x00ff00;
playerGraphics.tint = color;
};
return self;
});
var Spike = Container.expand(function () {
var self = Container.call(this);
var spikeGraphics = self.attachAsset('spike', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 0;
self.lastX = 0;
self.update = function () {
self.x -= self.speed;
self.lastX = self.x;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a1a2e
});
/****
* Game Code
****/
var groundY = 2100;
var gameWidth = 2048;
var gameHeight = 2732;
var isGameRunning = true;
var obstacleSpeed = 8;
var baseObstacleSpeed = 8;
var spawnRate = 80;
var tickCounter = 0;
var distanceTraveled = 0;
var lastScore = 0;
var player = game.addChild(new Player());
player.setGroundLevel(groundY);
player.x = 300;
var obstacles = [];
var scoreTxt = new Text2('Distance: 0', {
size: 120,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
function spawnObstacle() {
var randomType = Math.floor(Math.random() * 2);
var obstacle = null;
if (randomType === 0) {
obstacle = game.addChild(new Spike());
obstacle.x = gameWidth + 100;
obstacle.y = groundY;
} else {
obstacle = game.addChild(new Platform());
obstacle.x = gameWidth + 100;
obstacle.y = groundY + 60;
}
obstacle.speed = obstacleSpeed;
obstacle.lastX = obstacle.x;
obstacles.push(obstacle);
}
game.down = function (x, y, obj) {
if (isGameRunning) {
player.startJump();
}
};
game.update = function () {
if (!isGameRunning) {
return;
}
tickCounter++;
if (Math.floor(tickCounter / 100) > lastScore) {
lastScore = Math.floor(tickCounter / 100);
scoreTxt.setText('Distance: ' + lastScore);
}
if (tickCounter % spawnRate === 0) {
spawnObstacle();
}
player.update();
for (var i = obstacles.length - 1; i >= 0; i--) {
var obstacle = obstacles[i];
if (obstacle.lastX === undefined) {
obstacle.lastX = obstacle.x;
}
obstacle.update();
if (obstacle.x < -200) {
obstacle.destroy();
obstacles.splice(i, 1);
continue;
}
var wasOffscreen = obstacle.lastX > gameWidth + 50;
var isOnscreen = obstacle.x >= -50 && obstacle.x <= gameWidth + 50;
if (player.intersects(obstacle)) {
LK.getSound('hit').play();
LK.effects.flashScreen(0xff0000, 500);
isGameRunning = false;
LK.showGameOver();
}
obstacle.lastX = obstacle.x;
}
};
LK.playMusic('bgmusic', {
loop: true
});