private void compressTiles(Tile[] tiles) {
       for(int a = 0; a < tiles.length; a++) {
           for (int i = 0; i < tiles.length - 1; i++) {
               if (tiles[i].value == 0 && tiles[i + 1].value != 0) {
                   tiles[i] = tiles[i + 1];
                   tiles[i + 1].value = 0;
               }
           }
       }
   }


   private void mergeTiles(Tile[] tiles){

       for(int i = 0; i< tiles.length-1; i++){
           if(tiles[i] == tiles[i+1]){
               tiles[i].value *=2;
               this.score += tiles[i].value;
               if(this.maxTile <  tiles[i].value){
                   this.maxTile = tiles[i].value;
               }
               tiles[i+1].value = 0;
               compressTiles(tiles);
           }

       }