Skip to content

谜题编辑器简单使用指引

本章介绍如何使用 CCXC Engine 的谜题编辑器。

在开始之前

请确保你已经:

  • 系统部署完成或开发环境搭建完毕
  • 设置好了一个管理员账号,已成为内测用户,并进入了管理面板
  • 在题目分区里添加好了分区

打开谜题编辑器

在 【出题】 -> 【题目管理】 里点击“新建题目”按钮,或是点击某一已有题目右侧的“编辑”按钮时,就会显示谜题编辑器。

谜题编辑器(新建状态)

谜题要素

标题

CCXC Engine 要求谜题必须有标题。标题不仅作为展示给选手,同时也是便于内部识别之用。

如果不需要有标题,建议修改谜题前端,取消标题的展示。

所属分区

每题都归属于一个分区。

在 CCXC Engine 中,我们使用“分区”作为题目的解锁分组。每个分区中的解锁进度都是独立的,并由一个“分区Meta”判定是否完成这个分区。

对于那些无法归属某个分区的题目,可以建立一个“隐藏分区”。

内容类型

有以下四个选项:

在选择不同的选项时,编辑器也会展示不同的内容输入框。

题目形式适合何种题目
图片题目只包含一张图,或者什么都没有
HTML题目内容是静态富文本
VUE SFC题目内容存在交互,但是不需要引入第三方模块
上传题目模块题目内容存在交互,并且需要引入第三方模块

题目类型

有以下五个选项:

  • 小题
  • 分区 Meta
  • Meta Meta
  • Final Meta
  • 不计分题目

需要为每个题目选择题目类型。

如果有彩蛋类题目,需要选择“不计分题目”(除非你不介意它也出现在排行榜上)

题目备注

在管理后台面板中显示的备注。答题者看不到,可以随意写。

附加信息

有时,题目可能需要一些额外信息供程序使用,来编排展示或者是以此进行逻辑处理。这些信息可以填写在这里。

例如 CCBC 13 / 14 中就利用此字段填写了小题在四面体大地图上的分布。

注意

附加信息会发送到前端,所以不能填写与答案明显相关的数据。

题目描述

一般来说这个框用来填写 Flavor text(风味文本)。

这里可以使用 Markdown 格式填写。所以一些情况下,也会将题目全部内容填写在里面。

附加内容

这部分是题目通过后显示的信息。

有些题目通过后会给答题者展示额外信息。可以使用 Markdown 格式填写在这里。在提交了正确答案后,页面会立即刷新并展示附加内容。

答案

题目一定要有答案!

可以输入任意的字符作为答案。判题时,会将用户输入的答案和这里的答案进行匹配。

题目回答正确后再次请求题目,也会返回这里的答案内容。

允许尝试次数

允许进行提交答案判题的最大错误次数。如果错误次数达到允许尝试次数,将不会再接受判题请求。

默认值是 20

判题模式

可以在 标准自定义判题函数 中选择。选择 自定义判题函数 的话,会多出来一个“高级判题脚本名称”的输入框。

标准 判题函数是指:用户提交的答案会和前面输入框中的答案进行匹配,匹配时忽略大小写、空格()、减号(-)和制表符(\t)。如果匹配成功则判定回答正确。

如果以上逻辑无法满足,比如你希望出一道没有答案的题目,你需要使用“自定义判题函数”。在高级判题脚本中定义判题逻辑。

题目内容

在这一区域开始之前,有一个图片上传按钮:上传按钮外观

点击可以上传图片并获取 URL,详情在图片和资源上传中介绍。

“题目图片”可以填写一个图片的 URL。会将它作为图片展示出来。无题目内容,或是题目内容已全部写入 flavor text 的题目,通常也会选择“题目是图片”的内容类型。此时这里空着不填即可。

“题目HTML”可以填写 HTML,标准 HTML tags、style 标签和 script 标签都可以使用。

注意

<script>标签的 src 属性无效,也就是你不能通过此功能引入外部 js 文件。

(当然你可以通过 createElement 方式变相引入。)

“题目脚本”填写 VUE SFC 模块的脚本部分。需要按照指定的格式填写。详情查看:VUE题目

“题目HTML”和“题目脚本”均为 monaco 编辑器呈现。带有语法高亮和语法补全。也可以在 “高级” 菜单中启用 AI 补全来辅助开发。在编辑器右上角有一个全屏按钮,可以将编辑器界面展开至撑满整个浏览器窗口,便于大量代码的开发。

“上传题目模块”点击后会弹出文件选择对话框,选择一个 Vue 文件后上传,会在题目脚本中自动填入 Vue 模块的地址。这个 Vue 模块需要通过谜题模板开发并编译出来,详情查看:上传题目模块

解析

可以使用 Markdown 格式填写题目解析。在 【高级】 -> 【系统设置】 中打开“显示题目解析”,即可在谜题前端显示“解析”按钮以查看解析。通常在赛后使用。

题目显示结构

Released under the MIT License. Powered by VitePress.