#include "sachy.h" // vypocita materialne score pre obe strany a urobi rozdiel // TODO: potom doplni score za napr. volneho pesiaka, pesiakove centrum // odpocita napr. za izolovaneho pesiaka atd. zleho strelca, dvojpesca atd. float score(int side) { float score[2]; int a,x,y; float center_battle[8][8]= {{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}, {0.01,0.02,0.03,0.04,0.04,0.03,0.02,0.01}, {0.02,0.03,0.04,0.05,0.05,0.04,0.03,0.02}, {0.03,0.04,0.05,0.06,0.06,0.05,0.04,0.03}, {0.03,0.04,0.05,0.06,0.06,0.05,0.04,0.03}, {0.02,0.03,0.04,0.05,0.05,0.04,0.03,0.02}, {0.01,0.02,0.03,0.04,0.04,0.03,0.02,0.01}, {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}}; score[0] = 0; score[1] = 0; for (y=0;y<=7;y++) for (x=0;x<=7;x++) { a = sachovnica[x][y].farba; switch (sachovnica[x][y].figurka){ case pesiak: score[a]+=1; break; case jazdec: case strelec: score[a]+=3; break; case veza: score[a]+=5; break; case dama: score[a]+=9; break; } score[a]+=center_battle[x][y]; } if (side == 0) score[0] = score[0]-score[1]; else score[0] = score[1]-score[0]; // rosadovy status score[0] -= flags[0+(side*3)]*0.1; score[0] -= flags[1+(side*3)]*0.05; score[0] -= flags[2+(side*3)]*0.05; score[0] += castled[side]*0.5; return score[0]; }