Buongiorno 
Grazie!!! La funzione che mi hai scritto l'ho capita. Non ho ancora chiaro però come inserirla all'interno del flusso del programma, ti spiego la mia situazione: Studio ing. informatica e dopo un corso di sole sessanta ore devo presentare un progetto in javascript, una dama per l'esattezza.
Dopo aver buttato giù buona parte del progetto scopro che non potevo usare jQuery e quindi mi trovo a tradurre buona parte del codice.
Di seguito vedi come avevo implementato la dama ma non ho come in javascript delle funzioni ma un unico flusso. La prima funzione invece l'ho già tradotta, anche se a fatica
codice:
// LOGICA DI GENERAZIONE DELLA SCACCHIERA E DELLE PEDINE
var Turno=1;
function creaScacchiera() {
var row=1;
for (i=0;i<32;i++){
var newdiv = document.createElement('div');
newdiv.innerHTML += i;
newdiv.setAttribute('id', i);
newdiv.setAttribute("class","casella");
newdiv.className += " "+'row'+row;
if (i%4==3) {++row;}
if (i%8==0)
{
newdiv.className += " capo";
}
if (i%8==7)
{
newdiv.className += " capo_dx";
}
if (i<12)
{
newdiv.className += " occupato";
newdiv.innerHTML +='<div class="pedina bianchi" id="p'+i+'" onClick="cliccaPedina()"></div>'
}
else if (i>19)
{
newdiv.className += " occupato";
newdiv.innerHTML +='<div class="pedina neri" id="p'+i+'"></div>'
}
var schacchiera = document.getElementById('container');
schacchiera.appendChild(newdiv);
}
}
creaScacchiera();
function checkMangiabile(elemento,pedina)
{
var idc = Number($('#'+elemento+'').attr('id')); // idc = id della casella potenzialmente mangiabiel.
var riga = ($('#'+elemento+'').attr('class')).substr(11,1);
var capo = ($('#'+elemento+'').attr('class')).substr(13,4);
var mangiante = Number($('#p'+pedina+'').parent().attr('id')); // Id casella della pedina mangiante
if (pedina <12) //OVVERO BIANCA
{
if($('#'+elemento+' > div').hasClass('neri'))
{
if (Number(riga)%2==1) // Se riga dispari
{
{
$('#'+(idc+(idc-mangiante-1))+'').not('.occupato').addClass('possible');
}
}
else // se pari
{
$('#'+(idc+(idc-mangiante+1))+'').not('.occupato').addClass('possible');
}
}
}
else //OVVERO NERA
{
if($('#'+elemento+' > div').hasClass('bianchi'))
{
if (Number(riga)%2==1)
{
{
$('#'+(idc+(idc-mangiante+1))+'').not('.occupato').addClass('possible');
}
}
else
{
$('#'+(idc+(idc-mangiante-1))+'').not('.occupato').addClass('possible');
}
}
}
//Bisogna Verificare se nei dintorni vi sono pedine avversarie mangiabili, a quel punto bisogna marcare la tabella di destinazione come 'possibile';
}
function nuovoTurno()
{
document.getElementById('info').innerHTML = "Turno n° "+ ++Turno;
}
// LOGICA DI RICONOSCIMENTO DELLA PEDINA SELEZIONATA E ILLUMINAZIONE DELLE DESTINAZIONI POSSIBILI
$(".pedina").click(function () {
$(".casella").removeClass('clicked');
// $(".casella").removeClass('mangiabile'); superflua
$(this).parent().addClass('clicked');
var idc = Number($(this).parent().attr('id')); // Idc = id della casella. Casting esplicito a valore numerico (per avitare erronea concatenazione 14+4 = 144)
$(".casella").removeClass('possible');
var pedina = ($(this).attr('id')).substring(1); // Prendo id pedina.
var riga = ($(this).parent().attr('class')).substr(11,1);
var capo = ($(this).parent().attr('class')).substr(13,4);
if (pedina<12)
{
if(Turno%2==1)
{
if (Number(riga)%2==1)
{
if (capo=="capo") // Se sono ad un estremo
{
$('#'+(idc+4)+'').not('.occupato').addClass('possible'); // Metto occupato se l'id della casella +4 è non occupato.
if ($('#'+(idc+4)+'').hasClass('occupato'))
{
checkMangiabile((idc+4),pedina);
}
}
else
{
$('#'+(idc+4)+', #'+(idc+3)+'').not('.occupato').addClass('possible');
if($('#'+(idc+4)+'').hasClass('occupato'))
{
checkMangiabile((idc+4),pedina);
}
if($('#'+(idc+3)+'').hasClass('occupato'))
{
checkMangiabile((idc+3),pedina);
}
}
}
else // Riga pari
{
if (capo=="capo")
{
$('#'+(idc+4)+'').not('.occupato').addClass('possible');
if ($('#'+(idc+4)+'').hasClass('occupato'))
{
checkMangiabile((idc+4),pedina);
}
}
else{
$('#'+(idc+5)+', #'+(idc+4)+'').not('.occupato').addClass('possible');
if($('#'+(idc+5)+'').hasClass('occupato'))
{
checkMangiabile((idc+5),pedina);
}
if($('#'+(idc+4)+'').hasClass('occupato'))
{
checkMangiabile((idc+4),pedina);
}
}
}
}
}
if (pedina>19)
{
if(Turno%2==0)
{
if (Number(riga)%2==0)
{
if (capo=="capo")
{
$('#'+(idc-4)+'').not('.occupato').addClass('possible');
if ($('#'+(idc-4)+'').hasClass('occupato'))
{
checkMangiabile((idc-4),pedina);
}
}
else
{
$('#'+(idc-4)+', #'+(idc-3)+'').not('.occupato').addClass('possible');
if($('#'+(idc-4)+'').hasClass('occupato'))
{
checkMangiabile((idc-4),pedina);
}
if($('#'+(idc-3)+'').hasClass('occupato'))
{
checkMangiabile((idc-3),pedina);
}
}
}
else
{
if (capo=="capo")
{
$('#'+(idc-4)+'').not('.occupato').addClass('possible');
if ($('#'+(idc-4)+'').hasClass('occupato'))
{
checkMangiabile((idc-4),pedina);
}
}
else{
$('#'+(idc-5)+', #'+(idc-4)+'').not('.occupato').addClass('possible');
if($('#'+(idc-5)+'').hasClass('occupato'))
{
checkMangiabile((idc-5),pedina);
}
if($('#'+(idc-4)+'').hasClass('occupato'))
{
checkMangiabile((idc-4),pedina);
}
}
}
}
}
});
// LOGICA DI SPOSTAMENTO PEDINE
$(".possible").live("click",function () {
$('.casella').removeClass('possible');
$('.casella').removeClass('mangiabile');
$('.clicked div').appendTo(this); // Sposta la pedina da un div all'altro.
$('.clicked').removeClass('occupato');
$('.clicked').removeClass('clicked');
$(this).addClass('occupato');
nuovoTurno();
if(Turno%2==1)
{
document.getElementById('info_game').innerHTML = "Tocca al Bianco";
}
else
{
document.getElementById('info_game').innerHTML = "Tocca al Nero";
}
});