网站导航 热门专区 火爆论坛 留言建议 内容搜索 阅读排行 我要投稿 友情链接 知道了了 游戏点卡 网址之家 进入家园 Acg专题 站点地图
当前位置:ACG时代 -> 导航 -> 网络游戏 -> 网易游戏 -> 星际争霸2

专区首页

火爆论坛
我要投稿
最新资讯
注册帐号

TOP

星际2地图编辑器命名银河 语言似Java/C/PHP
[ 作者:千羽 | 时间:2010-03-16 13:52:17 | 来源:ACG ACG时代 Acg4.com ]

  国外知名网站sc2armory的工作人员gearvOsh在研究星 际争霸2的MPQ文件(一种压缩文件格式)时发现,星际争霸2的地图编辑器语言以“银河”命名,并且是一种类似C/Java/PHP的程序语言, 以下是编辑器代码示例:

unit AIEarlyDefScoutZerg (int player, unit prev) {
    unit obs;
   
    if (!AIGetFlag(player, e_flagsEarlyDefScout)) {
        return c_nullUnit;
    }
    if (UnitGetType(prev) == c_ZU_Overseer) {
        return prev;
    }
    obs = AIGrabUnit(player, c_ZU_Overseer, c_prioScout, null);
    if (obs) {
        return obs;
    }
    if (UnitGetType(prev) == c_ZU_Zergling) {
        return prev;
    }
    obs = AIGrabUnit(player, c_ZU_Zergling, c_prioScout, null);
    if (obs) {
        return obs;
    }
    if (prev) {
        return prev;
    }
    return AIGrabUnit(player, c_ZU_Drone, c_prioScout, null);
} bool AIWaveNeedClearObsUnits (int player) {
    unit obstruction = null;
    wave waveClob = null;
    wave waveAtck = null;
    int countClob = 0;
    int countAtck = 0;
    int evalAtck = 0;     // Check global option
    if (AIGetFlag(player, e_flagsClearObs) == false) {
        return false;
    }     // Don't clear obstructions in the first 10 minutes (leaves the AI too open to being rushed)
    if (AIGetTime() < 600) {
        return false;
    }     // See if there is any obstruction
    obstruction = AIGetObstruction(player);
    if (obstruction == null) {
        return false;
    }     // See if the clear obstruction wave is already full
    waveClob = AIWaveGet(player, c_waveClearObs);
    countClob = AIWaveUnitCount(waveClob);
    if (countClob >= 4) {
        return false;
    }     // If the attack wave is getting weak, keep units available for it instead
    waveAtck = AIWaveGet(player, c_waveAttack);
    countAtck = AIWaveUnitCount(waveAtck);
    evalAtck = AIWaveEvalRatio(waveAtck, c_evalRange);
    if (countAtck > 0 && evalAtck < 80) {
        return false;
    }     // Yes, units are needed for clear obstruction duty
    return true;
} void ProtossOpenGnd0 (int player) {
    AIClearStock(player);     AISetStock( player, 1, c_PB_Nexus );
    AISetStock( player, 8, c_PU_Probe );
    AISetStock( player, 1, c_PB_Pylon );
   
    // around 100 resources in about 2 units
    AISetStock( player, 1, c_PU_Zealot );
    ProtossTechUp(player, 1);
   
  if (AIEnableVeryEasyStockOpen(player, c_PU_Probe)) {
   return;
  }     // around 300 resources in about 3 unit
  AIAddStringInt(player, c_PU_Stalker, 1);
  AIAddStringInt(player, AIPickFrom2(c_PU_Zealot, c_PU_Disruptor), 1);
}

10
】【打印繁体】【投稿】【举报】 【关闭】 【返回顶部
[上一篇]星际争霸2联机破解进度 模拟战网.. [下一篇]玩家自制《星际争霸2》刺蛇手办全..

说说有礼![登陆ACG后评论无需验证码,精彩评论赢Q币 每月一部iphone4 !] [注册] [登陆]

称  呼:
验 证 码:
内  容:

相关栏目

最新文章

相关文章

推荐文章

热门文章

ACG全新改版_Acg4.com