本文共 2769 字,大约阅读时间需要 9 分钟。
背景信息
随着信息社会的进步,对网络传输的要求越来越高。在带宽固定的情况下,如何更好地压缩数据显得尤为重要。合理的压缩算法可以在有限的空间中携带更多的信息。本次赛题以对战双方对虚拟资源争夺的方式,体现了数据压缩在当今信息社会中的重要性。游戏概述
游戏分为两个阵营,双方通过调度各自的资源机器人装载虚拟资源兑换金币。同时累计积分,比赛结束时积分较高的一方阵营获胜,若积分相同则平局。资源机器人将装载后的资源运回己方基地后,会自动触发资源卸载并累计积分。每场比赛由调度系统与资源机器人配合完成,调度系统负责调度资源机器人的路径规划和指令下达,根据资源机器人历史装载数据设计最优调度方案。资源机器人则负责虚拟资源的处理,包括压缩和解压缩。调度系统
调度系统负责资源机器人的调度,模拟地图上每个回合为每个资源机器人选择合适的路径。调度系统可以下达以下多种指令:资源机器人
资源机器人主要实现虚拟资源的处理,支持数据压缩和解压缩。每个回合每个资源机器人只能进行一次路径调度,在路径上的虚拟资源只能装载同一种类型。每半场开始时,每个资源机器人初始容量为2048KB,初始能量为100,且能量上限也为100。资源机器人的容量限制意味着装载的资源单位不能超过自身容量。资源机器人可以通过压缩来提高资源装载数,但由于能量有限,在移动过程中如果能量不足,将中途停止移动。能量掠夺者
能量掠夺者所有操作均不消耗能量。能量掠夺者由资源机器人从己方基地购买,购买金额为50金币。购买成功后,能量掠夺者出生位置为己方基地周边空地,在当前回合结束后生成,下一回合可以调动。能量掠夺者移动至对手资源机器人周边(上、下、左、右)时会对其进行能量掠夺,每次掠夺能量值为5。规则举例:能量掠夺者行走至对手资源机器人上左两个方位,将掠夺能量值为5×2。如果对手资源机器人能量不足5则只能按实际能量数进行掠夺,此时对手资源机器人将处于能量耗尽状态。能量掠夺者移动至己方资源机器人周边时(上、下、左、右)任意位置,将已掠夺的能量一次性全部转移至己方资源机器人。如果在本次调度移动至己方资源机器人,则掠夺能量清零。资源机器人能量耗尽后,能量掠夺者可以为其补充能量使其获得能量。基地
基地是资源机器人完成任务的关键环节。当累计达到一定金币后,资源机器人经过基地时可以购买能量掠夺者或购买能量充能。能量掠夺者购买规则:地图上同一时间每队只能存在一个能量掠夺者,购买成功后回合结束后生效,下一回合启动调度。资源机器人充能规则:每花费1金币购买1单位能量,购买后立即生效。但若购买能量数超过资源机器人自身能量上限,将购买失败,购买失败不做惩罚,不影响后续命令执行。命令执行机制
每回合移动过程中,根据调度信息,经过某位置时自动触发预设在该位置的命令,若同一位置存在多条命令,将按命令顺序依次执行。例如:资源机器人按照调度路径到达某资源区将自动触发预设在该资源区的装载命令;到达己方基地时将自动触发购买能量掠夺者命令。若前一命令执行失败,后续命令仍继续执行。失败一次继续执行,失败多次也不停止整个调度流程。行走规则
资源机器人可以向周围的8个方向移动,每移动1个位置消耗1单位能量。资源区、己方基地、空地都可以行走。障碍物位置、对手基地、双方角色位置不能行走,不可走出边界。移动到己方基地位置会自动卸载所有当前收集资源,并按资源单位数量与类型计算金币,累计积分。资源机器人可以在原地停留,但每回合停留消耗2个能量。资源机器人调度路径不能多次路过相同位置,例如路线A→B→C→D→B→E为非法路线。资源机器人每回合只能访问一次己方基地。调度路径包括机器人起始位置,如果调度路径仅为起始位置则为原地不动。资源装载
移动过程中,根据调度信息与装载指令进行资源装载,如果装载资源单位与当前容量及已装载资源单位相匹配,则装载成功。资源装载方式有压缩装载和不压缩直接装载。每压缩一单位资源消耗1单位能量。资源机器人在容量已满时可以继续执行装载命令,但装载失败不影响后续路径调度。资源机器人对资源单位进行压缩后,在解压缩验证还原成功的情况下才进行装载,否则装载失败。装载成功不消耗能量,装载失败消耗3单位能量。资源机器人能量消耗计算
每移动一个位置消耗1单位能量,每次资源单位压缩消耗1单位能量。装载成功不消耗能量,装载失败消耗3单位能量。金币
系统默认金币数为50。兑换规则:资源卸载到己方基地后系统自动兑换红色资源4金币/单位,绿色资源2金币/单位,蓝色资源1金币/单位。回合制
游戏采用回合制,每场比赛分为上下半场,每半场比赛最多30回合,整场比赛最多60回合。每游戏回合处理流程如下:得分规则
每一场比赛总得分由上半场得分加下半场得分确定。兑换规则:红色资源1单位得4分,绿色资源1单位得2分,蓝色资源1单位得1分。胜负判定
异常处理
异常是指参赛代码引起的异常,主要分为以下几大类:运行超过10秒
移动路线不符合规则(1)路线重复行走、路线不连续(2)撞到障碍物、撞到双方资源机器人或能量掠夺者、超出地图边界(3)行走至对手基地
参赛代码异常达到5次,当前半场结束
异常小于5次时,该资源机器人在本回合轮空,等同于原地不动。
接口
调度机制说明比赛平台下发GameRound调度数据,由Player规划行走路线,下达资源装载命令等,通过GameRoundResp反馈至比赛平台。比赛平台根据GameRoundResp进行资源机器人调度。当资源机器人被调度至资源区时,触发资源压缩装载命令,资源机器人通过Player提供的压缩机制接口,进行数据压缩,并与压缩还原验证,若数据还原验证成功,则压缩装载成功。转载地址:http://aloxz.baihongyu.com/