OMG ved pise ze najrychlejsie je ak si pred testovanim tahov vytvoris nejake pole v ktorom budu mozne cielove policka danej figurky. Tie sa daju urobit jednoducho pre kazdu figurku (pre kazdu osobitny algoritmus).
Zavisi co presne potrebujes mat rychle.
Dilemovat ze ci urobit if(x>8) alebo if(dx==dy) je uplne nepodstatne, su casovo rovnocenne.
P.S. "mantinel" z figurok je nezmysel, kon by ti to mohol preskocit. Celkovo na to ides nejako moc divne.
P.S.2. nemusi to byt ani pole moznych tahov v RAM, staci ak to budes robit v cykle pre kazdu figurku tahy. Napr.
testuj_tahy()
{
for(x=0; x<8; x++)
for(y=0; y<8; y++)
switch(sachovnica[x,y])
{
case VEZA:
tu si v cykle vytvoris mozne tahy veze z x,y
a zavolas OhodnotTah(novex, novey)
apod.
}
}