Minimizzare le richieste di database per le mosse di una partita a scacchi?

1

Sto scrivendo una webapp per gli scacchi che, per una determinata mossa e un database di giochi, mostra tutte le mosse che seguono da quella mossa. Praticamente ciò che questo sito ha già fatto: link

Il database avrà una tabella di "mosse" che hanno un collegamento alla mossa precedente nella sequenza. La ricerca delle mosse che seguono una determinata mossa (x) può quindi essere eseguita cercando nella tabella qualsiasi "mossa" che ha "previousMove" come x. Questo è abbastanza semplice, ma non riesco a pensare ad un modo efficace per aggiungere alla tabella delle mosse da un dato gioco di scacchi. Il mio algoritmo finora è:

prevMove = null
for move in game.moves:
    dbMove = getMoveFromDB(move, prevMove) 
    if not dbMove
        dbMove = createDBMove()
        dbMove.prevMove = prevMove
    prevMove = dbMove

Per una media di 40 mosse per partita di scacchi, ciò significa che ci sarebbero 40+ letture di database per importare un gioco. È inevitabile o esiste un modo migliore per importare le mosse da un gioco nel database?

    
posta mowwwalker 18.01.2015 - 02:40
fonte

0 risposte

Leggi altre domande sui tag