Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Cosa fa questo codice?

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    64

    Cosa fa questo codice?

    Ciao,
    in questo codice:

    solution=new Array(0,4,4,2,3);

    temp = [0,0,0,0,0];
    for (i=0;i<5;i++) {
    temp[solution[i]]++;
    }

    che cos'è temp?
    e cosa fa la riga temp[solution[i]]++?
    alla fine del ciclo temp risulta 10112.
    Grazie.

  2. #2
    Il ciclo aumenta i valori negli indici dell'array temp nell'ordine indicato nell'array solution.

  3. #3
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    solution=new Array(0,4,4,2,3);

    temp = [0,0,0,0,0];




    quindi sia temp che solution sono array, ma come mai quella strana sintassi per temp?

  4. #4
    E' semplicemente un modo più veloce per creare un array senza dichiararlo. Solo che chi ha scritto il codice non è molto coerente perché scrive il codice come gli pare anziché adottare un proprio stile unico e sempre uguale.

  5. #5
    Originariamente inviato da thunderlips
    Il ciclo aumenta i valori negli indici dell'array temp nell'ordine indicato nell'array solution.
    esatto , per provare a spiegare con
    solution=new Array(0,1,2,3,4);

    temp e i suoi indici avrebbero avuto tutti valore 1, mentre cosi' il quarto indice viene incrementato 2 volte, gli altri 1 e l' indice numero 1, valore non presente in solution, non viene mai incrementato.

    Dove viene applicata questa sintassi ?
    Mi interessa , grazie
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    64
    Questo codice è inserito in un programmino per ricreare il gioco Mastermind. Il programma sceglie 5 colori e il giocatore deve indovinarli nell'esatta sequenza. I colori nella posizione esatta vengono indicati con un segno bianco mentre quelli indovinati ma nella posizione sbagliata con un segno nero.
    L' array solution contiene la sequenza di colori generata a caso.

    // determine how many of each color there are
    temp = [0,0,0,0,0];
    for (i=0;i<5;i++) {
    temp[solution[i]]++;
    }

    // see how many are correct
    for (i=0;i<5;i++) {
    thisColor = _root["rock"+row+"-"+i]._currentFrame - 2;
    if (thisColor == solution[i]) {
    numRightSpot++;
    temp[thisColor]--;
    }
    }

    // see how many are correct color, but wrong spot
    for (i=0;i<5;i++) {
    thisColor = _root["rock"+row+"-"+i]._currentFrame - 2;
    if (thisColor != solution[i]) {
    if (temp[thisColor] > 0) {
    numRightColor++;
    temp[thisColor]--;
    }
    }
    }

    // create white rocks
    level = row*10+5;
    x = rightColLoc;
    for(i=0;i<numRightSpot;i++) {
    attachMovie("rock","white rock"+level,level);
    clip = _root["white rock"+level];
    clip.gotoAndStop("white");
    clip._x = x;
    clip._y = topRowLoc + row*vertSpace;
    level++
    x+=horizSpace;
    }

    // create black rocks
    for(i=0;i<numRightColor;i++) {
    attachMovie("rock","black rock"+level,level);
    clip = _root["black rock"+level];
    clip.gotoAndStop("black");
    clip._x = x;
    clip._y = topRowLoc + row*vertSpace;
    level++
    x+=horizSpace;
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.