From c08ea5e71ae319a14223380935be0bdbca2ec934 Mon Sep 17 00:00:00 2001 From: Alexandre LETOURNEUX Date: Fri, 31 May 2024 23:46:23 +0200 Subject: [PATCH] Delete Sheep.java --- Sheep.java | 92 ------------------------------------------------------ 1 file changed, 92 deletions(-) delete mode 100644 Sheep.java diff --git a/Sheep.java b/Sheep.java deleted file mode 100644 index 82f838b..0000000 --- a/Sheep.java +++ /dev/null @@ -1,92 +0,0 @@ -package backend; -import java.awt.Color; -import java.util.ArrayList; -import java.util.Random; - -public class Sheep extends Agent { - - int hunger; - Random rand; - - Sheep(int x,int y){ - //first we call the constructor of the superClass(Animal) - super(x,y,Color.white, 20, 3); - hunger = 0; - rand = new Random(); - } - - public boolean liveTurn(ArrayList neighbors, Simulator world) { - - // color darken the more it is starved - if(hunger<=100 && hunger>0) { - Color color = new Color((int)(255-2.54*hunger), (int)(255-2.54*hunger), (int)(255-2.54*hunger)); - this.changeColor(color); - } - - if(this.searchFood(triggerRadius, world).isEmpty()) { // no food nearby ? - this.moveRandom(world); - hunger++; - } - else { // go to food ! - this.moveToFood(this.searchFood(triggerRadius, world).get(0), this.searchFood(triggerRadius, world).get(1), world); - if(world.getCell(x, y)==1) { - world.setCell(x, y, 0); - if(hunger > 30) {hunger = hunger - 30;} - } - } - return hunger>100; - } - - private ArrayList searchFood(int radius, Simulator world) { // targets the nearest food (= cell alive) - ArrayList coordinates = new ArrayList(); - for(int x = this.x - radius; x < this.x + radius; x++) { - for(int y = this.y - radius; y < this.y + radius; y++) { - if(x > 0 && x < world.getWidth() && y > 0 && y < world.getHeight() && isInArea(x, y, radius) && world.getCell(x, y) == 1) { - coordinates.add(x); - coordinates.add(y); - } - } - } - return coordinates; - } - - private void moveRandom(Simulator world) { - int direction = rand.nextInt(4); - if(direction == 0 && x < world.getWidth()-1) { - x+=1; - } - if(direction == 1 && y < world.getHeight()-1) { - y+=1; - } - if(direction == 2 && x > 0) { - x-=1; - } - if(direction == 3 && y > 0) { - y-=1; - } - } - - private void moveToFood(int x, int y, Simulator world) { - int clever = rand.nextInt(6 - this.intelligence); - if(this.intelligence == 0) { - this.moveRandom(world); - } - - if(clever == 0) { - if(this.x < x && x < world.getWidth()-1) { - this.x+=1; - } - if(this.y < y && y < world.getHeight()-1) { - this.y+=1; - } - if(this.x > x && x > 0) { - this.x-=1; - } - if(this.y > y && y > 0) { - this.y-=1; - } - } - else {this.moveRandom(world);} - - } -}