/** * This function is used to allocate the unit simulated that you want to run. * Any parameters or other experimental setup can be done at this time. */ void CreateSimulation(int id) { Map *map; if (gDefaultMap[0] == 0) { //ht_chantry.arl.map // map = new Map("/Users/nathanst/hog2/maps/dao/lak503d.map"); //map = new Map("/Users/nathanst/hog2/maps/da2/ht_chantry.arl.map"); // map = new Map("/Users/nathanst/hog2/maps/bgmaps/AR0011SR.map"); //map = new Map("/Users/nathanst/hog2/maps/rooms/8room_000.map"); //map = new Map("/Users/nathanst/hog2/maps/mazes/maze512-16-0.map"); //map = new Map("/Users/nathanst/hog2/maps/local/weight.map"); //map = new Map("weight.map"); map = new Map(mazeSize, mazeSize); MakeMaze(map, 5); // map->Scale(512, 512); } else { map = new Map(gDefaultMap); //map->Scale(512, 512); } map->SetTileSet(kWinter); msa = new MapSectorAbstraction(map, 8); msa->ToggleDrawAbstraction(1); //msa->ToggleDrawAbstraction(2); // ->ToggleDrawAbstraction(3); unitSims.resize(id+1); unitSims[id] = new UnitSimulation<xyLoc, tDirection, MapEnvironment>(new MapEnvironment(map)); unitSims[id]->SetStepType(kMinTime); SetNumPorts(id, 1); }
Maze* MazeGame::CreateMaze () { Maze* aMaze = MakeMaze(); /* */ Room* r1 = MakeRoom(1); Room* r2 = MakeRoom(2); Door* theDoor = MakeDoor(r1, r2); /* */ aMaze->AddRoom(r1); aMaze->AddRoom(r2); /* */ r1->SetSide(North, MakeWall()); r1->SetSide(East, theDoor); r1->SetSide(South, MakeWall()); r1->SetSide(West, MakeWall()); /* */ r2->SetSide(North, MakeWall()); r2->SetSide(East, MakeWall()); r2->SetSide(South, MakeWall()); r2->SetSide(West, theDoor); /* */ return aMaze; }