18/06/12 19:46
crybot
salve, e` un po' di tempo che sto lavorando ad un bel progetto, che spero di portare a termine il prima possibile. tale progetto e`, come fa supporre il titolo, un programma di scacchi con il quale si possa giocare contro il computer, con un discreto livello di difficolta`. Per fare cio` mi sono documentato e ho trovato le giuste informazioni per riuscire a cominciare a lavorare al progetto, scegliendo XNA per sviluppare la GUI.
per chi volesse dare un'occhiata al progetto e, magari, dare dei consigli/critiche (vi invito a farlo per qualunque motivo), puo` farlo alla mia repository su GitHub:
github.com/crybot/…
Detto questo posso passare al mio effettivo problema:
Dopo aver delineato l'architettura del gioco all'interno del progetto e sviluppato la GUI in xna, ho deciso di dedicarmi alla parte logica del programma, incagliandomi in un problema che ritengo alquanto complesso.
il problema consiste nel come implementare le regole di movimento dei vari pezzi in maniera logica. Mi spiego meglio:
sappiamo tutti, almeno spero, che i diversi pezzi degli scacchi possono muoversi in modi differenti e che devono rispettare delle regole, per esempio il pedone si muove di una sola casa in avanti, mangia in diagonale e cattura in "en-passant" compiendo un movimento verticale di due case; il cavallo invece si muove ad "L" (due movimenti in orizzontale e uno in verticale o viceversa).
Il problema infatti si pone quando devo implementare tali regole nel programma, non sapendo proprio che pesci pigliare.
Per chi si ricorda, tempo fa avevo pubblicato un programma in C++ che calcolava i movimenti che il cavallo doveva compiere per girare tutta la scacchiera. il suo movimento l'avevo implementato cosi`:
pastebin.com/…
tuttavia, seppur questo potrebbe andare bene per il cavallo, non va bene per gli altri pezzi, che possono disporre di combinazioni di movimenti molto piu` numerose.
arrivo al punto della domanda, finalmente:
qualcuno potrebbe gentilmente dirmi come fare, o almeno darmi qualche dritta, su come fare per implementare le regole di movimento dei vari pezzi?
grazie mille
P.S. se avete qualche critica sulla correttezza del progetto (linkato sopra), perfavore scrivete pure
per chi volesse dare un'occhiata al progetto e, magari, dare dei consigli/critiche (vi invito a farlo per qualunque motivo), puo` farlo alla mia repository su GitHub:
github.com/crybot/…
Detto questo posso passare al mio effettivo problema:
Dopo aver delineato l'architettura del gioco all'interno del progetto e sviluppato la GUI in xna, ho deciso di dedicarmi alla parte logica del programma, incagliandomi in un problema che ritengo alquanto complesso.
il problema consiste nel come implementare le regole di movimento dei vari pezzi in maniera logica. Mi spiego meglio:
sappiamo tutti, almeno spero, che i diversi pezzi degli scacchi possono muoversi in modi differenti e che devono rispettare delle regole, per esempio il pedone si muove di una sola casa in avanti, mangia in diagonale e cattura in "en-passant" compiendo un movimento verticale di due case; il cavallo invece si muove ad "L" (due movimenti in orizzontale e uno in verticale o viceversa).
Il problema infatti si pone quando devo implementare tali regole nel programma, non sapendo proprio che pesci pigliare.
Per chi si ricorda, tempo fa avevo pubblicato un programma in C++ che calcolava i movimenti che il cavallo doveva compiere per girare tutta la scacchiera. il suo movimento l'avevo implementato cosi`:
pastebin.com/…
tuttavia, seppur questo potrebbe andare bene per il cavallo, non va bene per gli altri pezzi, che possono disporre di combinazioni di movimenti molto piu` numerose.
arrivo al punto della domanda, finalmente:
qualcuno potrebbe gentilmente dirmi come fare, o almeno darmi qualche dritta, su come fare per implementare le regole di movimento dei vari pezzi?
grazie mille
P.S. se avete qualche critica sulla correttezza del progetto (linkato sopra), perfavore scrivete pure
aaa