找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5691|回复: 15

论ARES实现棋牌类回合制的逻辑

[复制链接]
头像被屏蔽
发表于 2023-2-8 15:11:42 | 显示全部楼层 |阅读模式
本帖最后由 Fandom 于 2023-2-8 15:14 编辑

【注册】
定义建筑:NegB0和AuxB1
定义超武:S1a和S1b
定义武器:AuxB1的EMP炮及其空爆

【逻辑】
玩家有个CD较短的超武S0(被敌人的AuxB1抑制,被自己的AuxB1否定),回合开始时会投放AuxB1
AuxB1:允许S1a和S1b,并且作为抑制器,会抑制敌人的S0

留给玩家的时间应当稍微宽裕点,每个回合的结束进程分自动的手动两种:
A.自动:到了倒计时后,自己拥有的EMP多层空爆超武S1a自动释放会将自己的所有单位冻结+让敌人所有单位解冻+炸掉自己的AuxB1
B.手动:可以在倒计时结束前提前结束自己的回合,需要使用S1b,会将自己的所有单位冻结+让敌人所有单位解冻+炸掉自己的AuxB1

(S1a和S1b用同一种EMP炮武器即可,区别仅在于S1a隐藏图标且自动,而S1b显示图标且手动)

因为自己的AuxB1炸毁,对方的S0本来CD就是转好了的,瞬间发动投放AuxB1,而因为自己的S0刚从否定中解除,需要从头计算CD,CD还没转好因此没有投放。敌人的AuxB1投放后自己的S0被抑制无法投放。敌人的回合开始后我方确实不能“动”了。

这样就可以反复循环了。

但是游戏刚开始两个人S0的CD都是同时转的,没有时间差会同时投放AuxB1,因此需要给后手位置额外加一个初始的NegB0,这个玩意是一次性的,会Neg掉S0(这样的话S0就有NegB0和AuxB1两种否定器)。把NegB0护甲改成和AuxB1一样,在后面被EMP炮顺便炸掉就行。



【注释】
上面的“冻结”可以是EMP、移速降为0、火力降0、禁止开火其中一个或者多个的按需组合。



头像被屏蔽
 楼主| 发表于 2023-2-8 15:15:46 | 显示全部楼层
这个其实比较像“1,2,3,木头人”
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2023-2-8 15:16:57 | 显示全部楼层
因为先手方有优先移动权(即战场优先布置权),所以可以额外加一个全图禁言的倒计时。刚好等于玩家一个回合的时间就行(什么游戏王)。
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2023-2-8 15:17:58 | 显示全部楼层
这个如果配合MovementRestrictedTo=画图,可以做到在地图上限制移动,做到红警象棋(
回复

使用道具 举报

发表于 2023-2-8 15:20:10 来自手机 | 显示全部楼层
你快别出教程了 创意都是偷的 话说用虚拟投放不是更好?
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2023-2-8 15:33:02 | 显示全部楼层
ruanhuhu 发表于 2023-2-8 15:20
你快别出教程了 创意都是偷的 话说用虚拟投放不是更好?

真是自己刚刚琢磨出来了,之前都没在别的地方见过(见识短了)。因为是想做点战网地图,战网好像只支持ARES
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2023-2-8 16:51:08 | 显示全部楼层
;;;可直接照搬:

[BuildingTypes]
9999=NegB0
9998=AuxB1
9997=
9996=
9995=
9994=
9993=
9992=
9991=
9990=

[SuperWeaponTypes]
9999=GiveS0
9998=TurnAS
9997=TurnMS
9996=
9995=
9994=
9993=
9992=
9991=
9990=

[WeaponTypes]
9999=TurnShift1
9998=TurnShift2
9997=TurnShift3
9996=
9995=
9994=
9993=
9992=
9991=
9990=

[Projectiles]
9999=TurnShift1P
9998=TurnShift2P
9997=TurnShift3P
9996=
9995=
9994=
9993=
9992=
9991=
9990=

[Warheads]
9999=TurnShift1WH
9998=TurnShift2WH
9997=TurnShift3WH
9996=
9995=
9994=
9993=
9992=
9991=
9990=

[ArmorTypes]
auxb1=special
negb0=special

;;;;;【逻辑】
;;;;;玩家有个CD较短的超武S0(被敌人的AuxB1抑制,被自己的AuxB1否定),回合开始时会投放AuxB1
;;;;;AuxB1:允许S1a和S1b,并且作为抑制器,会抑制敌人的S0

;;;;;留给玩家的时间应当稍微宽裕点,每个回合的结束进程分自动的手动两种:
;;;;;A.自动:到了倒计时后,自己拥有的EMP多层空爆超武S1a自动释放会将自己的所有单位冻结+让敌人所有单位解冻+炸掉自己的AuxB1
;;;;;B.手动:可以在倒计时结束前提前结束自己的回合,需要使用S1b,会将自己的所有单位冻结+让敌人所有单位解冻+炸掉自己的AuxB1

;;;;;(S1a和S1b用同一种EMP炮武器即可,区别仅在于S1a隐藏图标且自动,而S1b显示图标且手动)

;;;;;因为自己的AuxB1炸毁,对方的S0本来CD就是转好了的,瞬间发动投放AuxB1,而因为自己的S0刚从否定中解除,需要从头计算CD,CD还没转好因此没有投放。敌人的AuxB1投放后自己的S0被抑制无法投放。敌人的回合开始后我方确实不能“动”了。

;;;;;这样就可以反复循环了。

;;;;;但是游戏刚开始两个人S0的CD都是同时转的,没有时间差会同时投放AuxB1,因此需要给后手位置额外加一个初始的NegB0,这个玩意是一次性的,会Neg掉S0(这样的话S0就有NegB0和AuxB1两种否定器)。把NegB0护甲改成和AuxB1一样,在后面被EMP炮顺便炸掉就行。



[KENNL]    ;;;投放GiveS0的地图初始建筑
Armor=special
;;;本次测试后续InvisibleInGame=yes
KeepAlive=no
SpySat=yes
Radar=yes
SuperWeapons=GiveS0



[GiveS0]
SW.NegBuildings=AuxB1,CUTARGET   ;;;CUTARGET即NegB0,地图初始建筑
SW.Inhibitors=AuxB1
Deliver.Types=AuxB1
SW.InitialReady=no
RechargeTime=1    ;;;开局给一分钟准备时间
ShowTimer=yes   ;;;本次测试后续no
UIName=TXT_NONE
SW.ShowCameo=false
SidebarPCX=
Money.Amount=0

;;;允许模块
IsPowered=no
Type=UnitDelivery
SW.AutoFire=true
SW.ManualFire=false
SW.UseAITargeting=yes
SW.AITargeting=Self
;;;;;SW.Shots=

;;;基本参数模块
Name=Give S0
Range=1
Action=Custom
DisableableFromShell=no
LineMultiplier=0
Cursor=Risen
NoCursor=NoCanDo
;;;EVA.Ready=EVA_ReinforcementsReady
SW.FireIntoShroud=no
SW.Deferment=0     ;5
SW.CreateRadarEvent=no
FlashSidebarTabFrames=0



[AuxB1]
Image=CABARR01   ;;;本次测试后续none
Selectable=no
Powered=no

Armor=auxb1
Strength=5
InhibitorRange=960

EMPulseCannon=yes
DamageSelf=yes    ;;;可以摧毁自己

Primary=TurnShift1
SuperWeapon=
SuperWeapon2=TurnAS
SuperWeapons=TurnMS



[TurnAS]
SW.Sound=NukeSiren
Message.Launch=XQ:turnm
SW.AuxBuildings=AuxB1
SW.InitialReady=no
ShowTimer=yes
RechargeTime=3       ;;;#####每个回合持续多久?
UIName=XQ:turnas
SW.ShowCameo=false
;;;
SW.AutoFire=true
SW.ManualFire=false
SW.UseAITargeting=yes     ;提示:一定弹头面积960
SW.AITargeting=Self
;;;
Name=Turn A S
IsPowered=no
Type=EMPulse
Action=Custom
SidebarPCX=cbooicon.pcx
DisableableFromShell=no
Range=1
LineMultiplier=1
Cursor=Backwarp
NoCursor=NoCanDo
SW.FireIntoShroud=no
EVA.Ready=EVA_BattlePowerReady
Money.Amount=0
SW.Deferment=0
SW.CreateRadarEvent=no
FlashSidebarTabFrames=0



[TurnMS]
SW.AllowAI=no
SW.Sound=NukeSiren
Message.Launch=XQ:turnm
Text.Ready=XQ:turnt
SW.AuxBuildings=AuxB1
SW.InitialReady=no
ShowTimer=no
RechargeTime=0.5       ;;;#####每个回合最短也得0.5min
UIName=XQ:turnas
;;;;;;SW.ShowCameo=false
;;;
;;;SW.AutoFire=true
;;;SW.ManualFire=false
SW.UseAITargeting=yes     ;提示:一定弹头面积960
SW.AITargeting=Self
;;;
Name=Turn M S
IsPowered=no
Type=EMPulse
Action=Custom
SidebarPCX=cbooicon.pcx
DisableableFromShell=no
Range=1
LineMultiplier=1
Cursor=Backwarp
NoCursor=NoCanDo
SW.FireIntoShroud=no
EVA.Ready=EVA_BattlePowerReady
Money.Amount=0
SW.Deferment=0
SW.CreateRadarEvent=no
FlashSidebarTabFrames=0





;;武器;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TurnShift1]
Damage=1
ROF=900
Range=1
Speed=100
Projectile=TurnShift1P
Warhead=TurnShift1WH
RevealOnFire=no
Anim=ODINEXP

[TurnShift2]
Damage=1
ROF=900
Range=1
Speed=100
Projectile=TurnShift2P
Warhead=TurnShift2WH
RevealOnFire=no


[TurnShift3]
Damage=1
ROF=900
Range=1
Speed=100
Projectile=TurnShift3P
Warhead=TurnShift3WH
RevealOnFire=no

;;抛体;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TurnShift1P]
Inviso=yes
Image=none
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no
Airburst=yes
AirburstWeapon=TurnShift2
Cluster=1
AirburstSpread=0.25
IgnoresFirestorm=yes

[TurnShift2P]
Inviso=yes
Image=none
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no
Airburst=yes
AirburstWeapon=TurnShift3
Cluster=1
AirburstSpread=0.25
IgnoresFirestorm=yes

[TurnShift3P]
Inviso=yes
Image=none
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no
IgnoresFirestorm=yes

;;弹头;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TurnShift1WH]   ;;;第一层,把自己的单位全冻结
Verses=3%,3%,3%,3%,3%,3%,0%,0%,0%,3%,0%
AffectsAllies=yes
AffectsEnemies=no
EMP.Sparkles=EMP_FX01
EMP.Duration=90000
EMP.Cap=0   ;;;EMP.Duration为正数时,Cap=0代表单位的EMP计数器无上限
;;;DisableWeapons.Duration=
;;;AttachEffect.Duration=
;;;AttachEffect.Animation=
CellSpread=400
PercentAtMax=1

[TurnShift2WH]   ;;;第二层,把敌人的单位全解冻(顺便第一个回合炸掉敌人的NegB0)
Versus.negb0=8000000%
Verses=3%,3%,3%,3%,3%,3%,0%,0%,0%,3%,0%
AffectsAllies=no
AffectsEnemies=yes
EMP.Duration=-90000
EMP.Cap=0   ;;;EMP.Duration为负数时,Cap=0代表立刻激活单位
;;;DisableWeapons.Duration=
;;;AttachEffect.Duration=
;;;AttachEffect.Animation=
CellSpread=400
PercentAtMax=1

[TurnShift3WH]   ;;;第三层,炸掉自己的AuxB1
Versus.auxb1=8000000%
Verses=0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%
AffectsAllies=yes
AffectsEnemies=yes
CellSpread=400
PercentAtMax=1

[CUTARGET]   ;;;[NegB0]
;;;本次测试后续Image=none
Armor=negb0
Strength=10




回复

使用道具 举报

发表于 2023-2-8 17:55:50 | 显示全部楼层
回复

使用道具 举报

发表于 2023-2-8 19:37:03 | 显示全部楼层
Fandom 发表于 2023-2-8 15:33
真是自己刚刚琢磨出来了,之前都没在别的地方见过(见识短了)。因为是想做点战网地图,战网好像只支 ...

楼下大佬给了你链接
回复

使用道具 举报

发表于 2023-2-8 19:42:51 来自手机 | 显示全部楼层
注册表为什么要写那么多空行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-8-31 16:15 , Processed in 0.050399 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表