Vai al contenuto



Foto

Java Array E Operatore Shift


  • Per favore accedi per rispondere
1 risposta a questa discussione

#1 OFFLINE   AndreaGranieri

AndreaGranieri

    Newbie

  • Utente
  • Stelletta
  • 4 messaggi
  • Cellulare:nokia e55

Inviato 02 febbraio 2012 - 15:33

Salve a tutti vorrei una mano nella comprensione di una parte di codice riguardante il famoso gioco del tris.
Il codice è il seguente:

private static final int[] WINS = {   
      //Caselle orizzontali  
      bit(0) | bit(1) | bit(2),   
      bit(3) | bit(4) | bit(5),   
      bit(6) | bit(7) | bit(8),   
      //caselle verticali  
      bit(0) | bit(3) | bit(6),   
      bit(1) | bit(4) | bit(7),   
      bit(2) | bit(5) | bit(8),   
      //caselle diagonali   
      bit(0) | bit(4) | bit(8),   
      bit(2) | bit(4) | bit(6)   
  };   

Qui praticamente viene creato un'array, quello che non capisco è che cosa viene messo all'interno di questo array in quanto il metodo "bit" che viene continuamente richiamato è il seguente:

private static int bit(int i) {   
    return 1 << i;   
  }   

Spero possiate darmi una mano grazie

#2 OFFLINE   Il.Socio

Il.Socio

    Nokioteca Staff

  • Moderatore
  • 8233 messaggi
  • Località:Torino
  • Cellulare:N8-00

Inviato 10 febbraio 2012 - 20:32

popola l'array con 8 elementi...
il 1° elemento e' composto dai bit 0 1 2 ovvero => 00000000 00000111 binario => 7 decimale
il 2° elemento e' composto dai bit 3 4 5 ovvero => 00000000 00111000 binario => 56 decimale
il 3° elemento e' composto dai bit 6 7 8 ovvero => 00000001 11000000 binario => 448 decimale
etc... etc... etc...

Se tutto cio' e' finalizzato alla sola realizzazione del classico tris, direi proprio che il tizio si e' complicato la vita a dismisura... :wacko:
Se hai intenzione di realizzare il tris, e' meglio se ti dimentichi di tutto cio' e segui un approccio il piu' semplice e lineare possibile :)

Messaggio modificato da Il.Socio, 10 febbraio 2012 - 20:42

Per segnalare allo Staff un messaggio non conforme al regolamento è sufficiente premere il bottone "Segnala" posizionato in basso a sinistra di ciascun messaggio.