星际争霸:人族(terran)魔法与科技

兴奋剂
消耗: 10 生命

  机枪兵和火焰兵可以使用。兴奋剂是一种合成肾上腺素和有止痛作用的药丸,它可以让火焰兵和机枪兵移动更快,开火速度也更快。其缺点就是,使用了兴奋剂后就会对部队立即造成10点的伤害,这个伤害无法避免。多次使用兴奋剂并不能累积效果,而只会对部队造成更多的伤害。兴奋剂的作用不是永久的。它的作用可以持续一段时间,然后机枪兵和火焰兵就会恢复普通状态。你可以在第一次的效果过去之后再使用一次。一旦机枪兵或者火焰兵的生命点数低于10点了,它们就不能再使用兴奋剂了,因为再使用就会杀死这些士兵。


锁定
消耗: 100
范围: 8

  特工使用。在目标5格范围内的机械化目标会发生短路,不能移动持续60秒的时间。在这段时间里,部队也会受到攻击甚至被消灭,但是它们无法进行还击,移动或者响应别的命令。

  锁定对于任何生化部队都不起作用。这包括了所有虫族的部队。但是这个能力在对付人族和神族部队的时候都非常有效,它是对付轰击甲虫,战列舰,航空母舰和其他高级兵种的最好武器。

隐形
消耗: 25 隐形后每秒消耗1

  幽灵战机和特工可以使用。隐形的部队只能看见微弱的闪光,敌人不能把这些隐形的部队作为攻击目标或者作为某些针对单个部队的特殊能力的目标,比如锁定。但是飞溅式的攻击和区域性影响的能力比如诱捕和离子风暴都可以影响到隐形部队,还有一些特殊能力(防御网,辐射,瘟疫等等)可以让隐形部队显形。要攻击隐形部队,就必须要有相应的能检测隐形的炮塔或者部队。寄生的部队可以显示宿主能看见的部队,一旦某个隐形部队被寄生的部队检测到了,那施展寄生能力的敌人就可以和通常一样来攻击你的隐形不对了。


核武器攻击
消耗: 需要有武装好的核弹发射井
  特工使用。要进行核武器攻击,你首先应该再你某一主基地边上建造一个核武器发射井,然后武装好。一旦你拥有了武装好的核武器发射井,任何一个特工都可以为它指定攻击目标。要实施核武器攻击,特工就应该在某个地点用可见的激光标上攻击目标,如果特工被消灭了或者在指定目标的过程中被阻止了,核武器攻击就会被取消,也不会对敌人造成伤害。而一旦人族实施了核武器攻击,所有的玩家都会听到警报,并且接到一条“检测到核武器攻击”的信息。

  特工指定的地点会有一个红点标出,这个红色的激光点可以被任何该区域内的部队或者建筑发现。除非特工升级了移植眼可以从远距离指定目标,一般情况下你最好不要靠近到核武器爆炸范围内,一旦指定好了目标,就立即跑开(指定好目标到核武器真正攻击还有大约1秒钟的时间)你可以取消激光点来撤回核武器攻击,这样就会解放你的特工,但是导弹就消失了。

  在核武器攻击目标上的部队和建筑要么会失去2/3的最大盔甲和生命点数,要么会被造成500点的伤害,取决于哪个伤害更大。爆炸范围往外所造成的伤害要小一些,但是几乎任何被爆炸涉及到的建筑都会立即灰飞烟灭。

部署蜘蛛雷
消耗:: 无,但是每辆秃鹰战车只有3颗雷
范围: 3

  秃鹰战车使用,你可以命令秃鹰战车在指定的位置布上蜘蛛雷。秃鹰战车必须先停在指定区域上,才能进行布雷的工作。布雷大概需要一秒钟的时间,它们埋在地面的下放,在布雷的时候很容易受到伤害。一旦布好了,友军就可以看到蜘蛛雷,但是敌人没有检测设备就看不见这些雷。任何敌人的地面部队(除了那些飘浮部队)一旦进入蜘蛛雷的视野范围都会激活蜘蛛雷进行攻击。蜘蛛雷会立即钻出地面跑向目标,然后剧烈地爆炸伤害任何在很短半径内的部队。空中部队和飘浮部队不会触发蜘蛛雷,但是飘浮部队会受到蜘蛛雷爆炸的飞溅式伤害。


防御网
消耗: 100
范围: 10

  科技球使用。在目标周围形成一个250点生命的不可再生的盔甲。大约60秒之后,效果失去作用,而不管盔甲的生命点数是否用完。要注意某些攻击可以穿透防御网对部队造成伤害。由防御网包围的隐形部队会被敌人的部队自动检测到,但是防御网提供的250点盔甲使得这样做是值得的。对一个部队使用不止一次的防御网会取消旧的防御网的作用,代替以新的防御网——你不能累加防御网。


EMP冲击波
消耗: 100
范围: 8

  科技球使用,用一种特殊的导弹飞行攻击目标并爆炸,然后释放出一个强大的电磁波脉冲。任何在爆炸点3格以内的部队或者建筑的盔甲和能量都会降到0。这个效果几乎可以让任何神族的部队和建筑的生命减半,还可以让执政官和别的有特殊能力的部队丧失作用。使用冲击波的科技球对这个作用免疫,但是别的友军部队只要在范围内也会受到影响。


辐射
消耗: 75
范围: 9

  科技球使用。目标部队会被一团辐射能量所包围。任何被辐射影响的部队周围两格以内的生化部队(包括空中部队)都会受到最大250点的伤害。目标部队只要是有机体,也会受到伤害。对同一个目标辐射多次不会有额外的效果,但是辐射互相重叠的区域会对在范围内的部队造成影响。如果你能正确使用,辐射能力对虫族是极其致命的,因为虫族的所有部队都会受到辐射的影响。你可以瞄准成群的飞龙,空中卫士,和宿主——它们一般总是挤成一团,被辐射的部队也很难分开来。


大和炮
消耗: 150
射程: 10

  战列舰使用。大和炮可以向目标发出极其强烈的能量光束,无视敌人的铠甲或者大小,造成260点的伤害。要注意,大和炮的攻击范围要稍大于战列舰的视野范围,你可以利用这一点在安全的距离上摧毁敌人的防空塔和别的防御工事。可以用雷达站或者别的部队替你的战列舰寻找目标。


雷达扫描
消耗: 50

  雷达站使用。目标可以是任何位置,扫描波会显示出地图上任意一块20*20的方形区域,持续15秒钟的时间,而且可以对该区域进行检测。要想更有效地使用雷达站的扫描能力,你可以参考隐形和检测的内容。


治疗
消耗: 1 for every 2HP healed
范围: 2

(母巢之战专用)
  医生使用。医生一开始就有这个能力,你可以利用这个能力来治疗任何生化部队,包括了神族的狂热者,黑暗圣堂武士,高级圣堂武士和所有的虫族地面部队。


恢复
消耗: 50
范围: 6

(母巢之战专用)
  医生可以用这个能力来消除任何部队身上的有害效果,比如锁定,闪光手雷,辐射,瘟疫,诱捕和寄生(无法消除静止力场的作用)


闪光手雷
消耗: 75
范围: 9

(母巢之战专用)
  医生使用。可以使目标部队的视野范围永久减少至1格,只有医生的恢复能力可以解除这个效果。它还可以消除目标的检测能力。被影响的部队会显示一个“盲目”的标签在它们的状态框里。

 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
Pysc2是一个用于创建人工智能星际争霸2(StarCraft II)理程序的Python库。它允许您通过Python代码与StarCraft II进行交互,并使用Python编写的算法来控制游戏单位。以下是一个简单的Pysc2示例,展示如何使用Pysc2库来控制星际争霸2游戏单位: ```python import numpy as np import cv2 import time import pysc2 from pysc2 import maps from pysc2.lib import actions from pysc2.lib import features # 加载StarCraft II地图 pysc2.maps.get("Simple64") # 定义动作和特征 FUNCTIONS = actions.FUNCTIONS FEATURES = features.features_from_game_version(game_version=pysc2.maps.get("Simple64").game_version) # 定义代理类 class SimpleAgent(pysc2.agents.Agent): def __init__(self): super(SimpleAgent, self).__init__() self.attack_coordinates = None def step(self, obs): super(SimpleAgent, self).step(obs) # 如果没有准备好攻击坐标,则选择一个 if self.attack_coordinates is None: player_relative = obs.observation["screen"][features.SCREEN_FEATURES.player_relative.index] x, y = (player_relative == features.PlayerRelative.ENEMY).nonzero() target = [x.mean(), y.mean()] self.attack_coordinates = target # 如果可以攻击,则攻击 if FUNCTIONS.Attack_screen.id in obs.observation["available_actions"]: player_relative = obs.observation["screen"][features.SCREEN_FEATURES.player_relative.index] x, y = (player_relative == features.PlayerRelative.ENEMY).nonzero() if not y.any(): return FUNCTIONS.no_op() target = [x[0], y[0]] return FUNCTIONS.Attack_screen("now", target) # 如果无法攻击,则移动到攻击坐标 player_relative = obs.observation["screen"][features.SCREEN_FEATURES.player_relative.index] x, y = (player_relative == features.PlayerRelative.SELF).nonzero() if not x.any(): return FUNCTIONS.no_op() player = [int(x.mean()), int(y.mean())] if self.attack_coordinates is not None: return FUNCTIONS.Move_screen("now", self.attack_coordinates) return FUNCTIONS.no_op() # 运行代理 agent = SimpleAgent() try: while True: with sc2_env.SC2Env( map_name="Simple64", players=[sc2_env.Agent(sc2_env.Race.terran)], agent_interface_format=features.AgentInterfaceFormat( feature_dimensions=features.Dimensions(screen=84, minimap=64), use_feature_units=True), step_mul=16, game_steps_per_episode=0, visualize=True) as env: # 运行一局游戏 agent.setup(env.observation_spec(), env.action_spec()) # 重置游戏环境 timesteps = env.reset() agent.reset() # 运行游戏 while True: step_actions = [agent.step(timesteps[0])] if timesteps[0].last(): break timesteps = env.step(step_actions) except KeyboardInterrupt: pass ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值