示例#1
0
        public VlasovPlayer(
            int position,
            Dictionary <string, string> caMap,
            CEncodedObjectInputBufferI bin,
            string logpath,
            string logname,
            AIEventInterfaceI aiEvent,
            AICommandInterfaceI command,
            AIQueryI query,
            AICheatI cheat,
            int logLevel)
            : base(
                position,
                logpath,
                logname,
                caMap,
                bin,
                aiEvent,
                command,
                query,
                cheat,
                logLevel)
        {
            elogger_ = new CSubLog("ExamplePlayer:" + Convert.ToString(position), realLog_);
            elogger_.info("D Logger Log Open: " + logpath + " " + logname);
            elogger_.info("Position " + Convert.ToSingle(position) + " waking up.");

            testAttribute_ = EncodeUtil.parseInt(caMap[TEST_ATTR]);

            hints_ = new CDLLHints(bin);
        }
示例#2
0
        public static CDLLHints getHints()
        {
            //Key Must Not Contain Spaces
            var ret = new CDLLHints(new CDLLInfo("First", "First AI", "Example Stub For AI...not too challenging", "1.0"));

            ret.addInfo(new CDLLBoolHintInfo(DO_NOTHING_ATTR, "Do nothing", "Do Not Expand", false));
            return(ret);
        }
示例#3
0
        public VlasovPlayer(int position, string pname, string logpath, string logname,
                            CDLLHints hints, AIEventInterfaceI aiEvent,
                            AICommandInterfaceI command, AIQueryI query, AICheatI cheat,
                            int logLevel) : base(position, logpath, logname, aiEvent, command,
                                                 query, cheat, logLevel)
        {
            elogger_ = new CSubLog("Vlasov Player:" + Convert.ToString(position), realLog_);
            elogger_.info("D Logger Log Open: " + logpath + " " + logname);
            elogger_.info(pname + " waking up");

            hints_ = hints.copy();

            pname_ = pname;
        }
示例#4
0
        public static CDLLHints getHints()
        {
            var ret = new CDLLHints(new CDLLInfo(
                                        "Vlasov",
                                        "Vlasov AI",
                                        "Vlasov Stub For AI...not too challenging",
                                        "1.0"
                                        ));

            ret.addInfo(new CDLLBoolHintInfo(
                            DO_NOTHING_ATTR,
                            "Do nothing",
                            "Do Not Expand",
                            false
                            ));
            return(ret);
        }
示例#5
0
    public override AIPlayer createAIPlayer(int position, string logpath, string logname,
                                            CDLLHints hints, AIEventInterfaceI aiEvent,
                                            AICommandInterfaceI command, AIQueryI query,
                                            AICheatI cheat, int logLevel)
    {
        if (aiGroup_.Count == 0)
        {
            for (int i = 0; i < leaders_.Length; i++)
            {
                aiGroup_.Add(leaders_[i]);
            }
        }

        int    r     = random_.nextInt(aiGroup_.Count);
        string pname = aiGroup_[r];

        aiGroup_.RemoveAt(r);

        return(new VlasovPlayer(position, pname, logpath, logname, hints, aiEvent, command, query,
                                cheat, logLevel));
    }
示例#6
0
        public virtual void prepare(
            int mapWidth,
            bool horzWrap,
            int mapHeight,
            bool vertWrap,
            CDLLHints hints,
            CGameMapParameters mparams,
            WBQueryI unitData,
            StringPollerI distributor,
            MapCallbackI callback,
            string logpath,
            string logname,
            int loglevel)
        {
            if (reallogger_ == null)
            {
                reallogger_ = new CLog(logpath, logname, loglevel);
                logger_     = new CSubLog("MapMaker", reallogger_);
            }
            distributor_ = distributor;
            callback_    = callback;

            unitData_ = unitData;

            mapUtil_ = new CMapUtil(mapWidth, horzWrap, mapHeight, vertWrap);

            mparams_ = mparams;

            //build the map output
            for (int i = 0; i < mapWidth * mapHeight; i++)
            {
                mapLocs_.Add(new TempMapStruct());
            }

            //the default seed - object may get replaced
            random_ = new CMTRandom();
        }
示例#7
0
 //call by the game to have you create a player
 public abstract AIPlayer createAIPlayer(int position, string logpath, string logname, CDLLHints hints, AIEventInterfaceI aiEvent, AICommandInterfaceI command, AIQueryI query, AICheatI cheat, int logLevel);