[Javascript] scacchiera con Array multidimensionale

Andrea Perrone

Nuovo Utente
30 Set 2016
22
0
1
37
Salve a tutti! Qualche mese fa (era ottobre) ho iniziato su questo forum delle discussioni riguardo alla possibilità di creare una scacchiera con javascript: oggi, grazie alle indicazioni di quanti mi hanno risposto allora e con l'aiuto di internet, ho imparato qualcosa in più sull'argomento e voglio riproporre le questioni.

Sono arrivato a scrivere un codice molto spartano e ridondante:

Codice:
<script>

var scacchiera =[
                       [a8, b8, c8, d8, e8, f8, g8, h8],
                       [a7, b7, c7, d7, e7, f7, g7, h7],
                       [a6, b6, c6, d6, e6, f6, g6, h6],
                       [a5, b5, c5, d5, e5, f5, g5, h5],
                       [a4, b4, c4, d4, e4, f4, g4, h4],
                       [a3, b3, c3, d3, e3, f3, g3, h3],
                       [a2, b2, c2, d2, e2, f2, g2, h2],
                       [a1, b1, c1, d1, e1, f1, g1, h1],
                     ]  
                      
var a8 = scacchiera [0][0]
var b8 = scacchiera [0][1]
var c8 = scacchiera [0][2]
var d8 = scacchiera [0][3]
var e8 = scacchiera [0][4]
var f8 = scacchiera [0][5]
var g8 = scacchiera [0][6]
var h8 = scacchiera [0][7]

var a7 = scacchiera [1][0]
var b7 = scacchiera [1][1]
var c7 = scacchiera [1][2]
var d7 = scacchiera [1][3]
var e7 = scacchiera [1][4]
var f7 = scacchiera [1][5]
var g7 = scacchiera [1][6]
var h7 = scacchiera [1][7]

var a6 = scacchiera [2][0]
var b6 = scacchiera [2][1]
var c6 = scacchiera [2][2]
var d6 = scacchiera [2][3]
var e6 = scacchiera [2][4]
var f6 = scacchiera [2][5]
var g6 = scacchiera [2][6]
var h6 = scacchiera [2][7]

var a5 = scacchiera [3][0]
var b5 = scacchiera [3][1]
var c5 = scacchiera [3][2]
var d5 = scacchiera [3][3]
var e5 = scacchiera [3][4]
var f5 = scacchiera [3][5]
var g5 = scacchiera [3][6]
var h5 = scacchiera [3][7]

var a4 = scacchiera [4][0]
var b4 = scacchiera [4][1]
var c4 = scacchiera [4][2]
var d4 = scacchiera [4][3]
var e4 = scacchiera [4][4]
var f4 = scacchiera [4][5]
var g4 = scacchiera [4][6]
var h4 = scacchiera [4][7]

var a3 = scacchiera [5][0]
var b3 = scacchiera [5][1]
var c3 = scacchiera [5][2]
var d3 = scacchiera [5][3]
var e3 = scacchiera [5][4]
var f3 = scacchiera [5][5]
var g3 = scacchiera [5][6]
var h3 = scacchiera [5][7]

var a2 = scacchiera [6][0]
var b2 = scacchiera [6][1]
var c2 = scacchiera [6][2]
var d2 = scacchiera [6][3]
var e2 = scacchiera [6][4]
var f2 = scacchiera [6][5]
var g2 = scacchiera [6][6]
var h2 = scacchiera [6][7]

var a1 = scacchiera [7][0]
var b1 = scacchiera [7][1]
var c1 = scacchiera [7][2]
var d1 = scacchiera [7][3]
var e1 = scacchiera [7][4]
var f1 = scacchiera [7][5]
var g1 = scacchiera [7][6]
var h1 = scacchiera [7][7]

</script>

Mi chiedo: potrebbe funzionare? È corretto?
Il mio obiettivo rimarrebbe sempre quello di potere poi SOSTITUIRE il valore di una variabile in modo da visualizzare un pezzo degli scacchi nella posizione desiderata (ad esempio, scrivere, al posto di a8, "torre" oppure, al posto di f5, " "); inoltre vorrei poter imparare come fare ciò in modo da avere più sequenze (posizioni dei pezzi) che si possano volta per volta visualizzare tramite dei bottoni avanti e indietro - questa forse è la parte più complicata!...?

Grazie per l'aiuto concreto che mi avete dato!

Andrea
 
Ultima modifica di un moderatore:
ps e nel caso il codice sia lontanamente corretto.......come faccio ad associare i valori della 'matrice' ad una tabella html??????? :O
 
Salve di nuovo. Ho delle buone nuove in quanto penso di aver trovato una soluzione il cui codice e simile a quello postato - il quale non e molto corretto - mi sono rifatto a degli esempi che il gentile Criric mi fece notare ad ottobre e la cosa sembra funzionare!

Ho creato un var mosse - dopo aver dichiarato var mossa corrente = 0; - dove scrivo una sorta di matrice per ogni mossa con la relativa posizione dei pezzi cosi:

var mossacorrente = 0;

var mosse = { [a8: 'T' ; b8: 'C' .........], [...........], [...............] *

E poi tramite due funzioni "prossima ()" e "precedente ()" nonché usando la condizione mossacorrente++ o -- faccio scrivere i valori in delle celle di una tabella che rappresenta la scacchiera.

MA

un ultima cosa devo capire e nonostante i miei sforzi di cercare sul web non mi e chiara:

Adesso mi chiedo se esiste la possibilità di scrivere nelle matrici * i seguenti simboli A T R D P C che, una volta eventualmente associati a dei percorsi immagine, facessero in modo che le funzioni li interpretino come delle immagini - le icone dei pezzi! - e che quindi il risultato finale mostri a video queste ultime invece delle sequenze di caratteri che scriverei nel compilare le matrici in var mosse.

Negativa o positiva che sia attendo fiduciosamente una risposta! :) grazie
 
Ciao, le icone dei pezzi sono stringhe guarda qui. Al posto di T scrivi "&#9814;"
 

Discussioni simili