int recurseSearch(currentCity, lookingForCity, currentDepth, maxDepth) { if (currentDepth>maxDepth) { return FALSE; } int i = 0; while ((currentCity <= BOUNDARY)&&(currentDepth<=maxDepth)){ if(isConnectedRail(game,currentCity,i)) { if (i == lookingForCity) { return TRUE; } else { if(recurseSearch(i, lookingForCity, currentDepth+1, maxDepth)){ return TRUE; } } } } return FALSE; }