Visualizzazione risultati 1 fino 6 di 6

Discussione: Formato memorizzazione dati

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Formato memorizzazione dati

    Devo salvare una situazione di una partita di scacchi (ovvero la posizione di ogni pezzo sulla scacchiera).
    Per ogni casella devo memorizzare quale pezzo è contenuto (cavallo, torre, vuoto ecc...).
    Per ogni pezzo non vuoto devo memorizzare il colore del pezzo (bianco, nero).
    Per alcuni pezzi (pedone, re, torre) devo memorizzare un'informazione booleana (può arroccare ecc...).
    Il tutto deve essere gestito mediante file XML.
    In che modo mi consigliate di salvare la scacchiera?
    Vorrei trovare un compromesso tra efficienza di lettura/scrittura, efficienza di spazio occupato ed eleganza.

  2. #2
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Io non avevo usato l'xml ma l'avevo salvata in un campo hidden con questo formato:
    Codice HTML:
    <input type="hidden" name="trav8" value="NT NC NA ND NR NA NC NT">
    <input type="hidden" name="trav7" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav6" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav5" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav4" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav3" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav2" value="-- -- -- -- -- -- -- --">
    <input type="hidden" name="trav1" value="BT BC BA BD BR BA BC BT">
    dove evidentemente la prima lettera è il colore e la seconda è il pezzo ^.^ (lo spazio in mezzo potrebbe diventare optional nel tuo formato)

    Per l'informazione booleana avrei delle idee, ma a che ti servirebbe memorizzarla? Non mi viene in mente nessuna info booleana su pedoni, illuminami!
    Ultima modifica di ageofempiresgif : 22-10-2009 alle ore 00.36.34
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    L'informazione booleana è l'enPassant.
    Comunque io devo memorizzare la scacchiera su file in quanto voglio che un utente dopo aver chiuso il browser possa riprendere la partita da dov'era rimasto...

  4. #4
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    ...quindi se ho ben capito stai creando un programma per giocare a scacchi sul tuo sito.

    Secondo me memorizzare un'informazione booleana (per ogni pezzo) è spreco di spazio, dato che le informazioni da memorizzare mi sembra di capire che siano poche.
    Per decidere se si può fare l'en-passant mi sembra più conveniente memorizzare semplicemente l'ultima mossa.
    Per l'arrocco credo che basti una variabile che può assumere 4 valori per indicare:
    1) puoi arroccare (= non hai ancora mosso il re);
    2) puoi effettuare solo l'arrocco corto (= hai già mosso la torre sinistra);
    3) puoi effettuare solo l'arrocco lungo (= hai già mosso la torre destra);
    4) non puoi arroccare (= hai già mosso il re o entrambe le torri).

    Se mi dici tutte le informazioni booleane che avevi in mente posso darti altri consigli ^.^
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Il punto è che volevo salvare una scacchiera senza dover ricostruire le informazioni (tipo tornare indietro di una mossa ecc...). Beh dai ora ci penso su e decido...

  6. #6
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Infatti, mica devi ricostruire! ^^ La mossa la salvi quando la fai, mica devi ricostruirla xD d2-d4... alla fin fine salvare questa informazione significa solo aggiungere un campo xml ^^
    Ultima modifica di ageofempiresgif : 22-10-2009 alle ore 15.55.47
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •