+ cerr << "Getting intersections" << endl;
+ while (true){
+ getline(cin, input);
+ if (input == "nod/")
+ break;
+ istringstream node(input);
+ node >> input;
+ node >> input;
+ Intersection& inter = _intersections[input];
+ node >> input;
+ if (input == "bank")
+ inter.type = bank;
+ else if (input == "hq")
+ inter.type = hq;
+ else if (input == "robber-start")
+ inter.type = robber_start;
+ else
+ inter.type = ordinary;
+ node >> inter.x;
+ node >> inter.y;
+ }
+
+ cerr << "Number of intersections: " << _intersections.size() << endl;
+
+ getline(cin, input);
+ if (input != "edg\\")
+ return;
+
+ cerr << "Getting streets" << endl;
+ int streets = 0;
+ while (true){
+ getline(cin, input);
+ if (input == "edg/")
+ break;
+ ++streets;
+ istringstream street(input);
+ string from;
+ street >> from;
+ street >> from;
+ string to;
+ street >> to;
+ string type;
+ street >> type;
+ //cerr << "Street between: " << from << " and " << to << " of type: " << type << endl;
+ if (type == "foot"){
+ _intersections[from].connections[to] = both;
+ Intersection& inter = _intersections[to];
+ if (inter.connections.find(from) == inter.connections.end())
+ inter.connections[from] = foot;
+ }else
+ _intersections[from].connections[to] = car;
+ }
+ cerr << "Number of streets: " << streets << endl;
+ getline(cin, input);
+}
+
+void Bot::updateWorld(){
+ string input;
+ getline(cin,input);
+ _world = value<int>(input);
+ //cerr << "World: " << _world << endl;
+
+ getline(cin,input);
+ _robbed = value<int>(input);
+ //cerr << "Robbed: " << _robbed << endl;
+
+ getline(cin,input);
+ while (true){
+ getline(cin, input);
+ if (input == "bv/")
+ break;
+ istringstream bank(input);
+ bank >> input;
+ bank >> input;
+ bank >> _banks[input];
+ }
+ //cerr << "Number of banks: " << _banks.size() << endl;
+
+ getline(cin,input);
+ while (true){
+ getline(cin, input);
+ if (input == "ev/")
+ break;
+ istringstream evidence(input);
+ int world;
+ evidence >> input;
+ evidence >> input;
+ evidence >> world;
+ _evidence[world] = input;
+ }
+
+ getline(cin,input);
+ _smell = value<int>(input);
+
+ getline(cin,input);
+ while (true){
+ getline(cin, input);
+ if (input == "pl/")
+ break;
+ istringstream player(input);
+ player >> input;
+ player >> input;
+ //cerr << "Player: " << input << endl;
+ Player& pl = _players[input];
+ player >> pl.location;
+ player >> input;
+ pl.type = _playerTypes[input];
+ }
+ //cerr << "Number of players: " << _players.size() << endl;
+ getline(cin, input);
+}
+
+void Bot::move(std::string location){
+ cerr << "Moving to: " << location << endl;
+ cout << "mov: " << location << " " << _playerTypeNames[_type] << endl;