User prompt
hatalı kodları sil.
User prompt
hala düzelmedi
User prompt
Compilation error[L14] hatasını düzelt.
User prompt
error hatalarını düzelt
User prompt
oyun hatalarını düzelt
User prompt
hataları düzelt
User prompt
Derleme hatası[L33] .Hatayı düzelt. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
14 ve 33 satır kodların hatalarını düzelt. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
14 ve 33 satır kodların hatalarını düzelt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
bütün hataları mantıklı olarak düzelt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Derleme hatası[L33]: ReferenceError: tween tanımlanmamış.düzelt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'ReferenceError: tween is not defined' in or related to this line: 'tween(self, {' Line Number: 33 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Derleme hatası[L14]: Eklentiler yüklenemedi. bu satırı sil
User prompt
oyun 100 bölüm olsun her bölümde düşmanlar değişsin. ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Compilation error[L14]: Plugins failed to load.sil
User prompt
Compilation error[L14]: Plugins failed to load.düzelt
User prompt
mermiler sesli olsun
User prompt
mermi sesi ekle
User prompt
Compilation error[L14]: Plugins failed to load.düzelt
User prompt
müzik ekle
User prompt
mermi ses kutusu ekle
User prompt
her bölüm 10 dalgadan oluşsun.
User prompt
level sayısı 100 olsun.ekranda görünsün
User prompt
100 level bir oyun olsun ekranda text görünsün
User prompt
mermi sayısını artır
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Düşman Sınıfı var Enemy = Container.expand(function () { var self = Container.call(this); // Düşman grafiği var enemyGfx = self.attachAsset('enemyBox', { anchorX: 0.5, anchorY: 0.5 }); enemyGfx.width = 140; enemyGfx.height = 140; // Hız (her dalgada artmaz, sabit ve yavaş) self.speed = 1.2; // Düşman güncellemesi self.update = function () { self.y += self.speed; }; // Düşman vurulduğunda self.hit = function () { // Yok olma animasyonu tween(self, { alpha: 0, scaleX: 1.5, scaleY: 1.5 }, { duration: 180, easing: tween.cubicOut, onFinish: function onFinish() { self.destroy(); } }); }; return self; }); // Kahraman (Hero) Sınıfı var Hero = Container.expand(function () { var self = Container.call(this); // Kahraman grafiği var heroGfx = self.attachAsset('heroBox', { anchorX: 0.5, anchorY: 0.5 }); // Kahraman boyutunu ayarla (büyük ve kolay kontrol edilebilir) heroGfx.width = 180; heroGfx.height = 180; // Kahraman başlangıç canı self.hp = 1; // Kahraman ölü mü? self.isDead = false; // Kahraman vurulduğunda çağrılır self.hit = function () { if (self.isDead) { return; } self.isDead = true; // Kırmızıya flaşla LK.effects.flashObject(self, 0xff0000, 600); // Ekranı flaşla LK.effects.flashScreen(0xff0000, 800); // Oyun biter LK.showGameOver(); }; return self; }); // Kahraman Mermisi Sınıfı var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGfx = self.attachAsset('heroBullet', { anchorX: 0.5, anchorY: 0.5 }); bulletGfx.width = 40; bulletGfx.height = 80; // Tracer efekti için bir iz bırakma noktası oluştur var tracer = LK.getAsset('heroBullet', { anchorX: 0.5, anchorY: 1, width: 10, height: 60, color: 0x00e0ff }); tracer.alpha = 0.25; tracer.y = bulletGfx.height / 2; self.addChild(tracer); // Açılı mermi desteği için vx, vy ekle self.speed = -22; self.angle = 0; // derece cinsinden, yukarı doğru 0 self.vx = 0; self.vy = self.speed; self.setAngle = function (deg) { // Dereceyi radyana çevir var rad = deg * Math.PI / 180; self.angle = deg; self.vx = Math.sin(rad) * Math.abs(self.speed); self.vy = -Math.cos(rad) * Math.abs(self.speed); // Tracer açısını da ayarla tracer.rotation = rad; }; self.update = function () { self.x += self.vx; self.y += self.vy; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x181c2c }); /**** * Game Code ****/ // Oyun değişkenleri var hero; var enemies = []; var heroBullets = []; var currentLevel = 100; // Level 100 gösterilecek var currentWave = 1; var waveEnemyCounts = [[3, 4, 5, 6, 7], // Level 1: 5 wave, her dalgada farklı düşman sayısı [5, 6, 7, 8, 9], // Level 2 [7, 8, 9, 10, 12], // Level 3 [10, 12, 14, 16, 18], // Level 4 [15, 17, 19, 21, 25] // Level 5 ]; var maxLevel = waveEnemyCounts.length; var maxWave = 5; var isSpawning = false; var canShoot = true; var shootInterval = 300; // ms var lastShootTime = 0; // Level göstergesi ekle var levelText = new Text2("LEVEL: 100", { size: 100, fill: "#fff" }); levelText.anchor.set(0.5, 0); LK.gui.top.addChild(levelText); levelText.y = 20; levelText.x = 2048 / 2; // Kahramanı ekrana yerleştir function spawnHero() { hero = new Hero(); hero.x = 2048 / 2; hero.y = 2732 - 300; game.addChild(hero); } // Düşmanları ekrana yerleştir function spawnWave(level, wave) { // Düşmanları temizle for (var i = 0; i < enemies.length; i++) { if (enemies[i] && enemies[i].parent) enemies[i].destroy(); } enemies = []; var count = waveEnemyCounts[(level - 1) % waveEnemyCounts.length][(wave - 1) % maxWave]; var spacing = 2048 / (count + 1); for (var i = 0; i < count; i++) { var enemy = new Enemy(); enemy.x = spacing * (i + 1); enemy.y = 200; enemies.push(enemy); game.addChild(enemy); } } // Kahraman ateş etsin function heroShoot() { if (!hero || hero.isDead) return; // Düz mermi var bullet = new HeroBullet(); bullet.x = hero.x; bullet.y = hero.y - 100; bullet.setAngle(0); heroBullets.push(bullet); game.addChild(bullet); // Sola açılı mermi var bulletLeft = new HeroBullet(); bulletLeft.x = hero.x; bulletLeft.y = hero.y - 100; bulletLeft.setAngle(-15); heroBullets.push(bulletLeft); game.addChild(bulletLeft); // Sağa açılı mermi var bulletRight = new HeroBullet(); bulletRight.x = hero.x; bulletRight.y = hero.y - 100; bulletRight.setAngle(15); heroBullets.push(bulletRight); game.addChild(bulletRight); } // Dalga ve seviye ilerlet function nextWaveOrLevel() { currentWave++; if (currentWave > maxWave) { currentWave = 1; currentLevel++; if (currentLevel > maxLevel) { LK.showYouWin(); return; } } spawnWave(currentLevel, currentWave); } // Oyun başlangıcı spawnHero(); spawnWave(currentLevel, currentWave); // Kahramanı sürükle var dragging = false; game.down = function (x, y, obj) { if (hero && !hero.isDead) { dragging = true; hero.x = x; hero.y = y; } }; game.move = function (x, y, obj) { if (dragging && hero && !hero.isDead) { hero.x = x; hero.y = y; } }; game.up = function (x, y, obj) { dragging = false; }; // Oyun döngüsü game.update = function () { // Kahraman mermilerini güncelle for (var i = heroBullets.length - 1; i >= 0; i--) { var b = heroBullets[i]; b.update(); // Ekran dışına çıktıysa sil if (b.y < -100) { b.destroy(); heroBullets.splice(i, 1); continue; } // Düşmanlara çarpma kontrolü for (var j = enemies.length - 1; j >= 0; j--) { var e = enemies[j]; if (b.intersects(e)) { e.hit(); b.destroy(); heroBullets.splice(i, 1); enemies.splice(j, 1); break; } } } // Düşmanları güncelle for (var i = enemies.length - 1; i >= 0; i--) { var e = enemies[i]; e.update(); // Kahramana çarptı mı? if (hero && !hero.isDead && e.intersects(hero)) { hero.hit(); } // Ekran dışına çıktıysa sil if (e.y > 2732 + 100) { e.destroy(); enemies.splice(i, 1); } } // Dalga bitti mi? if (enemies.length === 0 && !hero.isDead) { nextWaveOrLevel(); } // Kahraman otomatik ateş etsin var now = Date.now(); if (canShoot && !hero.isDead && now - lastShootTime > shootInterval) { heroShoot(); lastShootTime = now; } };
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Düşman Sınıfı
var Enemy = Container.expand(function () {
var self = Container.call(this);
// Düşman grafiği
var enemyGfx = self.attachAsset('enemyBox', {
anchorX: 0.5,
anchorY: 0.5
});
enemyGfx.width = 140;
enemyGfx.height = 140;
// Hız (her dalgada artmaz, sabit ve yavaş)
self.speed = 1.2;
// Düşman güncellemesi
self.update = function () {
self.y += self.speed;
};
// Düşman vurulduğunda
self.hit = function () {
// Yok olma animasyonu
tween(self, {
alpha: 0,
scaleX: 1.5,
scaleY: 1.5
}, {
duration: 180,
easing: tween.cubicOut,
onFinish: function onFinish() {
self.destroy();
}
});
};
return self;
});
// Kahraman (Hero) Sınıfı
var Hero = Container.expand(function () {
var self = Container.call(this);
// Kahraman grafiği
var heroGfx = self.attachAsset('heroBox', {
anchorX: 0.5,
anchorY: 0.5
});
// Kahraman boyutunu ayarla (büyük ve kolay kontrol edilebilir)
heroGfx.width = 180;
heroGfx.height = 180;
// Kahraman başlangıç canı
self.hp = 1;
// Kahraman ölü mü?
self.isDead = false;
// Kahraman vurulduğunda çağrılır
self.hit = function () {
if (self.isDead) {
return;
}
self.isDead = true;
// Kırmızıya flaşla
LK.effects.flashObject(self, 0xff0000, 600);
// Ekranı flaşla
LK.effects.flashScreen(0xff0000, 800);
// Oyun biter
LK.showGameOver();
};
return self;
});
// Kahraman Mermisi Sınıfı
var HeroBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGfx = self.attachAsset('heroBullet', {
anchorX: 0.5,
anchorY: 0.5
});
bulletGfx.width = 40;
bulletGfx.height = 80;
// Tracer efekti için bir iz bırakma noktası oluştur
var tracer = LK.getAsset('heroBullet', {
anchorX: 0.5,
anchorY: 1,
width: 10,
height: 60,
color: 0x00e0ff
});
tracer.alpha = 0.25;
tracer.y = bulletGfx.height / 2;
self.addChild(tracer);
// Açılı mermi desteği için vx, vy ekle
self.speed = -22;
self.angle = 0; // derece cinsinden, yukarı doğru 0
self.vx = 0;
self.vy = self.speed;
self.setAngle = function (deg) {
// Dereceyi radyana çevir
var rad = deg * Math.PI / 180;
self.angle = deg;
self.vx = Math.sin(rad) * Math.abs(self.speed);
self.vy = -Math.cos(rad) * Math.abs(self.speed);
// Tracer açısını da ayarla
tracer.rotation = rad;
};
self.update = function () {
self.x += self.vx;
self.y += self.vy;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x181c2c
});
/****
* Game Code
****/
// Oyun değişkenleri
var hero;
var enemies = [];
var heroBullets = [];
var currentLevel = 100; // Level 100 gösterilecek
var currentWave = 1;
var waveEnemyCounts = [[3, 4, 5, 6, 7],
// Level 1: 5 wave, her dalgada farklı düşman sayısı
[5, 6, 7, 8, 9],
// Level 2
[7, 8, 9, 10, 12],
// Level 3
[10, 12, 14, 16, 18],
// Level 4
[15, 17, 19, 21, 25] // Level 5
];
var maxLevel = waveEnemyCounts.length;
var maxWave = 5;
var isSpawning = false;
var canShoot = true;
var shootInterval = 300; // ms
var lastShootTime = 0;
// Level göstergesi ekle
var levelText = new Text2("LEVEL: 100", {
size: 100,
fill: "#fff"
});
levelText.anchor.set(0.5, 0);
LK.gui.top.addChild(levelText);
levelText.y = 20;
levelText.x = 2048 / 2;
// Kahramanı ekrana yerleştir
function spawnHero() {
hero = new Hero();
hero.x = 2048 / 2;
hero.y = 2732 - 300;
game.addChild(hero);
}
// Düşmanları ekrana yerleştir
function spawnWave(level, wave) {
// Düşmanları temizle
for (var i = 0; i < enemies.length; i++) {
if (enemies[i] && enemies[i].parent) enemies[i].destroy();
}
enemies = [];
var count = waveEnemyCounts[(level - 1) % waveEnemyCounts.length][(wave - 1) % maxWave];
var spacing = 2048 / (count + 1);
for (var i = 0; i < count; i++) {
var enemy = new Enemy();
enemy.x = spacing * (i + 1);
enemy.y = 200;
enemies.push(enemy);
game.addChild(enemy);
}
}
// Kahraman ateş etsin
function heroShoot() {
if (!hero || hero.isDead) return;
// Düz mermi
var bullet = new HeroBullet();
bullet.x = hero.x;
bullet.y = hero.y - 100;
bullet.setAngle(0);
heroBullets.push(bullet);
game.addChild(bullet);
// Sola açılı mermi
var bulletLeft = new HeroBullet();
bulletLeft.x = hero.x;
bulletLeft.y = hero.y - 100;
bulletLeft.setAngle(-15);
heroBullets.push(bulletLeft);
game.addChild(bulletLeft);
// Sağa açılı mermi
var bulletRight = new HeroBullet();
bulletRight.x = hero.x;
bulletRight.y = hero.y - 100;
bulletRight.setAngle(15);
heroBullets.push(bulletRight);
game.addChild(bulletRight);
}
// Dalga ve seviye ilerlet
function nextWaveOrLevel() {
currentWave++;
if (currentWave > maxWave) {
currentWave = 1;
currentLevel++;
if (currentLevel > maxLevel) {
LK.showYouWin();
return;
}
}
spawnWave(currentLevel, currentWave);
}
// Oyun başlangıcı
spawnHero();
spawnWave(currentLevel, currentWave);
// Kahramanı sürükle
var dragging = false;
game.down = function (x, y, obj) {
if (hero && !hero.isDead) {
dragging = true;
hero.x = x;
hero.y = y;
}
};
game.move = function (x, y, obj) {
if (dragging && hero && !hero.isDead) {
hero.x = x;
hero.y = y;
}
};
game.up = function (x, y, obj) {
dragging = false;
};
// Oyun döngüsü
game.update = function () {
// Kahraman mermilerini güncelle
for (var i = heroBullets.length - 1; i >= 0; i--) {
var b = heroBullets[i];
b.update();
// Ekran dışına çıktıysa sil
if (b.y < -100) {
b.destroy();
heroBullets.splice(i, 1);
continue;
}
// Düşmanlara çarpma kontrolü
for (var j = enemies.length - 1; j >= 0; j--) {
var e = enemies[j];
if (b.intersects(e)) {
e.hit();
b.destroy();
heroBullets.splice(i, 1);
enemies.splice(j, 1);
break;
}
}
}
// Düşmanları güncelle
for (var i = enemies.length - 1; i >= 0; i--) {
var e = enemies[i];
e.update();
// Kahramana çarptı mı?
if (hero && !hero.isDead && e.intersects(hero)) {
hero.hit();
}
// Ekran dışına çıktıysa sil
if (e.y > 2732 + 100) {
e.destroy();
enemies.splice(i, 1);
}
}
// Dalga bitti mi?
if (enemies.length === 0 && !hero.isDead) {
nextWaveOrLevel();
}
// Kahraman otomatik ateş etsin
var now = Date.now();
if (canShoot && !hero.isDead && now - lastShootTime > shootInterval) {
heroShoot();
lastShootTime = now;
}
};
uzay aracı olsun . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
ahtapot şekilli canavar olsun. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
uzay aracı olsun . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat