From c5e9d5795bc9e35cd5911d9c9d47fced180af919 Mon Sep 17 00:00:00 2001 From: QuentinBeauchet Date: Sun, 18 Apr 2021 00:17:38 +0200 Subject: [PATCH] ... --- src/main/java/Model/Entitys/Monsters/Snake.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/Model/Entitys/Monsters/Snake.java b/src/main/java/Model/Entitys/Monsters/Snake.java index a53a1be..a22cd89 100644 --- a/src/main/java/Model/Entitys/Monsters/Snake.java +++ b/src/main/java/Model/Entitys/Monsters/Snake.java @@ -7,7 +7,7 @@ public class Snake extends AbstractMonster{ - private static class Tail extends AbstractMonster{ + private class Tail extends AbstractMonster{ protected Tail(Etage m, Position pos, String nom, int pv, int path_type, int lvl) { super(m, pos, nom, pv, 0,0,0,60000, path_type, lvl); } @@ -20,6 +20,15 @@ public String toString() { return Affichage.BRIGTH_BLUE+Affichage.BOLD+"O"; } + @Override + public boolean updatePV(int pv) { + boolean Alive = super.updatePV(pv); + if(!Alive){ + snakeTail.remove(this); + } + return Alive; + } + @Override public void move(Position pos) { if(getEtage().get(pos).getEntity()==null){ @@ -28,7 +37,7 @@ public void move(Position pos) { } } - private final ArrayList snakeTail = new ArrayList<>(); + protected final ArrayList snakeTail = new ArrayList<>(); private final int size_of_tail; protected Snake(Etage m, Position pos, String nom, int pv, int force, double vision_radius, int agro, int update_rate_ms, int path_type, int lvl, int size_of_tail) { super(m, pos, nom, pv, force, vision_radius, agro, update_rate_ms, path_type, lvl); @@ -64,8 +73,8 @@ public void move(Position pos) { public boolean updatePV(int pv) { boolean Alive = super.updatePV(pv); if(!Alive){ - for(Tail t : snakeTail){ - t.updatePV(-Integer.MAX_VALUE); + while(snakeTail.size()>0){ + snakeTail.get(0).updatePV(-Integer.MAX_VALUE); } } return Alive;