public CircleSingleplayerRule(CollectibleRepresentation objectiveDiamond) : base() { circleSingleplayer = new CircleSingleplayer(true, true, true); this.objectiveDiamond = new CollectibleRepresentation[1]; this.objectiveDiamond[0] = objectiveDiamond; setup = false; }
//implements abstract circle interface: used to setup the initial information so that the agent has basic knowledge about the level public override void Setup(CountInformation nI, RectangleRepresentation rI, CircleRepresentation cI, ObstacleRepresentation[] oI, ObstacleRepresentation[] rPI, ObstacleRepresentation[] cPI, CollectibleRepresentation[] colI, Rectangle area, double timeLimit) { singlePlayer = new CircleSingleplayer(cutplan, testing, timer); //check if it is a single or multiplayer level if (rI.X < 0 || rI.Y < 0) { //if the circle has negative position then this is a single player level gameMode = 0; singlePlayer.Setup(nI, rI, cI, oI, rPI, cPI, colI, area, timeLimit); } else { gameMode = 1; multiPlayer = new CircleCoopAgent(area, colI, oI, rPI, cPI); multiPlayer.Setup(nI, rI, cI, oI, rPI, cPI, colI, area, timeLimit); } }