X-Git-Url: https://ruin.nu/git/?p=icfp05.git;a=blobdiff_plain;f=robbersrc%2Frobber.cpp;h=abf638b1c1f0c9f4107d3e3f415207bcd5d391b6;hp=50db5100faf9b561a99a9f451ca319e4b71b9f05;hb=42e51f90d84089aa6ecf4b84939bd57b89fe125e;hpb=a76a0b3a94ab89c98135829d163a5fd303398f98 diff --git a/robbersrc/robber.cpp b/robbersrc/robber.cpp index 50db510..abf638b 100644 --- a/robbersrc/robber.cpp +++ b/robbersrc/robber.cpp @@ -20,16 +20,17 @@ string Robber::turn(){ Intersection& conInter = _intersections[street->first]; list closestFootCop = shortestPath(street->first, cop_foot, FindPlayer(_players, cop_foot, 6), true); - list closestCarCop = shortestPath(street->first, cop_car, FindPlayer(_players, cop_car, closestFootCop.size() - 1), true); - - unsigned int closestCop = 0; + unsigned int closestCop = closestFootCop.size(); + //cerr << "Cop on fot " << closestCop << " intersections away." << endl; bool copInCar = false; + list closestCarCop = shortestPath(street->first, cop_car, FindPlayer(_players, cop_car, closestCop > 0 ? closestCop : 5), true); + //cerr << "Cop in car " << closestCarCop.size() << " intersections away." << endl; + if (closestCarCop.size() > 0){ closestCop = closestCarCop.size(); copInCar = true; - }else - closestCop = closestFootCop.size(); + } if (closestCop > 0 && closestCop < 3){ //cerr << "Cop " << closestCop << " intersections away." << endl; @@ -106,6 +107,7 @@ string Robber::turn(){ } } _oldLocation = _location; + //cerr << "Moving to: " << destination << endl; return destination;