diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Board.java b/Arctic_Nigthmare/src/arctic_nightmare/Board.java
index e29715999193b072e82271ee36b53c5504d67fac..31e182b564f02a43f51745d31e875875d42d18fb 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Board.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Board.java
@@ -5,8 +5,8 @@ import java.util.List;
 public class Board {
     private List<Field> fields;
     
-    //A hóvihar tesztesethez, létrehoz egy egy mezőból álló játéktáblát
-    //és ráállítja a paraméterként kapott Persont
+    //A hovihar tesztesethez, letrehoz egy mezobol allo jatektablat
+    //a jatektablara raallitja a parameterul kapott persont
     public Board(Person p) {
     	Field f = new StableField();
     	fields = new ArrayList<Field>();
@@ -17,17 +17,8 @@ public class Board {
     {
     	switch(tesztesetSzama)
     	{
-    	case 5:{													//5. tesztesetben csak 1 field és egy explorer szükséges
-    				StableField f1 = new StableField(0,Item.food);	// a hómennyiség 0, csak az élelem felvételét szemlélteti a teszteset
-    				fields= new ArrayList<Field>();
-    				fields.add(f1);
-    				for (Person p: persons)
-    				{
-    					f1.addPerson(p);
-    				}
-    			}
-    	case 6:{														//5. tesztesetben csak 1 field és egy eskimo szükséges
-					StableField f1 = new StableField(1,Item.rope);			// a hómennyiség 1, hogy látszódjon a shove
+    	case 5:{														//5. tesztesetben csak 1 field es egy eszkimo szukseges
+					StableField f1 = new StableField(1,Item.rope);			
 					fields= new ArrayList<Field>();
 					fields.add(f1);
 					for (Person p: persons)
@@ -42,7 +33,7 @@ public class Board {
     
     public void makeBlizzard(){
     	Logger.LogAndIncreaseTabs("Board makeBlizzard");
-    	/*Csak a teszteléshez, minden mezőn vihart idéz elő*/
+    	/* Csak a teszteleshez minden fielden vihart hoz létre*/
     	for(Field f : fields)
     		f.blizzard(1);
     	Logger.decreaseTabs();
diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Eskimo.java b/Arctic_Nigthmare/src/arctic_nightmare/Eskimo.java
index 6b25f222d0c5766e58839133f1e9f00a8af4f8da..6f5d4f3c08b446c6de3ca9f3c1f06817028f30cd 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Eskimo.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Eskimo.java
@@ -1,17 +1,17 @@
-package arctic_nightmare;
-
-public class Eskimo extends Person {
-
-	
-	   public Eskimo(String name) {
-	   super(name);}
-	        
-    public Eskimo(String name, Field field) {
-        super(name, field);
-    }
-    public void buildIgloo(){
-    	Logger.LogAndIncreaseTabs("Eskimo: buildIgloo");
-    	this.field.setIgloo();
-    	Logger.decreaseTabs();
-    }
-}
+package arctic_nightmare;
+
+public class Eskimo extends Person {
+
+	
+	   public Eskimo(String name) {
+	   super(name);}
+	        
+    public Eskimo(String name, Field field) {
+        super(name, field);
+    }
+    public void buildIgloo(){
+    	Logger.LogAndIncreaseTabs("Eskimo: buildIgloo");
+    	this.field.setIgloo();
+    	Logger.decreaseTabs();
+    }
+}
diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Field.java b/Arctic_Nigthmare/src/arctic_nightmare/Field.java
index 6fbb0517af35701ec4b48e21694e57ea45b48751..5102b5c956808567dc78da68d9309e7a2f36fe4c 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Field.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Field.java
@@ -1,162 +1,162 @@
-package arctic_nightmare;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public abstract class Field {
-    private int snow;
-    private Item item;
-    protected int capacity;
-    private boolean hasIgloo;
-    private boolean itemPickable;
-    protected ArrayList<Person> persons;
-    private ArrayList<Field> neighbors; // left right up down
-    private boolean visibleCapacity;
-    
-   
-    public Field() {
-    	neighbors = new ArrayList<Field>();
-    	persons = new ArrayList<Person>();
-        
-    }
-    Field(int capacity, int snow, Item item)
-    {
-        persons = new ArrayList<Person>();
-        this.capacity = capacity;
-        this. snow = snow;
-        this.item = item;
-        visibleCapacity = false;
-        neighbors = new ArrayList<Field>();       
-    }
-
-    //Teszthez: a Field minden szomszédját a kapott Field-re állítja az egyszerűség kedvéért. Nem valós funkció.
-    public void setAllNeighbor(Field field)
-    {
-        Direction dirs[] = Direction.values();
-        for(Direction dir: dirs) {
-        	neighbors.add(field);
-        }
-    }
-    
-    //Adott irányban lévő szomszédnak állítja be a kapott Fieldet
-    public void setNeighbor(Field field, Direction direction)
-    {
-    	int idx = direction.ordinal();
-    	neighbors.set(idx, field);
-    }
-    
-    public abstract void accept(Person p);
-    
-    //A Fieldet érő hóvihar hatását közvetíti a rajta állók felé
-    public void blizzard(int quant){
-    	Logger.LogAndIncreaseTabs("Field blizzard");
-    	this.snow += quant;
-    	Logger.Log("Van iglu a mezőn?(0 = N, 1 = I)", false);
-    	hasIgloo = Logger.getNumericInput(0, 1) == 1 ? true : false;
-    	if(!hasIgloo) {
-    		for(Person p : persons)
-    			p.hitByBlizzard();
-    	}
-    	else
-    		Logger.Log(">>Az iglu megvédte a karaktereket a vihartól.", false);
-    	Logger.decreaseTabs();
-    }
-    
-    public boolean clearSnow(int layers)
-    {
-        Logger.LogAndIncreaseTabs("Field clearSnow");
-        if (snow > 0)
-        {
-            snow -= layers;
-            if (0 > snow) snow = 0;
-            Logger.Log(">>Letakarítva " + layers + " réteg hó. Még " + snow + " réteg van.");
-            Logger.decreaseTabs();
-            return true;
-        }
-        Logger.decreaseTabs();
-        return false;
-    }
-    
-    public boolean emitItem(){
-    	Logger.LogAndIncreaseTabs("Field emitItem");
-    	if(snow ==0)
-    		{
-    			this.itemPickable= true;	// ha nincs már a mezőn hó, az item láthatóvá válik
-    			Logger.Log(">>Az item láthatóvá válik a pályán a kiásást követően");
-    			Logger.decreaseTabs();
-    			return true;
-    		}
-    	Logger.decreaseTabs();
-    	return false;
-    }
-    
-    public int getCapacity(){return 0;}
-    
-    public Item getItem()
-    {
-        Logger.LogAndIncreaseTabs("Field getItem");
-        if (snow > 0 || item == null)
-        {
-            Logger.Log(">>Túl sok hó, vagy nincs tárgy");
-            return null;
-        }
-        Logger.Log(">>Item removed");
-        Item item = this.item;
-        this.item = null;
-        Logger.decreaseTabs();
-        return item;
-    }
-    
-    public Field getNeighbor(Direction direction)
-    {
-        Logger.LogAndIncreaseTabs("Field getNeighbor : " + direction);
-        Field f =  neighbors.get(direction.ordinal());
-        Logger.decreaseTabs();
-        return f;
-    }
-    
-    public List<Person> getPersons(){
-    	Logger.LogAndIncreaseTabs("Field getPersons");
-    	Logger.decreaseTabs();
-    	return persons;
-    }
-    
-    public void remove(Person p){
-    	if(persons.remove(p)) {
-    		Logger.LogAndIncreaseTabs("Field remove : " + p.getName());
-    		Logger.Log(">>" + p.getName() + " elhagyta a mezőt.", false);
-    	}
-    	Logger.decreaseTabs();
-    }
-    
-    public void revealCapacity()
-    {
-    	Logger.LogAndIncreaseTabs("Field  revealCapacity");
-    	Logger.Log("Mennyi a mező kapacitása?(0 - 100 közötti érték)", false);
-    	capacity = Logger.getNumericInput(0, 100);
-        visibleCapacity = true;
-    	Logger.Log(">>A mező kapacitása láthatóvá vált: " + capacity);
-        Logger.decreaseTabs();
-    }
-    
-    public boolean setIgloo(){
-    	Logger.Log("Van iglu a mezõn? (0 = N, 1 = 1)", false);
-  	   	if(Logger.getNumericInput(0, 1) == 1) {
-  	   		Logger.Log(">>Már eddig is volt iglu a mezőn, nem tud építkezni.");
-  	   	}
-  	   	else {
-  	   		hasIgloo = true;
-  	   		Logger.Log(">>Sikeres igluépítés!");
-  	    }
-  	   	Logger.decreaseTabs();
-  	   	return (!hasIgloo); //ha nincs iglu, engedélyezi az építést és igazzal tér vissza, ellenkező esetben hamissal.
-    }
-
-    //Teszteléshez szükséges függvény
-    //Nem ír ki semmit, mert csak inicializál
-    public void addPerson(Person p) {
-    	persons.add(p);
-    	p.field = this;
-    }
-
-}
+package arctic_nightmare;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class Field {
+    private int snow;
+    private Item item;
+    protected int capacity;
+    private boolean hasIgloo;
+    private boolean itemPickable;
+    protected ArrayList<Person> persons;
+    private ArrayList<Field> neighbors; // left right up down
+    private boolean visibleCapacity;
+    
+   
+    public Field() {
+    	neighbors = new ArrayList<Field>();
+    	persons = new ArrayList<Person>();
+        
+    }
+    Field(int capacity, int snow, Item item)
+    {
+        persons = new ArrayList<Person>();
+        this.capacity = capacity;
+        this. snow = snow;
+        this.item = item;
+        visibleCapacity = false;
+        neighbors = new ArrayList<Field>();       
+    }
+
+    //Teszthez: a Field minden szomszedjat a kapott Field-re allitja az egyszeruseg kedveert. Nem valos funkció.
+    public void setAllNeighbor(Field field)
+    {
+        Direction dirs[] = Direction.values();
+        for(Direction dir: dirs) {
+        	neighbors.add(field);
+        }
+    }
+    
+    //Adott irányban levo szomszédnak allitja be a kapott Fieldet
+    public void setNeighbor(Field field, Direction direction)
+    {
+    	int idx = direction.ordinal();
+    	neighbors.set(idx, field);
+    }
+    
+    public abstract void accept(Person p);
+    
+    //A Fieldet ero hovihar hatasat kozvetiti a rajta allok fele
+    public void blizzard(int quant){
+    	Logger.LogAndIncreaseTabs("Field blizzard");
+    	this.snow += quant;
+    	Logger.Log("Van iglu a mezőn?(0 = N, 1 = I)", false);
+    	hasIgloo = Logger.getNumericInput(0, 1) == 1 ? true : false;
+    	if(!hasIgloo) {
+    		for(Person p : persons)
+    			p.hitByBlizzard();
+    	}
+    	else
+    		Logger.Log(">>Az iglu megvédte a karaktereket a vihartól.", false);
+    	Logger.decreaseTabs();
+    }
+    
+    public boolean clearSnow(int layers)
+    {
+        Logger.LogAndIncreaseTabs("Field clearSnow");
+        if (snow > 0)
+        {
+            snow -= layers;
+            if (0 > snow) snow = 0;
+            Logger.Log(">>Letakarítva " + layers + " réteg hó. Még " + snow + " réteg van.",false);
+            Logger.decreaseTabs();
+            return true;
+        }
+        Logger.decreaseTabs();
+        return false;
+    }
+    
+    public boolean emitItem(){
+    	Logger.LogAndIncreaseTabs("Field emitItem");
+    	if(snow ==0)
+    		{
+    			this.itemPickable= true;	// ha nincs mar a mezon ho, az item lathatova valik
+    			Logger.Log(">>Az item láthatóvá válik a pályán a kiásást követően");
+    			Logger.decreaseTabs();
+    			return true;
+    		}
+    	Logger.decreaseTabs();
+    	return false;
+    }
+    
+    public int getCapacity(){return 0;}
+    
+    public Item getItem()
+    {
+        Logger.LogAndIncreaseTabs("Field getItem");
+        if (snow > 0 || item == null)
+        {
+            Logger.Log(">>Túl sok hó, vagy nincs tárgy", false);
+            return null;
+        }
+        Logger.Log(">>Item removed", false);
+        Item item = this.item;
+        this.item = null;
+        Logger.decreaseTabs();
+        return item;
+    }
+    
+    public Field getNeighbor(Direction direction)
+    {
+        Logger.LogAndIncreaseTabs("Field getNeighbor : " + direction);
+        Field f =  neighbors.get(direction.ordinal());
+        Logger.decreaseTabs();
+        return f;
+    }
+    
+    public List<Person> getPersons(){
+    	Logger.LogAndIncreaseTabs("Field getPersons");
+    	Logger.decreaseTabs();
+    	return persons;
+    }
+    
+    public void remove(Person p){
+    	if(persons.remove(p)) {
+    		Logger.LogAndIncreaseTabs("Field remove : " + p.getName());
+    		Logger.Log(">>" + p.getName() + " elhagyta a mezőt.", false);
+    	}
+    	Logger.decreaseTabs();
+    }
+    
+    public void revealCapacity()
+    {
+    	Logger.LogAndIncreaseTabs("Field  revealCapacity");
+    	Logger.Log("Mennyi a mező kapacitása?(0 - 100 közötti érték)", false);
+    	capacity = Logger.getNumericInput(0, 100);
+        visibleCapacity = true;
+    	Logger.Log(">>A mező kapacitása láthatóvá vált: " + capacity);
+        Logger.decreaseTabs();
+    }
+    
+    public boolean setIgloo(){
+    	Logger.Log("Van iglu a mezõn? (0 = N, 1 = 1)", false);
+  	   	if(Logger.getNumericInput(0, 1) == 1) {
+  	   		Logger.Log(">>Már eddig is volt iglu a mezőn, nem tud építkezni.");
+  	   	}
+  	   	else {
+  	   		hasIgloo = true;
+  	   		Logger.Log(">>Sikeres igluépítés!");
+  	    }
+  	   	Logger.decreaseTabs();
+  	   	return (!hasIgloo); //ha nincs iglu, engedelyezi az epitest es igazzal ter vissza, ellenkezo esetben hamissal.
+    }
+
+    //Teszteleshez szükseges függveny
+    //Nem ir ki semmit, mert csak inicializal
+    public void addPerson(Person p) {
+    	persons.add(p);
+    	p.field = this;
+    }
+
+}
diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Game.java b/Arctic_Nigthmare/src/arctic_nightmare/Game.java
index 0eb4127b035e049f97813201a718fb9bf56d4141..dbc4da69072cfe351fbc1db7bdf35d2b6cba82fb 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Game.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Game.java
@@ -1,228 +1,228 @@
-package arctic_nightmare;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import static java.lang.System.in;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-import javax.swing.JFrame;
-import javax.swing.JTextArea;
-
-public class Game{
-    private Person actualPlayer;
-    private List<Person> players;
-    private Board board;
-    
-    
-    Game(){}
-    
-    void gameOver(){}
-    
-    void nextPlayer(){}
-    
-    void newGame()
-    {
-    }
-    
-    void setActualPerson(Person P){
-        actualPlayer = P;
-    }
-
-    void win(){
-    	Logger.LogAndIncreaseTabs("Game win");
-    	Logger.Log("A játék véget ért a játékosok nyertek.", false);
-    	Logger.decreaseTabs();
-    }
-    
-    /*************************************************
-     *              Test functions                   *
-     *************************************************/
-    
-    void test() throws IOException
-    {
-        boolean exit = false;
-        String in;
-        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
-        while (!exit){            
-            Logger.setTabs(0);
-            Logger.Log("Kérlek válassz tesztesetet!\n"
-                            + "1: A sarkkutató megvizsgálja a mezőt\n"
-                            + "2: A sarkkutató instabil jégmezőre lép (automatikusan futtatja a 3-ast is)\n"
-                            + "3: A sarkkutató vízbe esik\n"
-                            + "4: A sarkkutató kiássa és elfogyasztja az élelmet\n"
-                            + "5: Az eszkimó letakarítja, kiássa és felveszi a kötelet\n"
-                            + "6: Az eszkimó iglut épít\n"
-                            + "7: A sarkkutató hóviharba kerül\n"
-                            + "8: Az eszkimó összeszereli és elsüti a jelzőfényt\n"
-                            + "exit");
-            in = reader.readLine();
-            switch (in)
-            {
-                case "1":
-                    explorerChecksCapacity();
-                    break;
-                case "2":
-                    personStepsToUnstable();
-                    break;        
-                case "3":
-                    personFalls();
-                    break;  
-                case "4":
-                    personEatsFood();
-                	 break;
-                case "5":
-                	personDigsRope();
-               	 break;
-                case "6":
-                    eskimoBuildsIgloo();
-                    break;   
-                case "7":
-                	explorerGetsHitByBlizzard();
-                	 break;
-                case "8":
-                	eskimoAssemblesandShootsFlare();
-               	 	break;
-                case "exit":
-                    exit = true;
-                    break;  
-            }
-        }        
-    }
-    
-    private void explorerChecksCapacity()
-    {
-        Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az explorer checkCapacity függvényét.");
-        Field field1 = new StableField(0, null);
-        Field field2 = new StableField(0, null);
-        field1.setAllNeighbor(field2);
-        field2.setAllNeighbor(field1);
-        Explorer explorer = new Explorer("Explorer", field2);
-        Logger.Log("Melyik mezőt vizsgálja a sarkkutató?(0 = Alsó, 1 = Felső, 2 = Jobb, 3 = Bal)", false);
-        Direction d;
-        switch(Logger.getNumericInput(0, 3)) {
-        case 0: d = Direction.DOWN; break;
-        case 1: d = Direction.UP; break;
-        case 2: d = Direction.RIGHT; break;
-        default:d = Direction.LEFT; break;
-        }
-        explorer.checkCapacity(d);
-        Logger.decreaseTabs();
-    }
-    
-    private void personStepsToUnstable()
-    {
-        Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter step(Direction.RIGHT) függvényét.");
-        Field unstablefield = new UnstableField();
-        Field stablefield = new StableField(0, Item.nothing);
-        unstablefield.setAllNeighbor(stablefield);
-        stablefield.setAllNeighbor(unstablefield);
-        Explorer ex1 = new Explorer("ex1", stablefield);
-        Explorer ex2 = new Explorer("ex2", unstablefield);
-        stablefield.addPerson(ex1); //A stabil mezore inicializaljuk ex1-t
-        unstablefield.addPerson(ex2); //Az instabil mezore inicializaljuk ex2-t
-        ex1.step(Direction.RIGHT);
-        Logger.decreaseTabs();
-    }
-    
-    private void personFalls() {
-    	Logger.increaseTabs();
-    	Field unstablefield = new UnstableField(0, 0, Item.nothing);
-    	Field stablefield = new StableField(0,Item.nothing);
-    	unstablefield.setAllNeighbor(stablefield);
-        stablefield.setAllNeighbor(unstablefield);
-    	Explorer ex1 = new Explorer("ex1", unstablefield);
-    	Explorer ex2 = new Explorer("ex2", stablefield);
-    	Logger.Log("Van búvárruha a sarkkutatónál? (0 = nem, 1 = igen)", false);
-    	if(Logger.getNumericInput(0,1)==1) ex1.addItem(Item.divingSuit);
-    	Logger.Log("Van kötél a szomszédos mezőn álló eszkimónál? (0 = nem, 1 = igen)", false);
-    	if(Logger.getNumericInput(0,1)==1) ex2.addItem(Item.rope);
-    	ex1.fall();
-    	Logger.decreaseTabs();
-    }
-    
-    private void personEatsFood()	throws IOException	//5.
-    {
-    	Logger.Log("Mennyi a sarkkutató testhője?( 1-4ig)\n", false);
-    	int bodytemp = Logger.getNumericInput(1,4);
-    	Person ex1 = new Explorer("ExplorerAboutToEatFood");
-    	ex1.setBodyTemp(bodytemp);
-    	StableField f1 = new StableField(0,Item.food);
-    	f1.addPerson(ex1);								// listába kerül az explorer, hogy át lehessen adni a board konstruktorának 					
-    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter pickUpItem függvényét.");
-    	ex1.pickUpItem();					// hozzáadjuk a mezőn felszedett itemet az Explroerhez
-    }
-    
-    private void personDigsRope()			//6.
-    
-    {
-    	Person es1 = new Eskimo("EskimoAboutToPickupRope");
-    	List<Person> persons= new ArrayList<Person>();
-    	persons.add(es1);
-    	
-    	this.board = new Board(6,persons);	// listába kerül az explorer, hogy át lehessen adni a board konstruktorának 
-    	
-    	Logger.Log("Explorernek van ásója?( 0 = nem vagy 1 = igen)\n", false);
-    	int aso = Logger.getNumericInput(0,1);
-    	Logger.Log("Hány réteg hó borítja a fieldet? 1 vagy 2?)\n", false);
-    	Logger.getNumericInput(1,2);
-    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter shovel függvényét.");
-    	if(aso == 1)
-    		{
-    		es1.addItem(Item.shovel);		// Ásó hozzáadása az eszkimóhoz				
-    		}
-    	es1.shovel();
-    	Logger.decreaseTabs();
-    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter dig függvényét.");
-    	es1.dig();// kiássa a kötelet
-    	Logger.decreaseTabs();
-    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter pickUpItemfüggvényét.");
-    	es1.pickUpItem();	// felveszi a tárgyat, ami jelen esetben egy kötél
-    	Logger.decreaseTabs();
-    }
-    
-    
-  //a testeset az Iglu építést szimulálja 
-    //felhasználó dönti el, hogy van-e már a mezõn Iglu 
-    void eskimoBuildsIgloo() 
-    {
- 	   Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az eskimo buildIgloo() függvényét.");
- 	   StableField f = new StableField(2,Item.nothing);
- 	   Eskimo es = new Eskimo("IglooBuilder",f);
- 	   es.buildIgloo();
- 	   Logger.decreaseTabs();
-    }
-    
-    //a testeset a Vihart szimulálja
-    //a felhasználó dönti el, hogy van-e Iglu a mezõn, amin a sarkkutató tartózkodik
-    //ha van Iglu, nem történik sebzés
-    //a felhasználó állítja be a sarkkutató testhõjét is
-    //ha 1 a testhõ, a sarkkutató meghal
-    void explorerGetsHitByBlizzard() {
- 	   Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az explorer hitByBlizzard függvényét.");
- 	   Explorer ex = new Explorer("ex");
- 	   Board b = new Board(ex);
- 	   b.makeBlizzard();
- 	   Logger.decreaseTabs();
-    }
-    
-    //a testeset a pisztoly összeszerelését és elsütését szimulálja
-    //a felhasználó dönti el, hogy a játékosok összegyûjtötték-e az összes alkatrészt
-    //ha igen, megnyerik a játékot
-    void eskimoAssemblesandShootsFlare() {
-    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az eskimo AssembleFlare függvényét.");
-    	StableField f1 = new StableField(2,Item.nothing);
-    	Eskimo es1 = new Eskimo("es1",f1);
-    	Eskimo es2 = new Eskimo("es2",f1);
-    	f1.addPerson(es1);
-    	f1.addPerson(es2);
-    	es1.assembleFlare();
-    	Logger.decreaseTabs();
-    }
-
-}
+package arctic_nightmare;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import static java.lang.System.in;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+import javax.swing.JFrame;
+import javax.swing.JTextArea;
+
+public class Game{
+    private Person actualPlayer;
+    private List<Person> players;
+    private Board board;
+    
+    
+    Game(){}
+    
+    void gameOver(){}
+    
+    void nextPlayer(){}
+    
+    void newGame()
+    {
+    }
+    
+    void setActualPerson(Person P){
+        actualPlayer = P;
+    }
+
+    void win(){
+    	Logger.LogAndIncreaseTabs("Game win");
+    	Logger.Log(">> A játék véget ért a játékosok nyertek.", false);
+    	Logger.decreaseTabs();
+    }
+    
+    /*************************************************
+     *              Test functions                   *
+     *************************************************/
+    
+    void test() throws IOException
+    {
+        boolean exit = false;
+        String in;
+        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+        while (!exit){            
+            Logger.setTabs(0);
+            Logger.Log("Kérlek válassz tesztesetet!\n"
+                            + "1: A sarkkutató megvizsgálja a mezőt\n"
+                            + "2: A sarkkutató instabil jégmezőre lép (automatikusan futtatja a 3-ast is)\n"
+                            + "3: A sarkkutató vízbe esik\n"
+                            + "4: A sarkkutató kiássa és elfogyasztja az élelmet\n"
+                            + "5: Az eszkimó letakarítja, kiássa és felveszi a kötelet\n"
+                            + "6: Az eszkimó iglut épít\n"
+                            + "7: A sarkkutató hóviharba kerül\n"
+                            + "8: Az eszkimó összeszereli és elsüti a jelzőfényt\n"
+                            + "exit");
+            in = reader.readLine();
+            switch (in)
+            {
+                case "1":
+                    explorerChecksCapacity();
+                    break;
+                case "2":
+                    personStepsToUnstable();
+                    break;        
+                case "3":
+                    personFalls();
+                    break;  
+                case "4":
+                    personEatsFood();
+                	 break;
+                case "5":
+                	personDigsRope();
+               	 break;
+                case "6":
+                    eskimoBuildsIgloo();
+                    break;   
+                case "7":
+                	explorerGetsHitByBlizzard();
+                	 break;
+                case "8":
+                	eskimoAssemblesandShootsFlare();
+               	 	break;
+                case "exit":
+                    exit = true;
+                    break;  
+            }
+        }        
+    }
+    
+    private void explorerChecksCapacity()
+    {
+        Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az explorer checkCapacity függvényét.");
+        Field field1 = new StableField(0, null);
+        Field field2 = new StableField(0, null);
+        field1.setAllNeighbor(field2);
+        field2.setAllNeighbor(field1);
+        Explorer explorer = new Explorer("Explorer", field2);
+        Logger.Log("Melyik mezőt vizsgálja a sarkkutató?(0 = Alsó, 1 = Felső, 2 = Jobb, 3 = Bal)", false);
+        Direction d;
+        switch(Logger.getNumericInput(0, 3)) {
+        case 0: d = Direction.DOWN; break;
+        case 1: d = Direction.UP; break;
+        case 2: d = Direction.RIGHT; break;
+        default:d = Direction.LEFT; break;
+        }
+        explorer.checkCapacity(d);
+        Logger.decreaseTabs();
+    }
+    
+    private void personStepsToUnstable()
+    {
+        Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter step(Direction.RIGHT) függvényét.");
+        Field unstablefield = new UnstableField();
+        Field stablefield = new StableField(0, Item.nothing);
+        unstablefield.setAllNeighbor(stablefield);
+        stablefield.setAllNeighbor(unstablefield);
+        Explorer ex1 = new Explorer("ex1", stablefield);
+        Explorer ex2 = new Explorer("ex2", unstablefield);
+        stablefield.addPerson(ex1); //A stabil mezore inicializaljuk ex1-t
+        unstablefield.addPerson(ex2); //Az instabil mezore inicializaljuk ex2-t
+        ex1.step(Direction.RIGHT);
+        Logger.decreaseTabs();
+    }
+    
+    private void personFalls() {
+    	Logger.increaseTabs();
+    	Field unstablefield = new UnstableField(0, 0, Item.nothing);
+    	Field stablefield = new StableField(0,Item.nothing);
+    	unstablefield.setAllNeighbor(stablefield);
+        stablefield.setAllNeighbor(unstablefield);
+    	Explorer ex1 = new Explorer("ex1", unstablefield);
+    	Explorer ex2 = new Explorer("ex2", stablefield);
+    	Logger.Log("Van búvárruha a sarkkutatónál? (0 = nem, 1 = igen)", false);
+    	if(Logger.getNumericInput(0,1)==1) ex1.addItem(Item.divingSuit);
+    	Logger.Log("Van kötél a szomszédos mezőn álló eszkimónál? (0 = nem, 1 = igen)", false);
+    	if(Logger.getNumericInput(0,1)==1) ex2.addItem(Item.rope);
+    	ex1.fall();
+    	Logger.decreaseTabs();
+    }
+    
+    private void personEatsFood()	throws IOException	
+    {
+    	Logger.Log("Mennyi a sarkkutató testhője?( 1-4ig)\n", false);
+    	int bodytemp = Logger.getNumericInput(1,4);
+    	Person ex1 = new Explorer("ExplorerAboutToEatFood");
+    	ex1.setBodyTemp(bodytemp);
+    	StableField f1 = new StableField(0,Item.food);
+    	f1.addPerson(ex1);													
+    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter pickUpItem függvényét.");
+    	ex1.pickUpItem();					// hozzaadjuk a mezon felszedett itemet az Explroerhez
+    }
+    
+    private void personDigsRope()			
+    
+    {
+    	Person es1 = new Eskimo("EskimoAboutToPickupRope");
+    	List<Person> persons= new ArrayList<Person>();
+    	persons.add(es1);
+    	
+    	this.board = new Board(5,persons);	// listaba kerül az explorer, hogy at lehessen adni a board konstruktoranak 
+    	
+    	Logger.Log("Explorernek van ásója?( 0 = nem vagy 1 = igen)\n", false);
+    	int aso = Logger.getNumericInput(0,1);
+    	Logger.Log("Hány réteg hó borítja a fieldet? 1 vagy 2?)\n", false);
+    	Logger.getNumericInput(1,2);
+    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter shovel függvényét.");
+    	if(aso == 1)
+    		{
+    		es1.addItem(Item.shovel);		// Aso hozzaadasa az eszkimohoz				
+    		}
+    	es1.shovel();
+    	Logger.decreaseTabs();
+    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter dig függvényét.");
+    	es1.dig();// kiassa a kotelet
+    	Logger.decreaseTabs();
+    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az adott karakter pickUpItemfüggvényét.");
+    	es1.pickUpItem();	// felveszi a targyat, ami jelen esetben egy kotel
+    	Logger.decreaseTabs();
+    }
+    
+    
+  //a testeset az Iglu epitest szimulalja 
+    //felhasznalo donti el, hogy van-e mar a mezon Iglu 
+    void eskimoBuildsIgloo() 
+    {
+ 	   Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az eskimo buildIgloo() függvényét.");
+ 	   StableField f = new StableField(2,Item.nothing);
+ 	   Eskimo es = new Eskimo("IglooBuilder",f);
+ 	   es.buildIgloo();
+ 	   Logger.decreaseTabs();
+    }
+    
+    //a testeset a Vihart szimulalja
+    //a felhasznalo donti el, hogy van-e Iglu a mezon, amin a sarkkutato tartozkodik
+    //ha van Iglu, nem tortenik sebzes
+    //a felhasznalo allitja be a sarkkutato testhojet is
+    //ha 1 a testho, a sarkkutato meghal
+    void explorerGetsHitByBlizzard() {
+ 	   Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az explorer hitByBlizzard függvényét.");
+ 	   Explorer ex = new Explorer("ex");
+ 	   Board b = new Board(ex);
+ 	   b.makeBlizzard();
+ 	   Logger.decreaseTabs();
+    }
+    
+    //a testeset a pisztoly összeszerelését és elsuteset szimulalja
+    //a felhasznalo donti el, hogy a jatekosok osszegyujtottek-e az osszes alkatreszt
+    //ha igen, megnyerik a jatekot
+    void eskimoAssemblesandShootsFlare() {
+    	Logger.LogAndIncreaseTabs("Game: a játéklogika meghívja az eskimo AssembleFlare függvényét.");
+    	StableField f1 = new StableField(2,Item.nothing);
+    	Eskimo es1 = new Eskimo("es1",f1);
+    	Eskimo es2 = new Eskimo("es2",f1);
+    	f1.addPerson(es1);
+    	f1.addPerson(es2);
+    	es1.assembleFlare();
+    	Logger.decreaseTabs();
+    }
+
+}
diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Logger.java b/Arctic_Nigthmare/src/arctic_nightmare/Logger.java
index cc3216676f964858c392c6e15be41f52098e8b31..9c0fcf4fee18ea6d8a97a8c0aa78a8130d923c8e 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Logger.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Logger.java
@@ -1,65 +1,73 @@
-package arctic_nightmare;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Scanner;
-
-final public class Logger {
-    private static int tabs;
-    private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
-    private static Scanner scanner = new Scanner(System.in);
-    
-    static
-    {
-        tabs = 0;
-    }
-    
-
-    static int getNumericInput(int lowerConstraint, int upperConstraint) {
-    	int c = scanner.nextInt();
-    	while(c < lowerConstraint || c > upperConstraint) {
-    		Log("A megadott érték érvénytelen.");
-    		c = scanner.nextInt();
-    	}
-    	return c;
-    }
-    
-    static void setTabs(int newtabs)
-    {
-        tabs = newtabs;
-    }
-    
-    static void increaseTabs()
-    {
-        tabs ++;
-    }
-    
-    static void decreaseTabs()
-    {
-        tabs --;
-        if (1 > tabs) tabs =0;
-    }
-      
-    static void Log(String message)
-    {
-        if (tabs != 0) System.out.println(String.format("%0" + tabs + "d", 0).replace("0", "\t") + message);
-        else System.out.println(message);        
-    }
-    
-    static void Log(String message, boolean tabulated) {
-    	if(!tabulated)System.out.println(message);
-    	else Log(message);
-    }
-    
-    static void LogAndIncreaseTabs(String message)
-    {
-        Log(message);
-        increaseTabs();
-    }
-    
-    static void LogAndDecreaseTabs(String message)
-    {
-        Log(message);
-        decreaseTabs();
-    }
-}
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package arctic_nightmare;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Scanner;
+
+/**
+ *
+ * @author csellar
+ */
+final public class Logger {
+    private static int tabs;
+    
+    private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+    private static Scanner scanner = new Scanner(System.in);
+    
+    static
+    {
+        tabs = 0;
+    }
+        
+    static int getNumericInput(int lowerConstraint, int upperConstraint) {
+    	int c = scanner.nextInt();
+    	while(c < lowerConstraint || c > upperConstraint) {
+    		Log("A megadott érték érvénytelen.");
+    		c = scanner.nextInt();
+    	}
+    	return c;
+    }
+    
+    static void setTabs(int newtabs)
+    {
+        tabs = newtabs;
+    }
+    
+    static void increaseTabs()
+    {
+        tabs ++;
+    }
+    
+    static void decreaseTabs()
+    {
+        tabs --;
+        if (1 > tabs) tabs =0;
+    }
+      
+    static void Log(String message)
+    {
+        if (tabs != 0) System.out.println(String.format("%0" + tabs + "d", 0).replace("0", "\t") + message);
+        else System.out.println(message);        
+    }
+        
+    static void Log(String message, boolean tabulated) {
+    	if(!tabulated)System.out.println(message);
+    	else Log(message);
+    }
+    
+    static void LogAndIncreaseTabs(String message)
+    {
+        Log(message);
+        increaseTabs();
+    }
+               
+    static void LogAndDecreaseTabs(String message)
+    {
+        LogAndDecreaseTabs(message);
+    }       
+}
diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Person.java b/Arctic_Nigthmare/src/arctic_nightmare/Person.java
index 0418b70add9ea1be920c81844760975072312368..31c09526dbd9374ff9153f4e6dfca65042ff3386 100644
--- a/Arctic_Nigthmare/src/arctic_nightmare/Person.java
+++ b/Arctic_Nigthmare/src/arctic_nightmare/Person.java
@@ -1,217 +1,217 @@
-package arctic_nightmare;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Vector;
-
-public class Person {
-    private int bodyTemp;
-    private int maxTemp;
-    private int work;
-    private String name; //Teszt kiíratáshoz
-    protected Field field;
-    private Vector<Item> items;
-    private Game game;
-    
-    
-    Person(String name, Field field)
-    {
-        items = new Vector<>();
-        this.field = field;
-        field.addPerson(this);
-        this.name = name;
-        work = 4;
-    }
-
-    Person(String name)
-    {
-        items = new Vector<>();
-        this.name = name;
-        work = 4;
-    }
-    
-    /*public void addItem(Item item)
-    {
-        items.add(item);
-    }*/
-    
-    public void assembleFlare(){
-    	Logger.LogAndIncreaseTabs("Person assembleFlare");
-    	List<Person> persons = field.getPersons();
-    	Item parts[] = {Item.pistol, Item.cartridge, Item.flare};
-    	boolean b[] = {false, false, false};
-    	for(int i = 0; i <3; ++i) {
-    		for(Person p : persons) {
-    			if(p.hasItem(parts[i])){
-    				b[i] = true;
-    				break;
-    			}
-    		}
-    	}
-    	if(b[0] && b[1] && b[2]) {
-    		game.win();
-    	}
-    	else
-    		Logger.Log(">> Nincs meg minden darab", false);
-    	Logger.decreaseTabs();
-    }
-    
-    public void die()
-    {
-        Logger.LogAndIncreaseTabs("Person(" + name + ") die");
-        Logger.decreaseTabs();
-    }
-    
-    public void dig(){
-    	Logger.LogAndIncreaseTabs("Person(" + name + ") dig");
-    	if(this.field.emitItem()) work--;				
-    	Logger.decreaseTabs();
-    }
-    
-    //Kiegészítve a teszthez szükséges sorokkal
-    public void fall()
-    {
-        Logger.LogAndIncreaseTabs("Person(" + name + ") fall"); //teszthez
-        if(items.contains(Item.divingSuit)) {
-        	Logger.Log(">>" + this.getName() + "-nek van búvárruhája, túléli", false);        
-        	step(Direction.RIGHT);
-        }
-        else {
-        	Logger.Log(">>" + this.getName() + "-nek nincs búvárruhája, segítők keresése", false);
-        	ArrayList<Person> potentialhelpers = findHelpers();
-            boolean saved = false;
-        	if(!potentialhelpers.isEmpty()) {
-            	for (Person person : potentialhelpers) {
-                    saved = person.pullOut(this);
-                    if(saved) break;
-            	}
-            	if(!saved) {
-            		Logger.Log(">> " + name +"-t egyik szomszédja sem tudta kimenteni.", false);
-            		die();
-            	}
-            }
-            else die();
-        }
-    Logger.decreaseTabs();
-    }
-    
-    //Teszt kiíratáshoz
-    public String getName()
-    {
-        return name;
-    }
-    
-    public int getWork(){return 0;}
-    
-    public boolean hasItem(Item item){
-    	Logger.LogAndIncreaseTabs("Person hasItem : " + item );
-    	Logger.Log("Van " + item + " a karakternél(" + name + 
-    			")?(0 = I, 1 = N)", false);
-    	boolean b = Logger.getNumericInput(0, 1) == 0;
-    	Logger.decreaseTabs();
-    	return b;
-    }
-    
-    public void hitByBlizzard(){
-    	Logger.LogAndIncreaseTabs("Person: hitByBlizzard");
-    	this.bodyTemp--;
-    	if(this.bodyTemp==0) die();
-    	Logger.decreaseTabs();
-    }
-    
-    public ArrayList<Person> findHelpers(){
-    	Logger.LogAndIncreaseTabs("Person(" + name + ") findHelpers");
-    	ArrayList<Person> potentialhelpers = new ArrayList<Person>();
-    	Direction dirs[] = Direction.values(); 
-    	for(Direction dir: dirs) {		//iterálás az összes irányt tartalmazó tömbön
-    			Field neighbor = field.getNeighbor(dir); //elkérjük a saját fieldtől az adott irányban lévő szomszédot
-    			potentialhelpers.addAll(neighbor.getPersons());
-    	}
-    	Logger.decreaseTabs();
-    	if(potentialhelpers.isEmpty()) Logger.Log(">>" + name + " nem talált segítőket.", false);
-    	return potentialhelpers;
-    }
-    
-    public void pickUpItem()
-    {
-        Logger.LogAndIncreaseTabs("Person(" + name + ") pickUpItem");
-        Item item = field.getItem();
-        if (item != null)
-        {
-        	if(item.equals(Item.food))
-    		{
-    			if(this.bodyTemp < 4) {	
-    				this.bodyTemp++; 			// ha élelmet talált a person azt nem tárolja el, hanem megeszi és növeli vele a bodyTempjét
-    				Logger.Log(">> Élelem efogyasztása és bodyTemp növelése", false);
-    				}
-    			else Logger.Log(">> A testhő maximális: 4 ", false);
-    		}     	
-        	else
-        	{
-	        	if(!items.contains(item)) {
-        		items.add(item);
-	            Logger.Log(">> Person(" + name + ") felvette:  " + item, false);
-	            work --;
-	        	}
-        	}
-        }
-        else
-        {
-            Logger.Log(">> Person(" + name + ") nem tudta felvenni a tárgyat", false);
-        }
-        Logger.decreaseTabs();
-    }
-    
-    public boolean pullOut(Person p){
-    	Logger.LogAndIncreaseTabs("Person(" + name + ") pullOut("+p.name+ ")");
-    	if(items.contains(Item.rope)) {
-    		p.step(field);
-    	}
-    	Logger.decreaseTabs();
-    	return items.contains(Item.rope); 	
-    }
-    
-    public void setWork(int i)
-    {
-        
-    }
-    
-    public void shovel()
-    {
-        Logger.LogAndIncreaseTabs("Person(" + name + ") shovel");
-            if (field.clearSnow(items.contains(Item.shovel) ? 2 : 1)) work --;	// ellenõrizzük hogy van e ásója
-        Logger.decreaseTabs();													// ha van ásója, akkor 2 réteg havat tud letakarítani 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)
-    {
-    	Logger.LogAndIncreaseTabs("Person(" + name + ") step(Field)");
-    	field.accept(this);
-        Logger.decreaseTabs();
-    }
-
-	public void setBodyTemp(int bodyTemp) {
-	    	this.bodyTemp=bodyTemp;
-	    }
-	
-	//Segédfüggvény a teszthez. Nem a teszteset során, hanem már korábban megszerzett tárgy hozzáadása szereplőhöz
-	public void addItem(Item item) {
-		if(!items.contains(item))
-			items.add(item);
-	}
-}
+package arctic_nightmare;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Vector;
+
+public class Person {
+    private int bodyTemp;
+    private int maxTemp;
+    private int work;
+    private String name; //Teszt kiiratashoz
+    protected Field field;
+    private Vector<Item> items;
+    private Game game;
+    
+    
+    Person(String name, Field field)
+    {
+        items = new Vector<>();
+        this.field = field;
+        field.addPerson(this);
+        this.name = name;
+        work = 4;
+    }
+
+    Person(String name)
+    {
+        items = new Vector<>();
+        this.name = name;
+        work = 4;
+    }
+    
+    /*public void addItem(Item item)
+    {
+        items.add(item);
+    }*/
+    
+    public void assembleFlare(){
+    	Logger.LogAndIncreaseTabs("Person assembleFlare");
+    	List<Person> persons = field.getPersons();
+    	Item parts[] = {Item.pistol, Item.cartridge, Item.flare};
+    	boolean b[] = {false, false, false};
+    	for(int i = 0; i <3; ++i) {
+    		for(Person p : persons) {
+    			if(p.hasItem(parts[i])){
+    				b[i] = true;
+    				break;
+    			}
+    		}
+    	}
+    	if(b[0] && b[1] && b[2]) {
+    		game.win();
+    	}
+    	else
+    		Logger.Log(">> Nincs meg minden darab", false);
+    	Logger.decreaseTabs();
+    }
+    
+    public void die()
+    {
+        Logger.LogAndIncreaseTabs("Person(" + name + ") die");
+        Logger.decreaseTabs();
+    }
+    
+    public void dig(){
+    	Logger.LogAndIncreaseTabs("Person(" + name + ") dig");
+    	if(this.field.emitItem()) work--;				
+    	Logger.decreaseTabs();
+    }
+    
+    //Kiegeszitve a teszthez szükseges sorokkal
+    public void fall()
+    {
+        Logger.LogAndIncreaseTabs("Person(" + name + ") fall"); //teszthez
+        if(items.contains(Item.divingSuit)) {
+        	Logger.Log(">>" + this.getName() + "-nek van búvárruhája, túléli", false);        
+        	step(Direction.RIGHT);
+        }
+        else {
+        	Logger.Log(">>" + this.getName() + "-nek nincs búvárruhája, segítők keresése", false);
+        	ArrayList<Person> potentialhelpers = findHelpers();
+            boolean saved = false;
+        	if(!potentialhelpers.isEmpty()) {
+            	for (Person person : potentialhelpers) {
+                    saved = person.pullOut(this);
+                    if(saved) break;
+            	}
+            	if(!saved) {
+            		Logger.Log(">> " + name +"-t egyik szomszédja sem tudta kimenteni.", false);
+            		die();
+            	}
+            }
+            else die();
+        }
+    Logger.decreaseTabs();
+    }
+    
+    //Teszt kiiratashoz
+    public String getName()
+    {
+        return name;
+    }
+    
+    public int getWork(){return 0;}
+    
+    public boolean hasItem(Item item){
+    	Logger.LogAndIncreaseTabs("Person hasItem : " + item );
+    	Logger.Log("Van " + item + " a karakternél(" + name + 
+    			")?(0 = I, 1 = N)", false);
+    	boolean b = Logger.getNumericInput(0, 1) == 0;
+    	Logger.decreaseTabs();
+    	return b;
+    }
+    
+    public void hitByBlizzard(){
+    	Logger.LogAndIncreaseTabs("Person: hitByBlizzard");
+    	this.bodyTemp--;
+    	if(this.bodyTemp==0) die();
+    	Logger.decreaseTabs();
+    }
+    
+    public ArrayList<Person> findHelpers(){
+    	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
+    			potentialhelpers.addAll(neighbor.getPersons());
+    	}
+    	Logger.decreaseTabs();
+    	if(potentialhelpers.isEmpty()) Logger.Log(">>" + name + " nem talált segítőket.", false);
+    	return potentialhelpers;
+    }
+    
+    public void pickUpItem()
+    {
+        Logger.LogAndIncreaseTabs("Person(" + name + ") pickUpItem");
+        Item item = field.getItem();
+        if (item != null)
+        {
+        	if(item.equals(Item.food))
+    		{
+    			if(this.bodyTemp < 4) {	
+    				this.bodyTemp++; 			// ha elelmet talalt a person azt nem tarolja el, hanem megeszi es noveli vele a bodyTempjét
+    				Logger.Log(">> Élelem efogyasztása és bodyTemp növelése", false);
+    				}
+    			else Logger.Log(">> A testhő maximális: 4 ", false);
+    		}     	
+        	else
+        	{
+	        	if(!items.contains(item)) {
+        		items.add(item);
+	            Logger.Log(">> Person(" + name + ") felvette:  " + item, false);
+	            work --;
+	        	}
+        	}
+        }
+        else
+        {
+            Logger.Log(">> Person(" + name + ") nem tudta felvenni a tárgyat", false);
+        }
+        Logger.decreaseTabs();
+    }
+    
+    public boolean pullOut(Person p){
+    	Logger.LogAndIncreaseTabs("Person(" + name + ") pullOut("+p.name+ ")");
+    	if(items.contains(Item.rope)) {
+    		p.step(field);
+    	}
+    	Logger.decreaseTabs();
+    	return items.contains(Item.rope); 	
+    }
+    
+    public void setWork(int i)
+    {
+        
+    }
+    
+    public void shovel()
+    {
+        Logger.LogAndIncreaseTabs("Person(" + name + ") shovel");
+            if (field.clearSnow(items.contains(Item.shovel) ? 2 : 1)) work --;	// ellenorizzuk hogy van e asoja
+        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)
+    {
+    	Logger.LogAndIncreaseTabs("Person(" + name + ") step(Field)");
+    	field.accept(this);
+        Logger.decreaseTabs();
+    }
+
+	public void setBodyTemp(int bodyTemp) {
+	    	this.bodyTemp=bodyTemp;
+	    }
+	
+	//Segedfuggveny a teszthez. Nem a teszteset soran, hanem mar korabban megszerzett targy hozzaadása szereplohoz
+	public void addItem(Item item) {
+		if(!items.contains(item))
+			items.add(item);
+	}
+}