User prompt
Пусть еда появляется чаще
User prompt
Если хищник ест травоядного, появляется ещё два хищник в random точках экрана
User prompt
Если травоядный не ест 6 секунд, он умирает
User prompt
Чаще
User prompt
Пусть еда появляется в мире
User prompt
Если хищник ест, появляется ещё два хищник в random точках экрана
User prompt
Если хищник ест, появляется ещё два хищник в random точках экрана
User prompt
ещё быстрее
User prompt
сделай плотоядных быстрее травоядных
User prompt
сделай травоядных быстрее плотоядных
User prompt
Если хищник ест, появляется ещё два хищник в random точках экрана
User prompt
Если хищник ест, появляется ещё один хищник в random точке экрана
User prompt
Если травоядный ест, появляется ещё один травоядный в random точке экрана
User prompt
Если травоядный ест, появляется ещё один травоядный в случайной точке экрана
User prompt
Хищники чуть быстрее травоядных
User prompt
Если хищник ест, появляется ещё один хищник в случайной точке экрана
User prompt
Если травоядный ест, он делится на две части
User prompt
Если хищник съедает травоядного, то продлевает свой срок жизни до 6 секунд
User prompt
СДелай чтобы травоядные ели еду моментально и чтобы хищники умирали, если в течение 5 секунд никого не едят
User prompt
Пускай травоядные будут быстрее и смогут размножаться, едя еду
User prompt
они должны сами двигаться и эволюционировать
Initial prompt
Evolution
===================================================================
--- original.js
+++ change.js
@@ -3,8 +3,35 @@
****/
// Carnivore class
var Carnivore = Container.expand(function () {
var self = Container.call(this);
+ // Carnivore starvation logic
+ LK.on('tick', function () {
+ carnivores.forEach(function (carnivore, index) {
+ if (!carnivore.lastMealTime) {
+ carnivore.lastMealTime = LK.ticks;
+ }
+ if (LK.ticks - carnivore.lastMealTime > 300) {
+ // 5 seconds at 60FPS
+ carnivores.splice(index, 1);
+ carnivore.destroy();
+ }
+ });
+ });
+ // Update Carnivore eat method to reset lastMealTime on eating
+ Carnivore.prototype.eat = function () {
+ herbivores.forEach(function (herbivore, index) {
+ var dx = herbivore.x - self.x;
+ var dy = herbivore.y - self.y;
+ var distance = Math.sqrt(dx * dx + dy * dy);
+ if (distance < 50) {
+ herbivores.splice(index, 1);
+ herbivore.destroy();
+ self.speed += 0.1; // Evolve by increasing speed
+ self.lastMealTime = LK.ticks; // Reset last meal time
+ }
+ });
+ };
var carnivoreGraphics = self.attachAsset('carnivore', {
anchorX: 0.5,
anchorY: 0.5
});
@@ -91,15 +118,13 @@
if (distance < 50) {
foods.splice(index, 1);
food.destroy();
self.speed += 0.05; // Evolve by increasing speed
- if (Math.random() < self.reproductionRate) {
- var newHerbivore = new Herbivore();
- newHerbivore.x = self.x;
- newHerbivore.y = self.y;
- game.addChild(newHerbivore);
- herbivores.push(newHerbivore);
- }
+ var newHerbivore = new Herbivore();
+ newHerbivore.x = self.x;
+ newHerbivore.y = self.y;
+ game.addChild(newHerbivore);
+ herbivores.push(newHerbivore);
}
});
};
});