Dunque sto sviluppando un gioco usando Visual C++ 2010 express e la libreria SDL. In questo gioco c'è una specia di scacchiera. Le pedine hanno ciacuna un massimo numero di movimenti diversi, c'è chi si può muovere fino a tre 3 caselle in una mossa (ma possono muoversi anche di meno), altre pedine fino a 2, ecc.
Tutte si possono muovere in tutte le 8 possibili direzioni(avanti,dietro,destra,sinistra,diagonale-destra in avanti,diagonale-sinistra in avanti,diagonale-destra indietro,diagonale-destra indietro).
Quindi posso ad esempio spostare una pedina, che ha un massimo di 3 movimenti consentiti, 2 caselle a destra e una in avanti, ecc.
Però non devono essere presenti altre pedine nel mezzo di questo percorso, quindi le pedine nel muoversi non possono "saltare" altre pedine.
Ora io devo realizzare una funzione, in c++, che mi permetta di stabilire se un dato movimento è consentito oppure no, passando come parametri il numero della casella di partenza e di quella di arrivo.
Infatti, ogni casella ha un numero , la prima ha è la numero uno.
Spero di essere stato chiaro. Vi chiedo se mi potreste aiutare facendomi , almeno, una sorta di schema, che mi indichi come sviluppare questo algoritmo.