Ds_list azzerare contatore

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
funkygallo
Membro attivo
Messaggi: 256
Iscritto il: 01/04/2014, 23:43
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Ds_list azzerare contatore

Messaggio da funkygallo »

Allora sarà una cavolata ma sto impazzendo.

Praticamente sto implementando una sequenza. Il giocatore deve cliccare nella giusta sequenza tre pulsanti, 1,2,3 che per facilitare l'uso hanno il medesimo valore, quindi 1,2,3

ds_list1 contiene 1,2,3 come valori, quindi faccio il confronto.

Dopo il terzo click la ds_list2 dovrebbe azzerarsi come indice ma non lo fa.
Il problema è che se l'utente indovina la giusta sequanza con i primi tre click tutto fila liscio, altrimenti dopo il 4 tentativo non funziona più nulla

Codice: Seleziona tutto

var risultato = false;

if(ds_list_size(list1) == ds_list_size(global.list2))   //Se hanno la stessa dimensione
 {   
    for(var i = 0; i < ds_list_size(list1); i++)  //cliclo per tre volte tanti quantio sono gli elementi
      {
            if(ds_list_find_value(list1, i) != ds_list_find_value(global.list2, i))
             {
             risultato = false; //sono diversi i 2 valori
             ds_list_clear(global.list2); // qui dovrebbe azzerarsi ma non lo fa.
             break; ///... allora stoppo il ciclo
            }
          else
           {
            risultato = "trovato";    
          } 
    }
} else { //dimensione differente
    risultato = false;
        
}
Praticamente l'indice di global.list2 non viene azzerato, e quindi il ciclo for non viene più eseguito se non per la prima volta.

Dove cacchio sbaglio!! :)

Avatar utente
funkygallo
Membro attivo
Messaggi: 256
Iscritto il: 01/04/2014, 23:43
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Ds_list azzerare contatore

Messaggio da funkygallo »

Nulla risolto killando la ds_list

Rispondi

Chi c’è in linea

Visitano il forum: Bing [Bot] e 150 ospiti