Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Millepiedi in java

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16

    Millepiedi in java

    Buongiorno a tutti,
    chiedo il vostro gentile aiuto per una spiegazione su un metodo java di un "gioco" che è il seguente:

    Ho un un millepiedi rappresentato come Coda in java, in cui ogni sezione è un oggetto di tipo NodoCoda formato da una coppia(x,y) che rappresentano le coordinate dell'oggetto NodoCoda all'interno del campo da gioco.
    Si può pensare il campo da gioco come un array bidimensionale.

    Io devo realizzare il metodo
    codice:
    public boolean spostaSu(boolean accoda)
    il quale se possibile fa avanzare il millepiedi di un quadrante verso l'alto e restituisce true; se invece dopo lo stesso avanzamento avvenisse una collisione sul bordo del campo o su se stesso allora restituisce false. Se il parametro passato come argomento è true allora il millepiedi si allunga di una sezione durante lo stesso spostamento, altrimenti mantiene invariata la lunghezza.

    La soluzione che mi viene proposta è la seguente, purtroppo a me poco chiara:

    codice:
    public boolean spostaSu(boolean accoda){
    NodoCoda temp;
    NodoCoda nuovo = new NodoCoda();
    nuovo.x = primo.x;
    nuovo.y = primo.y-1;
    nuovo.prox = primo;
    primo = nuovo;
    
    temp = primo;
    while(temp.prox.prox!=null)
    temp= temp.prox;
    
    if(!accoda)
    temp.prox = null;
    
    temp= primo.prox;
    while(temp!=null){
    if(primo.prox==temp.x && primo.y==temp.y)
    return false
    temp = temp.prox;
    }
    if(primo.y<0)
    return false;
    else
    return true;
    }

    Ringrazio chiunque mi aiuti a chiarirmi la nebbia che ho in testa in merito a questo esercizio.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16
    Per caso:

    codice:
    temp.prox.prox
    va a prendere "2 nodi dopo" quello di cui è temp?

    Grazie

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.