int
best(void)
{
- double cost;
- s_char *BestDistPath(), *BestLandPath(), *s;
- struct sctstr s1, s2;
- struct nstr_sect nstr, nstr2;
- int dist=0;
- s_char buf[1024];
+ double cost;
+ s_char *BestDistPath(), *BestLandPath(), *s;
+ struct sctstr s1, s2;
+ struct nstr_sect nstr, nstr2;
+ int dist = 0;
+ s_char buf[1024];
- dist = player->argp[0][4] == 'd';
+ dist = player->argp[0][4] == 'd';
- if (!snxtsct(&nstr, player->argp[1]))
- return RET_SYN;
+ if (!snxtsct(&nstr, player->argp[1]))
+ return RET_SYN;
- if (!snxtsct(&nstr2, player->argp[2]))
- return RET_SYN;
+ if (!snxtsct(&nstr2, player->argp[2]))
+ return RET_SYN;
- while (!player->aborted && nxtsct(&nstr, &s1)){
- if (s1.sct_own != player->cnum)
- continue;
- snxtsct(&nstr2, player->argp[2]);
- while (!player->aborted && nxtsct(&nstr2, &s2)){
- if (s2.sct_own != player->cnum)
- continue;
- if (dist)
- s = BestDistPath(buf, &s1,&s2,&cost, MOB_ROAD);
- else
- s = BestLandPath(buf, &s1,&s2,&cost, MOB_ROAD);
- if (s != (s_char *)0)
- pr("Best %spath from %s to %s is %s (cost %1.3f)\n",
- (dist ? "dist" : ""),
- xyas(s1.sct_x,s1.sct_y,player->cnum),
- xyas(s2.sct_x,s2.sct_y,player->cnum), s, cost);
- else
- pr("No owned path from %s to %s exists!\n",
- xyas(s1.sct_x,s1.sct_y,player->cnum),
- xyas(s2.sct_x,s2.sct_y,player->cnum));
- }
+ while (!player->aborted && nxtsct(&nstr, &s1)) {
+ if (s1.sct_own != player->cnum)
+ continue;
+ snxtsct(&nstr2, player->argp[2]);
+ while (!player->aborted && nxtsct(&nstr2, &s2)) {
+ if (s2.sct_own != player->cnum)
+ continue;
+ if (dist)
+ s = BestDistPath(buf, &s1, &s2, &cost, MOB_ROAD);
+ else
+ s = BestLandPath(buf, &s1, &s2, &cost, MOB_ROAD);
+ if (s != (s_char *)0)
+ pr("Best %spath from %s to %s is %s (cost %1.3f)\n",
+ (dist ? "dist" : ""),
+ xyas(s1.sct_x, s1.sct_y, player->cnum),
+ xyas(s2.sct_x, s2.sct_y, player->cnum), s, cost);
+ else
+ pr("No owned path from %s to %s exists!\n",
+ xyas(s1.sct_x, s1.sct_y, player->cnum),
+ xyas(s2.sct_x, s2.sct_y, player->cnum));
}
- return 0;
+ }
+ return 0;
}