User prompt
oyuncuya can ekle
User prompt
bu şekilde değil daha güçlü powerup özellikleri ekle oyunucuyu çok güçlü yapmalı
User prompt
powerupa en az 50 farklı özellik ekle bunların çalışanları kalsın çalışmayanı ekleme
User prompt
ekrana çıkan yazıları biraz küçült
User prompt
bir hata var düşmana görsel olarak eklenen can düşman ölünce ekranda kalıyor
User prompt
düşmanlara özellik ekle ve düşmanlara can ekle
User prompt
powerup lardan ne aldığımızı yaz daha fazla powerup özelliği ekle ve daha eğlenceli bir oyun yap
User prompt
Please fix the bug: 'TypeError: tween.to is not a function' in or related to this line: 'tween.to(eventPopupTxt, {' Line Number: 286 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'TypeError: tween.to is not a function' in or related to this line: 'tween.to(eventPopupTxt, {' Line Number: 286
User prompt
eğlenceli bir oyun yap
User prompt
oyun sonsuz olsun
User prompt
powerı assete de ekle
User prompt
can barı ekle
User prompt
power ekle
User prompt
kullanıcı dosttu olsun profesyonel ol
User prompt
kontroller kullanıcı dostu olsun
User prompt
otamatik ateş etsin oyuncu
User prompt
oyuncu haraktet etmiyor
User prompt
haraktet etmiyor
Code edit (1 edits merged)
Please save this source code
User prompt
AI Arena: Yapay Zeka Savaşları
Initial prompt
yapay zekayla 2d oyun hakkında profesyonel fikir veren bir oyun yap
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Düşman karakteri (AI) var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGfx = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.radius = enemyGfx.width * 0.5; self.type = 1; self.speed = 3 + Math.random() * 2; self.dir = Math.random() * Math.PI * 2; self.shootCooldown = 60 + Math.floor(Math.random() * 60); self.targetX = 0; self.targetY = 0; self.update = function () { // Basit AI: Oyuncuya doğru hareket et var dx = player.x - self.x; var dy = player.y - self.y; var dist = Math.sqrt(dx * dx + dy * dy); if (dist > 1) { self.x += dx / dist * self.speed; self.y += dy / dist * self.speed; } // Ateş etme if (self.shootCooldown > 0) { self.shootCooldown--; } else { self.shootCooldown = 90 + Math.floor(Math.random() * 60); spawnEnemyBullet(self.x, self.y, player.x, player.y); } }; return self; }); // Düşman karakteri 2 (dairesel hareket, elips) var Enemy2 = Container.expand(function () { var self = Container.call(this); var enemyGfx = self.attachAsset('enemy2', { anchorX: 0.5, anchorY: 0.5 }); self.radius = enemyGfx.width * 0.5; self.type = 2; self.angle = Math.random() * Math.PI * 2; self.centerX = 1024 + (Math.random() - 0.5) * 600; self.centerY = 1366 + (Math.random() - 0.5) * 800; self.orbitRadius = 400 + Math.random() * 200; self.speed = 0.012 + Math.random() * 0.008; self.shootCooldown = 120 + Math.floor(Math.random() * 60); self.update = function () { self.angle += self.speed; self.x = self.centerX + Math.cos(self.angle) * self.orbitRadius; self.y = self.centerY + Math.sin(self.angle) * self.orbitRadius; // Ateş etme if (self.shootCooldown > 0) { self.shootCooldown--; } else { self.shootCooldown = 120 + Math.floor(Math.random() * 60); spawnEnemyBullet(self.x, self.y, player.x, player.y); } }; return self; }); // Düşman karakteri 3 (rastgele zıplama, mor kutu) var Enemy3 = Container.expand(function () { var self = Container.call(this); var enemyGfx = self.attachAsset('enemy3', { anchorX: 0.5, anchorY: 0.5 }); self.radius = enemyGfx.width * 0.5; self.type = 3; self.jumpTimer = 60 + Math.floor(Math.random() * 60); self.targetX = 200 + Math.random() * 1648; self.targetY = 200 + Math.random() * 2332; self.speed = 12 + Math.random() * 6; self.shootCooldown = 100 + Math.floor(Math.random() * 60); self.update = function () { self.jumpTimer--; if (self.jumpTimer <= 0) { self.targetX = 200 + Math.random() * 1648; self.targetY = 200 + Math.random() * 2332; self.jumpTimer = 60 + Math.floor(Math.random() * 60); } var dx = self.targetX - self.x; var dy = self.targetY - self.y; var dist = Math.sqrt(dx * dx + dy * dy); if (dist > 1) { self.x += dx / dist * self.speed; self.y += dy / dist * self.speed; } // Ateş etme if (self.shootCooldown > 0) { self.shootCooldown--; } else { self.shootCooldown = 100 + Math.floor(Math.random() * 60); spawnEnemyBullet(self.x, self.y, player.x, player.y); } }; return self; }); // Düşman mermisi var EnemyBullet = Container.expand(function () { var self = Container.call(this); var bulletGfx = self.attachAsset('enemyBullet', { anchorX: 0.5, anchorY: 0.5 }); self.radius = bulletGfx.width * 0.5; self.vx = 0; self.vy = 0; self.update = function () { self.x += self.vx; self.y += self.vy; }; return self; }); // Oyuncu karakteri var Player = Container.expand(function () { var self = Container.call(this); var playerGfx = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.radius = playerGfx.width * 0.5; self.shootCooldown = 0; self.update = function () { if (self.shootCooldown > 0) self.shootCooldown--; }; return self; }); // Oyuncu mermisi var PlayerBullet = Container.expand(function () { var self = Container.call(this); var bulletGfx = self.attachAsset('playerBullet', { anchorX: 0.5, anchorY: 0.5 }); self.radius = bulletGfx.width * 0.5; self.vx = 0; self.vy = 0; self.update = function () { self.x += self.vx; self.y += self.vy; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x181818 }); /**** * Game Code ****/ // Vurulma efekti için ses // Düşman mermisi (turuncu kutu) // Oyuncu mermisi (sarı kutu) // Düşman 3 (mor kutu) // Düşman 2 (yeşil elips) // Düşman (kırmızı kutu) // Oyuncu karakteri (mavi kutu) // Global değişkenler var player; var enemies = []; var playerBullets = []; var enemyBullets = []; var dragNode = null; var lastPlayerPos = { x: 0, y: 0 }; var score = 0; var level = 1; var gameTick = 0; var spawnTimer = 0; var isGameOver = false; // Skor ve seviye göstergesi var scoreTxt = new Text2('Skor: 0', { size: 90, fill: "#fff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); var levelTxt = new Text2('Seviye: 1', { size: 60, fill: "#fff" }); levelTxt.anchor.set(0.5, 0); LK.gui.top.addChild(levelTxt); levelTxt.y = 100; // Oyuncu oluştur player = new Player(); game.addChild(player); player.x = 2048 / 2; player.y = 2732 / 2; // Düşman oluşturucu function spawnEnemy() { var t = Math.random(); var e; if (t < 0.4) { e = new Enemy(); } else if (t < 0.7) { e = new Enemy2(); } else { e = new Enemy3(); } // Rastgele kenardan başlat var edge = Math.floor(Math.random() * 4); if (edge === 0) { // üst e.x = 200 + Math.random() * 1648; e.y = -100; } else if (edge === 1) { // sağ e.x = 2148; e.y = 200 + Math.random() * 2332; } else if (edge === 2) { // alt e.x = 200 + Math.random() * 1648; e.y = 2832; } else { // sol e.x = -100; e.y = 200 + Math.random() * 2332; } enemies.push(e); game.addChild(e); } // Düşman mermisi oluşturucu function spawnEnemyBullet(sx, sy, tx, ty) { var b = new EnemyBullet(); b.x = sx; b.y = sy; var dx = tx - sx; var dy = ty - sy; var dist = Math.sqrt(dx * dx + dy * dy); var speed = 18 + level * 2; b.vx = dx / dist * speed; b.vy = dy / dist * speed; enemyBullets.push(b); game.addChild(b); } // Oyuncu mermisi oluşturucu function spawnPlayerBullet(sx, sy, tx, ty) { var b = new PlayerBullet(); b.x = sx; b.y = sy; var dx = tx - sx; var dy = ty - sy; var dist = Math.sqrt(dx * dx + dy * dy); var speed = 32; b.vx = dx / dist * speed; b.vy = dy / dist * speed; playerBullets.push(b); game.addChild(b); LK.getSound('shoot').play(); } // Skor ve seviye güncelle function updateScoreAndLevel() { scoreTxt.setText('Skor: ' + score); levelTxt.setText('Seviye: ' + level); } // Oyun zorluğunu artır function increaseDifficulty() { level++; updateScoreAndLevel(); } // Oyun bitti function gameOver() { if (isGameOver) return; isGameOver = true; LK.effects.flashScreen(0xff0000, 1000); LK.getSound('hit').play(); LK.showGameOver(); } // Oyun kazandı function youWin() { LK.showYouWin(); } // Sürükleme ve ateş etme function handleMove(x, y, obj) { if (dragNode) { dragNode.x = x; dragNode.y = y; } } // Oyun alanı dışı kontrolü function isOutOfBounds(obj) { return obj.x < -200 || obj.x > 2248 || obj.y < -200 || obj.y > 2932; } // Oyun ana döngüsü game.update = function () { if (isGameOver) return; gameTick++; // Oyuncu update player.update(); // Düşman update for (var i = enemies.length - 1; i >= 0; i--) { var e = enemies[i]; e.update(); // Çarpışma: oyuncu & düşman if (player.intersects(e)) { gameOver(); return; } // Düşman oyun dışıysa sil if (isOutOfBounds(e)) { e.destroy(); enemies.splice(i, 1); } } // Oyuncu mermisi update for (var i = playerBullets.length - 1; i >= 0; i--) { var b = playerBullets[i]; b.update(); var hit = false; // Düşmanlara çarpma for (var j = enemies.length - 1; j >= 0; j--) { var e = enemies[j]; if (b.intersects(e)) { // Efekt LK.effects.flashObject(e, 0xffff00, 200); LK.getSound('hit').play(); e.destroy(); enemies.splice(j, 1); score++; updateScoreAndLevel(); if (score > 0 && score % 10 === 0) { increaseDifficulty(); } if (score >= 50) { youWin(); return; } hit = true; break; } } if (hit || isOutOfBounds(b)) { b.destroy(); playerBullets.splice(i, 1); } } // Düşman mermisi update for (var i = enemyBullets.length - 1; i >= 0; i--) { var b = enemyBullets[i]; b.update(); // Oyuncuya çarpma if (b.intersects(player)) { gameOver(); return; } if (isOutOfBounds(b)) { b.destroy(); enemyBullets.splice(i, 1); } } // Düşman spawn var spawnInterval = Math.max(60 - level * 2, 20); if (gameTick % spawnInterval === 0) { spawnEnemy(); } }; // Sürükleme başlat game.down = function (x, y, obj) { // Oyuncuya tıklanırsa sürükle var px = player.x, py = player.y; var dx = x - px, dy = y - py; var dist = Math.sqrt(dx * dx + dy * dy); if (dist < player.radius + 40) { dragNode = player; lastPlayerPos.x = x; lastPlayerPos.y = y; } else { // Oyuncu mermisi ateşle spawnPlayerBullet(player.x, player.y, x, y); } }; // Sürükleme bırak game.up = function (x, y, obj) { dragNode = null; }; // Sürükleme hareketi game.move = function (x, y, obj) { handleMove(x, y, obj); }; // Oyun başında skor ve seviye sıfırla score = 0; level = 1; updateScoreAndLevel();
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,403 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+// Düşman karakteri (AI)
+var Enemy = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGfx = self.attachAsset('enemy', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = enemyGfx.width * 0.5;
+ self.type = 1;
+ self.speed = 3 + Math.random() * 2;
+ self.dir = Math.random() * Math.PI * 2;
+ self.shootCooldown = 60 + Math.floor(Math.random() * 60);
+ self.targetX = 0;
+ self.targetY = 0;
+ self.update = function () {
+ // Basit AI: Oyuncuya doğru hareket et
+ var dx = player.x - self.x;
+ var dy = player.y - self.y;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ if (dist > 1) {
+ self.x += dx / dist * self.speed;
+ self.y += dy / dist * self.speed;
+ }
+ // Ateş etme
+ if (self.shootCooldown > 0) {
+ self.shootCooldown--;
+ } else {
+ self.shootCooldown = 90 + Math.floor(Math.random() * 60);
+ spawnEnemyBullet(self.x, self.y, player.x, player.y);
+ }
+ };
+ return self;
+});
+// Düşman karakteri 2 (dairesel hareket, elips)
+var Enemy2 = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGfx = self.attachAsset('enemy2', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = enemyGfx.width * 0.5;
+ self.type = 2;
+ self.angle = Math.random() * Math.PI * 2;
+ self.centerX = 1024 + (Math.random() - 0.5) * 600;
+ self.centerY = 1366 + (Math.random() - 0.5) * 800;
+ self.orbitRadius = 400 + Math.random() * 200;
+ self.speed = 0.012 + Math.random() * 0.008;
+ self.shootCooldown = 120 + Math.floor(Math.random() * 60);
+ self.update = function () {
+ self.angle += self.speed;
+ self.x = self.centerX + Math.cos(self.angle) * self.orbitRadius;
+ self.y = self.centerY + Math.sin(self.angle) * self.orbitRadius;
+ // Ateş etme
+ if (self.shootCooldown > 0) {
+ self.shootCooldown--;
+ } else {
+ self.shootCooldown = 120 + Math.floor(Math.random() * 60);
+ spawnEnemyBullet(self.x, self.y, player.x, player.y);
+ }
+ };
+ return self;
+});
+// Düşman karakteri 3 (rastgele zıplama, mor kutu)
+var Enemy3 = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGfx = self.attachAsset('enemy3', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = enemyGfx.width * 0.5;
+ self.type = 3;
+ self.jumpTimer = 60 + Math.floor(Math.random() * 60);
+ self.targetX = 200 + Math.random() * 1648;
+ self.targetY = 200 + Math.random() * 2332;
+ self.speed = 12 + Math.random() * 6;
+ self.shootCooldown = 100 + Math.floor(Math.random() * 60);
+ self.update = function () {
+ self.jumpTimer--;
+ if (self.jumpTimer <= 0) {
+ self.targetX = 200 + Math.random() * 1648;
+ self.targetY = 200 + Math.random() * 2332;
+ self.jumpTimer = 60 + Math.floor(Math.random() * 60);
+ }
+ var dx = self.targetX - self.x;
+ var dy = self.targetY - self.y;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ if (dist > 1) {
+ self.x += dx / dist * self.speed;
+ self.y += dy / dist * self.speed;
+ }
+ // Ateş etme
+ if (self.shootCooldown > 0) {
+ self.shootCooldown--;
+ } else {
+ self.shootCooldown = 100 + Math.floor(Math.random() * 60);
+ spawnEnemyBullet(self.x, self.y, player.x, player.y);
+ }
+ };
+ return self;
+});
+// Düşman mermisi
+var EnemyBullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGfx = self.attachAsset('enemyBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = bulletGfx.width * 0.5;
+ self.vx = 0;
+ self.vy = 0;
+ self.update = function () {
+ self.x += self.vx;
+ self.y += self.vy;
+ };
+ return self;
+});
+// Oyuncu karakteri
+var Player = Container.expand(function () {
+ var self = Container.call(this);
+ var playerGfx = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = playerGfx.width * 0.5;
+ self.shootCooldown = 0;
+ self.update = function () {
+ if (self.shootCooldown > 0) self.shootCooldown--;
+ };
+ return self;
+});
+// Oyuncu mermisi
+var PlayerBullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGfx = self.attachAsset('playerBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.radius = bulletGfx.width * 0.5;
+ self.vx = 0;
+ self.vy = 0;
+ self.update = function () {
+ self.x += self.vx;
+ self.y += self.vy;
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x181818
+});
+
+/****
+* Game Code
+****/
+// Vurulma efekti için ses
+// Düşman mermisi (turuncu kutu)
+// Oyuncu mermisi (sarı kutu)
+// Düşman 3 (mor kutu)
+// Düşman 2 (yeşil elips)
+// Düşman (kırmızı kutu)
+// Oyuncu karakteri (mavi kutu)
+// Global değişkenler
+var player;
+var enemies = [];
+var playerBullets = [];
+var enemyBullets = [];
+var dragNode = null;
+var lastPlayerPos = {
+ x: 0,
+ y: 0
+};
+var score = 0;
+var level = 1;
+var gameTick = 0;
+var spawnTimer = 0;
+var isGameOver = false;
+// Skor ve seviye göstergesi
+var scoreTxt = new Text2('Skor: 0', {
+ size: 90,
+ fill: "#fff"
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+var levelTxt = new Text2('Seviye: 1', {
+ size: 60,
+ fill: "#fff"
+});
+levelTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(levelTxt);
+levelTxt.y = 100;
+// Oyuncu oluştur
+player = new Player();
+game.addChild(player);
+player.x = 2048 / 2;
+player.y = 2732 / 2;
+// Düşman oluşturucu
+function spawnEnemy() {
+ var t = Math.random();
+ var e;
+ if (t < 0.4) {
+ e = new Enemy();
+ } else if (t < 0.7) {
+ e = new Enemy2();
+ } else {
+ e = new Enemy3();
+ }
+ // Rastgele kenardan başlat
+ var edge = Math.floor(Math.random() * 4);
+ if (edge === 0) {
+ // üst
+ e.x = 200 + Math.random() * 1648;
+ e.y = -100;
+ } else if (edge === 1) {
+ // sağ
+ e.x = 2148;
+ e.y = 200 + Math.random() * 2332;
+ } else if (edge === 2) {
+ // alt
+ e.x = 200 + Math.random() * 1648;
+ e.y = 2832;
+ } else {
+ // sol
+ e.x = -100;
+ e.y = 200 + Math.random() * 2332;
+ }
+ enemies.push(e);
+ game.addChild(e);
+}
+// Düşman mermisi oluşturucu
+function spawnEnemyBullet(sx, sy, tx, ty) {
+ var b = new EnemyBullet();
+ b.x = sx;
+ b.y = sy;
+ var dx = tx - sx;
+ var dy = ty - sy;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ var speed = 18 + level * 2;
+ b.vx = dx / dist * speed;
+ b.vy = dy / dist * speed;
+ enemyBullets.push(b);
+ game.addChild(b);
+}
+// Oyuncu mermisi oluşturucu
+function spawnPlayerBullet(sx, sy, tx, ty) {
+ var b = new PlayerBullet();
+ b.x = sx;
+ b.y = sy;
+ var dx = tx - sx;
+ var dy = ty - sy;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ var speed = 32;
+ b.vx = dx / dist * speed;
+ b.vy = dy / dist * speed;
+ playerBullets.push(b);
+ game.addChild(b);
+ LK.getSound('shoot').play();
+}
+// Skor ve seviye güncelle
+function updateScoreAndLevel() {
+ scoreTxt.setText('Skor: ' + score);
+ levelTxt.setText('Seviye: ' + level);
+}
+// Oyun zorluğunu artır
+function increaseDifficulty() {
+ level++;
+ updateScoreAndLevel();
+}
+// Oyun bitti
+function gameOver() {
+ if (isGameOver) return;
+ isGameOver = true;
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.getSound('hit').play();
+ LK.showGameOver();
+}
+// Oyun kazandı
+function youWin() {
+ LK.showYouWin();
+}
+// Sürükleme ve ateş etme
+function handleMove(x, y, obj) {
+ if (dragNode) {
+ dragNode.x = x;
+ dragNode.y = y;
+ }
+}
+// Oyun alanı dışı kontrolü
+function isOutOfBounds(obj) {
+ return obj.x < -200 || obj.x > 2248 || obj.y < -200 || obj.y > 2932;
+}
+// Oyun ana döngüsü
+game.update = function () {
+ if (isGameOver) return;
+ gameTick++;
+ // Oyuncu update
+ player.update();
+ // Düşman update
+ for (var i = enemies.length - 1; i >= 0; i--) {
+ var e = enemies[i];
+ e.update();
+ // Çarpışma: oyuncu & düşman
+ if (player.intersects(e)) {
+ gameOver();
+ return;
+ }
+ // Düşman oyun dışıysa sil
+ if (isOutOfBounds(e)) {
+ e.destroy();
+ enemies.splice(i, 1);
+ }
+ }
+ // Oyuncu mermisi update
+ for (var i = playerBullets.length - 1; i >= 0; i--) {
+ var b = playerBullets[i];
+ b.update();
+ var hit = false;
+ // Düşmanlara çarpma
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ var e = enemies[j];
+ if (b.intersects(e)) {
+ // Efekt
+ LK.effects.flashObject(e, 0xffff00, 200);
+ LK.getSound('hit').play();
+ e.destroy();
+ enemies.splice(j, 1);
+ score++;
+ updateScoreAndLevel();
+ if (score > 0 && score % 10 === 0) {
+ increaseDifficulty();
+ }
+ if (score >= 50) {
+ youWin();
+ return;
+ }
+ hit = true;
+ break;
+ }
+ }
+ if (hit || isOutOfBounds(b)) {
+ b.destroy();
+ playerBullets.splice(i, 1);
+ }
+ }
+ // Düşman mermisi update
+ for (var i = enemyBullets.length - 1; i >= 0; i--) {
+ var b = enemyBullets[i];
+ b.update();
+ // Oyuncuya çarpma
+ if (b.intersects(player)) {
+ gameOver();
+ return;
+ }
+ if (isOutOfBounds(b)) {
+ b.destroy();
+ enemyBullets.splice(i, 1);
+ }
+ }
+ // Düşman spawn
+ var spawnInterval = Math.max(60 - level * 2, 20);
+ if (gameTick % spawnInterval === 0) {
+ spawnEnemy();
+ }
+};
+// Sürükleme başlat
+game.down = function (x, y, obj) {
+ // Oyuncuya tıklanırsa sürükle
+ var px = player.x,
+ py = player.y;
+ var dx = x - px,
+ dy = y - py;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ if (dist < player.radius + 40) {
+ dragNode = player;
+ lastPlayerPos.x = x;
+ lastPlayerPos.y = y;
+ } else {
+ // Oyuncu mermisi ateşle
+ spawnPlayerBullet(player.x, player.y, x, y);
+ }
+};
+// Sürükleme bırak
+game.up = function (x, y, obj) {
+ dragNode = null;
+};
+// Sürükleme hareketi
+game.move = function (x, y, obj) {
+ handleMove(x, y, obj);
+};
+// Oyun başında skor ve seviye sıfırla
+score = 0;
+level = 1;
+updateScoreAndLevel();
\ No newline at end of file
powerup. In-Game asset. 2d. High contrast. No shadows
robot enemy. In-Game asset. 2d. High contrast. No shadows
green robot enemy. In-Game asset. 2d. High contrast. No shadows
purple robot enemy. In-Game asset. 2d. High contrast. No shadows
player robot. In-Game asset. 2d. High contrast. No shadows
robot ammo. In-Game asset. 2d. High contrast. No shadows
coin. In-Game asset. 2d. High contrast. No shadows
robot ammo very red very big. In-Game asset. 2d. High contrast. No shadows
2d space bg. In-Game asset. 2d. High contrast. No shadows