You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

GameRules.md 17 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. # 规则
  2. V5.4
  3. - [规则](#规则)
  4. - [简则](#简则)
  5. - [地图](#地图)
  6. - [人物](#人物)
  7. - [攻击](#攻击)
  8. - [交互](#交互)
  9. - [学习与毕业](#学习与毕业)
  10. - [勉励](#勉励)
  11. - [沉迷与唤醒](#沉迷与唤醒)
  12. - [门](#门)
  13. - [窗](#窗)
  14. - [箱子](#箱子)
  15. - [信息相关](#信息相关)
  16. - [可视范围](#可视范围)
  17. - [道具](#道具)
  18. - [得分](#得分)
  19. - [捣蛋鬼](#捣蛋鬼)
  20. - [学生](#学生)
  21. - [职业与技能](#职业与技能)
  22. - [捣蛋鬼](#捣蛋鬼-1)
  23. - [Assassin](#assassin)
  24. - [Klee](#klee)
  25. - [喧哗者ANoisyPerson](#喧哗者anoisyperson)
  26. - [Idol](#idol)
  27. - [学生(\&老师)](#学生老师)
  28. - [运动员](#运动员)
  29. - [教师](#教师)
  30. - [学霸](#学霸)
  31. - [开心果](#开心果)
  32. - [细则](#细则)
  33. - [特殊说明](#特殊说明)
  34. - [移动](#移动)
  35. - [人物](#人物-1)
  36. - [初始状态](#初始状态)
  37. - [道具](#道具-1)
  38. - [交互](#交互-1)
  39. - [学习与毕业](#学习与毕业-1)
  40. - [攻击](#攻击-1)
  41. - [沉迷与唤醒](#沉迷与唤醒-1)
  42. - [门](#门-1)
  43. - [窗](#窗-1)
  44. - [箱子](#箱子-1)
  45. - [得分](#得分-1)
  46. - [信息相关](#信息相关-1)
  47. - [技能](#技能)
  48. - [职业](#职业)
  49. ## 简则
  50. - 每场比赛分为上下两个半场,上下半场双方换边
  51. - 单局比赛分为学生阵营(4 人)和捣蛋鬼阵营(1 人)
  52. - 最终将两场比赛己方所得分数相加,高者获胜
  53. ### 地图
  54. - 地图为矩形区域,游戏对象坐标为(x, y),x和y均为整数。
  55. - **x坐标轴正方向竖直向下,y坐标轴正方向水平向右**;
  56. - **极坐标以x坐标轴为极轴,角度逆时针为正方向**。
  57. - 地图由50 * 50个格子构成,每个格子代表1000 * 1000的正方形。每个格子的编号(CellX,CellY)可以计算得到:
  58. $$
  59. CellX=\frac{x}{1000},CellY=\frac{y}{1000}
  60. $$
  61. - 格子有对应区域类型:陆地、墙、草地、教室、校门、隐藏校门、门、窗、箱子
  62. - 隐藏校门刷新点的区域类型始终为隐藏校门
  63. ### 人物
  64. - 人物直径为800
  65. - 人物共有17种不可叠加的状态:
  66. 1. (可)移动状态 Idel
  67. 2. 学习 Learning
  68. 3. 被勉励 Encouraged
  69. 4. 在勉励 Encouraging
  70. 5. 开或锁门 Locking
  71. 6. 翻箱 Rummaging
  72. 7. 使用技能 UsingSpecialSkill
  73. 8. 开启校门 OpeningAGate
  74. 9. 唤醒他人中 Rousing
  75. - 之后八项为不可接受指令状态
  76. 1. 被唤醒中 Roused
  77. 2. 沉迷 Addicted
  78. 3. 退学 Quit
  79. 4. 毕业 Graduated
  80. 5. 被眩晕 Stunned
  81. 6. 前摇 Attacking
  82. 7. 后摇 Swinging
  83. 8. 翻窗 Climbing
  84. ### 攻击
  85. - 攻击类型CommonAttackOfGhost攻击未写完的作业,会造成对应攻击力的损坏
  86. - 捣蛋鬼攻击交互状态或前后摇的学生,将使学生眩晕4.3s
  87. | 攻击(子弹)类型 |搞蛋鬼的一般攻击CommonAttackOfGhost| 飞刀FlyingKnife | 蹦蹦炸弹BombBomb | 小炸弹JumpyDumpty |
  88. | :------------ | :--------------------- | :--------------------- | :--------------------- | :--------------------- |
  89. | 子弹爆炸范围 | 0 | 0 | 2000 | 1000 |
  90. | 子弹攻击距离 | 2200 | 78000 | 2200 | 4400 |
  91. | 攻击力 | 1500000 | 1200000 | 1800000 | 900000 |
  92. | 移动速度/s | 7400 | 18500 | 6000 | 8600 |
  93. | 前摇(ms) | 297 | 400 | 366 | - |
  94. |未攻击至目标时的后摇(ms)| 800 | 0 | 3700 | - |
  95. |攻击至目标时的后摇(ms)| 3700 | 0 | 3700 | - |
  96. | CD(ms) | 800 | 400 | 3000 | - |
  97. | 最大子弹容量 | 1 | 1 | 1 | - |
  98. ### 交互
  99. - 除了翻窗,交互目标与交互者在一个**九宫格**方可交互
  100. - 交互进度每毫秒增加对应交互速度的值
  101. - 作业,门,箱子完成/开启进度达到10000000为完成
  102. - 校门开启进度达到18000为完成
  103. #### 学习与毕业
  104. - 共有10间教室,学生需要完成**7间**教室的作业,才可以开启校门。
  105. - 开启校门需要18秒,开启进度不清空
  106. - **3间**教室的作业完成时,隐藏校门会在刷新点之一随机显现;当只剩1名学生时,隐藏校门自动打开。
  107. - 从开启的校门或隐藏校门毕业是学生终极目标
  108. #### 勉励
  109. - 当被勉励程度达到当前损失的毅力值或1500000时,勉励完成,学生毅力增加对应被勉励程度。
  110. - 勉励中断时,被勉励程度保留;遭到攻击时被勉励程度清空
  111. #### 沉迷与唤醒
  112. - 学习毅力归零时,学生进入沉迷状态,每毫秒增加1沉迷度
  113. - 唤醒需要1秒,之后学习毅力恢复至1/2。沉迷程度不清空。
  114. - 进入沉迷状态时,如果学生原沉迷程度在(0,该玩家最大沉迷度/3)中,沉迷程度直接变为其最大沉迷度/3;原沉迷程度在[其最大沉迷度/3,其最大沉迷度x2/3)中,沉迷程度直接变为其最大沉迷度x2/3;原沉迷程度大于其最大沉迷度x2/3,从游戏中出局;
  115. - 当学生沉迷程度达到其最大沉迷程度时,从游戏中出局
  116. #### 门
  117. - 门分别属于三个教学区:三教,五教,六教
  118. - 拥有对应教学区的钥匙才能开锁对应的门
  119. - 锁门过程中,门所在格子内有人会使锁门过程中断
  120. #### 窗
  121. - 翻窗时玩家应当在窗前后一个格子内
  122. #### 箱子
  123. - 开箱后将有2个随机道具掉落在玩家位置。
  124. ### 信息相关
  125. - Bgm (在structures.h/.py中的student类或Tricker类中作为其属性)
  126. 1. 不详的感觉(dangerAlert):如果捣蛋鬼进入(学生的警戒半径/捣蛋鬼的隐蔽度)的距离,则学生的dangerAlert=(警戒半径/二者距离)
  127. 2. 期待搞事的感觉(trickDesire):如果有学生进入(捣蛋鬼的警戒半径/学生的隐蔽度)的距离,则捣蛋鬼trickDesire=(警戒半径/可被发觉的最近的学生距离)
  128. 3. 学习的声音(classVolume): 警戒半径内有人学习时,捣蛋鬼classVolume=((警戒半径x学习进度百分比)/二者距离)
  129. - 可以向每一个队友发送不超过256字节的信息
  130. ### 可视范围
  131. - 小于视野半径
  132. - 对于中心在草地中的物体,物体中心与玩家中心连线上均为草地方可见
  133. - 不在草地的物体,物体中心与玩家中心连线上无墙即可见
  134. ### 道具
  135. - 玩家同时最多拥有三个道具
  136. - 可以捡起与自己处于同一个格子(cell)的道具
  137. - 可将道具扔在玩家位置
  138. | 道具 | 对学生增益 | 学生得分条件 | 对搞蛋鬼增益 | 搞蛋鬼得分条件 |
  139. | :-------- | :-------------------------------------- | :-----------------| :-------------------------------------- |:-----------------|
  140. | Key3 | 能开启3教的门 |不得分| 能开启3教的门 |不得分|
  141. | Key5 | 能开启5教的门 |不得分| 能开启5教的门 |不得分|
  142. | Key6 | 能开启6教的门 |不得分| 能开启6教的门 |不得分|
  143. | AddSpeed | 2倍速,持续10s | 得分10| 2倍速,持续10s |得分10|
  144. | AddLifeOrClairaudience |若在10s内Hp归零,该增益消失以使Hp保留100|在10s内Hp归零,得分100 |10秒内得知全场玩家信息|得分10 |
  145. | AddHpOrAp |回血750000 | 回血成功,得分10 | 10秒内下一次攻击增伤1800000|不得分 |
  146. | ShieldOrSpear | 10秒内能抵挡一次伤害 | 10秒内成功抵挡一次伤害,得分50 |10秒内下一次攻击能破盾,如果对方无盾,则增伤900000| 10秒内破盾,得分50 |
  147. | RecoveryFromDizziness | 使用瞬间从眩晕状态中恢复 | 成功从眩晕状态中恢复,得分30|使用瞬间从眩晕状态中恢复 | 成功从眩晕状态中恢复,得分30|
  148. ## 得分
  149. ### 捣蛋鬼
  150. - 对学生造成伤害时,得伤害*100/基本伤害(1500000)分。
  151. - 对作业造成破坏时,每破坏n%的作业,得n分
  152. - 使学生沉迷时,得50分。
  153. - 使学生眩晕时,得20*眩晕时长(/s)分。
  154. - 每淘汰一个学生,得1000分
  155. ### 学生
  156. - 学生每完成n%的作业,得2n分
  157. - 学生与捣蛋鬼处于小于5000的距离认为在牵制状态,得(牵制时长(ms)*0.00246)分
  158. - 使捣蛋鬼进入眩晕状态时,得20*眩晕时长(/s)分。
  159. - 成功唤醒一名同学,得100分
  160. - 成功勉励一名同学,得50*勉励程度/基本勉励程度(1500000)分
  161. - 毕业,得1000分
  162. ## 职业与技能
  163. ### 捣蛋鬼
  164. | 捣蛋鬼职业 | Assassin | Klee | 喧哗者ANoisyPerson | Idol |
  165. | :------------ | :--------------------- | :--------------------- | :--------------------- | :--------------------- |
  166. | 移动速度/s | 3960 | 3600 | 3852 | 3600 |
  167. | 隐蔽度 | 1.5 | 1 | 0.8 | 0.75|
  168. | 警戒范围 | 22,100 | 17000 | 15300 | 17000
  169. | 视野范围 | 15600 | 13000 | 13000 | 14300|
  170. | 开锁门速度/ms | 4000 | 4000 | 4000 |4000 |
  171. | 翻窗速度/s | 2540 | 2540 | 2794 | 2540|
  172. | 翻箱速度/ms | 1000 | 1100 | 1000 |1000|
  173. #### Assassin
  174. - 普通攻击为 CommonAttackOfGhost
  175. - 主动技能
  176. 0. 隐身 BecomeInvisible
  177. - CD:40s 持续时间:10s
  178. - 在持续时间内玩家隐身
  179. - 使用瞬间得分15
  180. 1. 使用飞刀
  181. - CD:30s 持续时间:1s
  182. - 在持续时间内,攻击类型变为飞刀
  183. - 不直接得分
  184. #### Klee
  185. - 普通攻击为 CommonAttackOfGhost
  186. - 主动技能
  187. 0. 蹦蹦炸弹 JumpyBomb
  188. - CD:15s 持续时间:3s
  189. - 在持续时间内,攻击类型变为蹦蹦炸弹
  190. - 当蹦蹦炸弹因为碰撞而爆炸,向子弹方向上加上90°,270° 发出2个小炸弹
  191. - 2个小炸弹运动停止前会因为碰撞爆炸,停止运动后学生碰撞会造成眩晕3.07s
  192. - 不直接得分,通过眩晕等获得对应得分
  193. #### 喧哗者ANoisyPerson
  194. - 普通攻击为 CommonAttackOfGhost
  195. - 主动技能
  196. 0. 嚎叫 Howl
  197. - CD:25s
  198. - 使用瞬间,在视野半径范围内(不是可视区域)的学生被眩晕5500ms,自己进入800ms的后摇
  199. - 通过眩晕获得对应得分
  200. - 特性
  201. - 在场所有学生Bgm系统被设为无用的值
  202. #### Idol
  203. - 普通攻击为 CommonAttackOfGhost
  204. - 主动技能
  205. 0. ShowTime
  206. - CD: 80s 持续时间:10s
  207. - 持续时间内
  208. - 使警戒范围外的学生眩晕并每200ms发送向自己移动200ms的指令(速度为学生本应速度*二者距离/警戒范围)
  209. - 对于视野范围(不是可视区域)内的学生每200ms加600的沉迷度
  210. - 捣蛋鬼变为0.8倍速
  211. ### 学生(&老师)
  212. | 学生职业 | 教师Teacher | 健身狂Athlete | 学霸StraightAStudent | 开心果Sunshine |
  213. | :------------ | :--------------------- | :--------------------- | :--------------------- | :--------------------- |
  214. | 移动速度/s | 2700 | 3150 | 2880 | 3000 |
  215. | 最大毅力值 | 30000000 | 3000000 | 3300000 | 3200000 |
  216. | 最大沉迷度 | 600000 | 54,000 | 78,000 | 66,000 |
  217. | 学习一科速度 | 0 | 73 | 135 | 123 |
  218. | 勉励速度/ms | 80 | 90 | 100 | 120 |
  219. | 隐蔽度 | 0.5 | 0.9 | 0.9 | 0.8 |
  220. | 警戒范围 | 7500 | 15000 | 13,500 | 15000 |
  221. | 视野范围 | 9,000 | 11000 | 9,000 | 10000 |
  222. | 开锁门速度/ms | 4000 | 4000 | 4000 | 2800 |
  223. | 翻窗速度/ms | 1270 | 3048 | 2116 | 2540 |
  224. | 翻箱速度/ms | 1000 | 1000 | 1000 | 900 |
  225. #### 运动员
  226. - 主动技能
  227. 0. 冲撞 CanBeginToCharge
  228. - CD:60s 持续时间:3s
  229. - 在持续时间内,速度变为三倍,期间撞到捣蛋鬼,会导致捣蛋鬼眩晕7.22s,学生眩晕2.09s
  230. - 通过眩晕获得对应得分
  231. #### 教师
  232. - 主动技能
  233. 0. 惩罚 Punish
  234. - CD:30s
  235. - 使用瞬间,在可视范围内的翻窗、开锁门、攻击前后摇的捣蛋鬼会被眩晕(3070+300*已受伤害/基本伤害(1500000))ms,
  236. - 通过眩晕获得对应得分
  237. - 特性
  238. - 无法获得牵制得分
  239. - 无法毕业
  240. #### 学霸
  241. - 特性
  242. - 冥想
  243. - 当处于可接受指令状态且不在学习时,会积累“冥想进度”,速度为40/ms
  244. - 受到攻击(并非伤害)、进入学习状态或进入不可接受指令状态(包括翻窗)冥想进度清零
  245. - 主动技能5
  246. 0. 写答案 WriteAnswers
  247. - CD:30s
  248. - 使用瞬间,对于可交互范围内的一间教室的作业增加冥想进度,冥想进度清零
  249. - 通过学习获得对应得分
  250. #### 开心果
  251. - 主动技能
  252. 0. 唤醒 Rouse
  253. - CD:120s
  254. - 使用瞬间,唤醒可视范围内一个沉迷中的人
  255. - 通过唤醒获得对应得分
  256. 1. 勉励 Encourage
  257. - CD:120s
  258. - 使用瞬间,为可视范围内随机一个毅力不足的人试图补充750000的毅力值
  259. - 获得勉励750000的毅力值对应得分
  260. 2. 鼓舞 Inspire
  261. - CD:120s
  262. - 使用瞬间,可视范围内学生(包括自己)获得持续6秒的1.6倍速Buff
  263. - 每鼓舞一个学生得分10
  264. ## 细则
  265. ### 特殊说明
  266. - 不加说明,这里“学生”往往包括职业“教师”
  267. ### 移动
  268. - 不鼓励选手面向地图编程,因为移动过程中你可以受到多种干扰使得移动结果不符合你的预期;因此建议小步移动,边移动边考虑之后的行为。
  269. ### 人物
  270. - 眩晕状态中的玩家不能再次被眩晕
  271. ### 初始状态
  272. - 初赛玩家出生点固定且一定为空地
  273. ### 道具
  274. - 使用钥匙相当于销毁
  275. ### 交互
  276. - 被唤醒或被勉励不属于交互状态,翻窗属于交互状态
  277. ### 学习与毕业
  278. - 一个校门同时最多可以由一人开启
  279. - 校门对于人有碰撞体积
  280. - 隐藏校门显现后对于人有碰撞体积
  281. ### 攻击
  282. - 无论近战远程均产生bullet表示攻击
  283. - 前摇期间攻击被打断时,子弹消失。
  284. - 每次学生受到攻击后会损失对应子弹的攻击力的学习毅力
  285. - 此处,前摇指 从播放攻击动作开始 攻击者不能交互 的时间
  286. ### 沉迷与唤醒
  287. - 不能两人同时唤醒一个人
  288. - 在被救时沉迷度不增加
  289. ### 门
  290. - 每个教学区都有2把钥匙
  291. - 一扇门只允许同时一个人开锁门
  292. - 开锁门未完成前,门状态表现为原来的状态
  293. - 开锁门进度中断后清空
  294. ### 窗
  295. - 翻越窗户是一种交互行为,翻窗一共有两个过程
  296. - 跳上窗:从当前位置到窗边缘中点,位置瞬移,时间=距离/爬窗速度。中断时,停留在原位置
  297. - 爬窗:从窗一侧边缘中点到另一侧格子中心,位置渐移,时间=距离/爬窗速度。中断时,停留在另一侧格子中心
  298. - 攻击可以穿过窗,道具可以在窗上
  299. - 有人正在翻越窗户时,其他玩家均不可以翻越该窗户。
  300. - 通常情况下捣蛋鬼翻越窗户的速度高于学生。
  301. ### 箱子
  302. - 地图上有8个箱子
  303. - 同一时刻只允许一人进行开启
  304. - 未开启完成的箱子在下一次需要重新开始开启。
  305. - 箱子开启后其中道具才可以被观测和拿取
  306. - 箱子道具不刷新
  307. ### 得分
  308. - 眩晕或毅力值归零时无牵制得分
  309. ### 信息相关
  310. - Bgm在没有符合条件的情况下,值为0。
  311. ### 技能
  312. - CD冷却计时是在开始使用技能的瞬间开始的
  313. - Klee的小炸弹有碰撞体积
  314. ### 职业
  315. - 学生职业可以重复选择