User prompt
koyduğun şekil bir kare, -> <- şu şekilde yön işaretleri göster
User prompt
sağ üst köşesindeki yön göstergeis pause tuşu gibi büyük olsun ve sonraki hamlede yöneleceği yönü gösteren bir ok işareti şeklinde olsun
User prompt
rastgele bir yerde bir tane biberon olsun ona ulaşmaya çalışalım ulaşınca sonraki bölüme geçsin
User prompt
bir sonraki rastgele yönün hangi yön olduğunu gösteren tabela eklememişsin sağ üst köşeye
User prompt
çocuğu zıplatmayalım sadece odadaki yönü değişsin çocuk oyun zemininde yürüyor biz odaya yukardan bakıyoruz gibi olsun aslında şöyle olsun cocuk odanın içinde rastgele yürüyor odada birsürü eşyalar var onlara çarpmaması için oyuna tıklamamız gerekiyor her tıkladığımızda rastgele bir yöne gidecek çocuk ama bir sonraki rastgele yönün neresi olduğunu sağ üst köşede sabit bir kutuda görebileceğiz ekrana tıkladığımızda o yöne doğru yürümeye devam edecek
Code edit (1 edits merged)
Please save this source code
User prompt
Zıp Zıp Bebek
Initial prompt
🎮 OYUN FİKRİ: "Zıp Zıp Bebek" (örnek isim) 🔹 Temel Oynanış Mekaniği Oyunun ana karakteri: bir bebek, ekranda sağa sola rasgele yönlere doğru yürür veya koşar. Oyuncunun kontrolü: ekrana dokunarak bebeği zıplatmak. Amaç: Sağdan, soldan ya da yukarıdan gelen nesnelerden bebeği kaçırmak. Eğer bebek bir nesneye çarparsa: oyun biter. 🧩 Oynanış Detayları ⚙️ Mekanikler Zıplama süresi: Oyuncunun ne zaman ve ne kadar süreyle dokunduğuna göre zıplama yüksekliği değişebilir (daha zorlayıcı versiyon). Koşu yönü rastgele: Bebeğin yönü zaman zaman değişebilir. Belki duvara çarpınca yön değiştirir. Gelen nesneler: Top, oyuncak, küp, sandalye gibi nesneler farklı hız ve boyutlarda gelir. Aralıklı olarak daha hızlı veya daha büyük engeller olabilir. 🧠 Gelişen Zorluk Oyunun süresi uzadıkça, nesneler daha hızlı ve sık gelmeye başlar. Belki ilerleyen bölümlerde çift zıplama veya kısa süreli kalkan gibi güçlendirmeler eklenebilir. 🌈 Estetik ve Tema Grafikler renkli, pastel tonlarda, çocuk çizim tarzına yakın olabilir. Arka plan müziği neşeli, sevimli ama fazla dikkat dağıtmayacak şekilde olmalı. Bebek karakterinin sevimli animasyonları, oyuncunun bağ kurmasını sağlar (örneğin güldüğünde ses çıkarır, düşününce kafasını kaşır gibi).
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Baby = Container.expand(function () {
var self = Container.call(this);
var babyGraphics = self.attachAsset('baby', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3;
self.velocityX = 0;
self.velocityY = 0;
self.directionChangeTimer = 0;
self.directions = [{
x: 1,
y: 0
},
// right
{
x: -1,
y: 0
},
// left
{
x: 0,
y: 1
},
// down
{
x: 0,
y: -1
},
// up
{
x: 1,
y: 1
},
// diagonal down-right
{
x: -1,
y: 1
},
// diagonal down-left
{
x: 1,
y: -1
},
// diagonal up-right
{
x: -1,
y: -1
} // diagonal up-left
];
self.currentDirection = 0;
self.nextDirection = 1;
self.setRandomDirection = function () {
var newDirection = Math.floor(Math.random() * self.directions.length);
self.currentDirection = newDirection;
var dir = self.directions[self.currentDirection];
self.velocityX = dir.x * self.speed;
self.velocityY = dir.y * self.speed;
// Set next random direction
self.nextDirection = Math.floor(Math.random() * self.directions.length);
};
self.update = function () {
// Move baby
self.x += self.velocityX;
self.y += self.velocityY;
// Keep baby within room bounds
if (self.x <= 60) {
self.x = 60;
self.setRandomDirection();
}
if (self.x >= 2048 - 60) {
self.x = 2048 - 60;
self.setRandomDirection();
}
if (self.y <= 60) {
self.y = 60;
self.setRandomDirection();
}
if (self.y >= 2732 - 60) {
self.y = 2732 - 60;
self.setRandomDirection();
}
};
// Initialize with random direction
self.setRandomDirection();
return self;
});
var DirectionIndicator = Container.expand(function () {
var self = Container.call(this);
var arrow = self.attachAsset('toy', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.8,
scaleY: 0.8
});
arrow.tint = 0x00ff00;
self.setDirection = function (directionIndex) {
var angles = [0, Math.PI, -Math.PI / 2, Math.PI / 2, -Math.PI / 4, 3 * Math.PI / 4, Math.PI / 4, -3 * Math.PI / 4];
arrow.rotation = angles[directionIndex];
};
return self;
});
var RoomObject = Container.expand(function (type) {
var self = Container.call(this);
var assetId = type || 'obstacle';
var objectGraphics = self.attachAsset(assetId, {
anchorX: 0.5,
anchorY: 0.5
});
// Static room objects don't move
self.update = function () {
// Room objects are static, no movement needed
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
game.setBackgroundColor(0xf0f0f0);
// Game variables
var baby;
var roomObjects = [];
var gameStarted = false;
var directionIndicator;
// Create baby
baby = game.addChild(new Baby());
baby.x = 1024;
baby.y = 1366;
// Score display
var scoreTxt = new Text2('0', {
size: 120,
fill: 0x000000
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Create direction indicator in top right corner
directionIndicator = new DirectionIndicator();
directionIndicator.x = 1848;
directionIndicator.y = 200;
game.addChild(directionIndicator);
// Create room objects (furniture)
function createRoomObjects() {
var objectTypes = ['obstacle', 'ball', 'toy'];
var numObjects = 8 + Math.floor(Math.random() * 5);
for (var i = 0; i < numObjects; i++) {
var type = objectTypes[Math.floor(Math.random() * objectTypes.length)];
var roomObj = new RoomObject(type);
// Random position avoiding baby starting area
do {
roomObj.x = 150 + Math.random() * (2048 - 300);
roomObj.y = 150 + Math.random() * (2732 - 300);
} while (Math.abs(roomObj.x - 1024) < 200 && Math.abs(roomObj.y - 1366) < 200);
roomObjects.push(roomObj);
game.addChild(roomObj);
}
}
createRoomObjects();
// Initialize direction indicator to show baby's next direction
directionIndicator.setDirection(baby.nextDirection);
// Input handling - tap to change direction
game.down = function (x, y, obj) {
if (baby) {
baby.currentDirection = baby.nextDirection;
var dir = baby.directions[baby.currentDirection];
baby.velocityX = dir.x * baby.speed;
baby.velocityY = dir.y * baby.speed;
// Set new next direction
baby.nextDirection = Math.floor(Math.random() * baby.directions.length);
directionIndicator.setDirection(baby.nextDirection);
LK.getSound('jump').play();
}
gameStarted = true;
};
// Game update loop
game.update = function () {
if (!gameStarted) {
// Update direction indicator even before game starts
directionIndicator.setDirection(baby.nextDirection);
return;
}
// Check collisions with room objects
for (var i = 0; i < roomObjects.length; i++) {
var roomObj = roomObjects[i];
if (baby.intersects(roomObj)) {
LK.getSound('collision').play();
LK.showGameOver();
return;
}
}
// Update direction indicator
directionIndicator.setDirection(baby.nextDirection);
// Update score based on time survived
if (LK.ticks % 60 === 0) {
// Every second
LK.setScore(LK.getScore() + 1);
scoreTxt.setText(LK.getScore());
}
};
// Start background music
LK.playMusic('bgmusic'); ===================================================================
--- original.js
+++ change.js
@@ -152,9 +152,9 @@
// Create direction indicator in top right corner
directionIndicator = new DirectionIndicator();
directionIndicator.x = 1848;
directionIndicator.y = 200;
-LK.gui.topRight.addChild(directionIndicator);
+game.addChild(directionIndicator);
// Create room objects (furniture)
function createRoomObjects() {
var objectTypes = ['obstacle', 'ball', 'toy'];
var numObjects = 8 + Math.floor(Math.random() * 5);
@@ -170,8 +170,10 @@
game.addChild(roomObj);
}
}
createRoomObjects();
+// Initialize direction indicator to show baby's next direction
+directionIndicator.setDirection(baby.nextDirection);
// Input handling - tap to change direction
game.down = function (x, y, obj) {
if (baby) {
baby.currentDirection = baby.nextDirection;
kuş bakışı gördüğümüz bir örümcek çiz. In-Game asset. 2d. High contrast. No shadows
Örümcek Ağı. In-Game asset. 2d. High contrast. No shadows
sağa doğru bakan zehirli karınca. In-Game asset. 2d. High contrast. No shadows
taş parçası. In-Game asset. 2d. High contrast. No shadows
toprak bir zemine ihtiyacım var kafa karıştırmayacak sadece zemin görebi görecek çok ufak detaylar olsun sadece üstünde ve açık renk olsun. In-Game asset. 2d. High contrast. No shadows
ağın orta noktası resmin sol alt köşesi olan bir örüncek ağı çiz. In-Game asset. 2d. High contrast. No shadows