Cześć, w pierwszym przypadku mam taką oto funkcję:
void displayPathtoPrincess(int n, vector <string> grid){
int up, left;
int bot[2], prc[2];
for (int i=0; i<n; i++){
for(int j=0; j<n; j++){
if (grid[i][j] == 'm'){
bot[0] = i;
bot[1] = j;
}
if (grid[i][j] == 'p'){
prc[0] = i;
prc[1] = j;
}
}
}
if ((up = prc[0] - bot[0]) < 0) { for(; up < 0; ++up) cout<<"UP"<<endl;
} else { for (; up>0; --up) cout<<"DOWN"<<endl;}
if ((left = prc[1] - bot[1]) < 0) { for (; left < 0; ++left) cout<<"LEFT"<<endl;
} else { for (; left > 0; --left) cout<<"RIGHT"<<endl; }
}
Jest to funkcja poruszania się prostego bota w kierunku księżniczki czyli 'prc'. Mógłby ktoś wytłumaczyć czemu w tym if'ie:
if ((up = prc[0] - bot[0]) < 0)
i w tym:
if ((left = prc[1] - bot[1]) < 0)
jest taki warunek? dlaczego 'up=' i dlaczego 'mniejsze od 0'? Chyba totalnie go nie rozumiem ;(