X-Git-Url: https://ruin.nu/git/?p=icfp05.git;a=blobdiff_plain;f=botsrc%2Fbot.cpp;h=7635f13c7894342ad6a60ba85bbb7a2c7ce7e5e7;hp=203c96972673c13624667d6f996904d5cec6589b;hb=6b0d8904651d810411bef9b8ad213125fa437bd0;hpb=0802d5a4a639a7601f9e9d8a4d13836171c26bd1 diff --git a/botsrc/bot.cpp b/botsrc/bot.cpp index 203c969..7635f13 100644 --- a/botsrc/bot.cpp +++ b/botsrc/bot.cpp @@ -41,6 +41,8 @@ void Bot::play(){ getline(cin, input); buildGraph(); + preGamePreparations(); + while (true){ getline(cin, input); if (input == "game-over") @@ -90,15 +92,22 @@ void Bot::buildGraph(){ break; istringstream node(input); node >> input; + string name; + node >> name; + Intersection& inter = _intersections[name]; node >> input; - Intersection& inter = _intersections[input]; - node >> input; - if (input == "bank") + if (input == "bank"){ inter.type = bank; - else if (input == "hq") + _banks[name] = 0; + } + else if (input == "hq"){ inter.type = hq; - else if (input == "robber-start") + _copHq = name; + } + else if (input == "robber-start"){ inter.type = robber_start; + _robberLocation = name; + } else inter.type = ordinary; node >> inter.x; @@ -177,6 +186,7 @@ void Bot::updateWorld(){ getline(cin,input); _smell = value(input); + _robberLocation = ""; getline(cin,input); while (true){ getline(cin, input); @@ -190,6 +200,8 @@ void Bot::updateWorld(){ player >> pl.location; player >> input; pl.type = _playerTypes[input]; + if (pl.type == robber) + _robberLocation = pl.location; } //cerr << "Number of players: " << _players.size() << endl; getline(cin, input);