public void playTurn(Player p, int diceThrow) {
		Cell currCell = this.getCell(p.getCurrentCell());
		if(currCell.canBeLeftNow()){
			int idxNextCell;
			// Makes the score stay within the bounds
			System.out.print(p.getName()+" throws a "+diceThrow+"");
			if(p.getCurrentCell()+diceThrow==63){
				System.err.println("FINI");
			}
			idxNextCell = this.normalize(p.getCurrentCell()+diceThrow);
			// Then applies the optional special effect
			idxNextCell = this.getCell(idxNextCell).handleMove(diceThrow);
			// And makes it stay within the bounds again
			idxNextCell=this.normalize(idxNextCell);
			System.out.print(" cell "+idxNextCell+" is reached\n");
			// To finally make the player move to the actual cell
			this.moveTo(p, idxNextCell);
		}else{
			if(currCell.isRetaining()){
				System.out.print(p.getName()+" is trapped !");
			}else if(currCell instanceof WaitCell){
				System.out.println(p.getName()+" must wait "+((WaitCell) currCell).getWaitTime()+" turns to continue");
			}
		}
	}