/**
  * Effectue le changement de position
  *
  * @param oldCell ancienne case
  * @param newCell nouvelle case
  * @return retourne true si le changement a pu etre effectue false sinon
  */
 protected boolean onPositionChange(Case oldCell, Case newCell) {
   if (newCell == null || newCell.getMap() == null || oldCell == newCell) {
     return false;
   }
   if (newCell.getMap() == oldCell.getMap()) {
     this.cell = newCell;
     return onMoveCell(oldCell, newCell);
   } else {
     oldCell.getMap().removeEntity(this);
     oldCell.removeCreature(this);
     this.cell = newCell;
     this.map = newCell.getMap();
     newCell.getMap().addEntity(this);
     newCell.addCreature(this);
     return onMapChange(oldCell, newCell);
   }
 }
 /**
  * Creer une creature sur la Map donnee
  *
  * @param id id de la creature
  * @param name nom de la creature
  * @param cell cellule de la creature
  */
 public Creature(int id, String name, Case cell) {
   this(id, name, cell.getMap(), cell, 0);
 }