Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Traslare una lista

  1. #1

    Traslare una lista

    Ho un ArrayList di elementi. Vorrei implementare questa logica:
    Il secondo elemento diventa il primo, il terzo elemento diventa il secondo.. ecc, considerando
    che gli elementi non devono aumentare, nel senso che l'ultimo diventa il penultimo, ma "l'ultimo precedente" non deve esistere più. Non so se mi sono spiegato..

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    55
    Non ho capito
    Deve scomparire l'ultimo elemento o il primo?
    Devi avere necessariamente un ArrayList?

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da Javino89 Visualizza il messaggio
    Ho un ArrayList di elementi. Vorrei implementare questa logica:
    Il secondo elemento diventa il primo, il terzo elemento diventa il secondo.. ecc, considerando
    che gli elementi non devono aumentare, nel senso che l'ultimo diventa il penultimo, ma "l'ultimo precedente" non deve esistere più. Non so se mi sono spiegato..
    Sapresti farlo usando un normale array? ArrayList ha i metodi get() e set() che ti permettono di recuperare/modificare l'i-esimo elemento, il resto è uguale a come lo faresti con gli array normali.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Forse devo spiegarmi meglio. Ho creato il gioco snake in java, solo che l'algoritmo che ho utilizzato è orribile e per risolvere ogni sottoproblema devo creare una funzione troppo complessa. In realtà la chiave dell'algoritmo per muovere il serpente è:

    Ogni elemento del serpente si muove dove stava quello successivo. Poi bisogna aggiornare la posizione della testa a seconda
    della direzione corrente.

    Ad esempio se la direzione corrente è destra, quello che faccio è questo:

    codice:
    if (currentDirection == Direction.RIGHT) {
                    snake.removeLast();
                    snake.getFirst().setSnake();
                    jhead++;
                    snake.addFirst(matrix[ihead][jhead]);
                    matrix[ihead][jhead].setSnakeHead();
                    matrix[ihead][jhead-snake.size()-1].setEmpty();
                }
    matrix è una matrice di Cell, dove Cell è una classe.

    Questo approccio mi complica decisamente un sacco di cose, come ad esempio l'allungamento del serpente di una unità
    nel caso mangi la mela o la gestione della collisione con i bordi.

    Aspè no, lo sto riscrivendo perché così non funziona bene
    Ultima modifica di Javino89; 11-10-2013 a 12:59

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.