diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Person.java b/Arctic_Nigthmare/src/arctic_nightmare/Person.java index 5bfb7eb6f596747e2fa109a55898111723068207..333a4892d51106b184fc5445ed1cb7d0bc80c10e 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/Person.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/Person.java @@ -34,7 +34,7 @@ public abstract class Person { { items = new Vector<>(); this.field = field; - field.addPerson(this); + field.accept(this); this.name = name; work = 4; id = idcounter++; @@ -94,8 +94,8 @@ public abstract class Person { { Logger.LogAndIncreaseTabs("Person(" + name + ") fall"); //teszthez if(items.contains(new Item("DivingSuit"))) { - Logger.Log(">>" + this.getName() + "-nek van búvárruhája, túléli", false); - step(Direction.RIGHT); + Logger.Log(">>" + this.getName() + "-nek van búvárruhája, túléli", false); + step(field.getNeighbors().get(0)); } else { Logger.Log(">>" + this.getName() + "-nek nincs búvárruhája, segítők keresése", false); @@ -144,8 +144,8 @@ public abstract class Person { Logger.LogAndIncreaseTabs("Person(" + name + ") findHelpers"); ArrayList<Person> potentialhelpers = new ArrayList<Person>(); Direction dirs[] = Direction.values(); - for(Direction dir: dirs) { //iteralas az osszes iranyt tartalmazo tombon - Field neighbor = field.getNeighbor(dir); //elkerjuk a sajat fieldtol az adott iranyban levo szomszedot + List<Field> neighbors = field.getNeighbors(); + for(Field neighbor: neighbors) { //iteralas az osszes iranyt tartalmazo tombon potentialhelpers.addAll(neighbor.getPersons()); } Logger.decreaseTabs(); @@ -204,20 +204,6 @@ public abstract class Person { Logger.decreaseTabs(); // ha van asoja, akkor 2 reteg havat tud letakaritani ha nincs akkor 1-t } - public void step(Direction direction) - { - Logger.LogAndIncreaseTabs("Person(" + name + ") step(" + direction+")"); - Field neighbor = field.getNeighbor(direction); - if (neighbor != null) - { - field.remove(this); - field = neighbor; - neighbor.accept(this); - work --; - } - Logger.decreaseTabs(); - - } public void step(Field field) {