!!! note 如果您是使用者,请注意:调用本手册以外函数、修改源代码或关卡数据、在提交函数中包含错误的函数等行为均应视作作弊,但不被强制保证。
使用 st = init() 创建一个游戏句柄,其中 init 接收一个参数,为 false 时不会导入 Standard.llp。
在结束时,需注意调用 quit(st) 注销句柄。
使用 menu,你可以阅读已导入的关卡列表(包括整数 id 与 名称),可以通过 level 导入指定的关卡。可以进行手动尝试,但是正式提交需要调用 submit(st),第二个参数接受一个函数,这个函数接受唯一参数是 st::Status。在此模式下,你可以调用:(以下函数第一个参数均为 st::Status)
north!west!east!south!look(st::Status, x::Int, y::Int)在「四相邻格」或本格时进行「观察」send(st::Status, method::Symbol, x::Int, y::Int, args...)在「四相邻格」或本格时「发送数据」
使用 sand = sandbox(st),你可以创建一个沙盒。
在此模式下,可以调用 tp(sand, x, y),sand[x, y],sand[x, y]=v
LightLearn 提供了两个导入函数:
load_package(st::Status, s::AbstractString)导入已安装的包,使用其名称load_dir(st::Status, s::AbstractString)从本地指定目录导入
LightLearn 提供了三个安装函数:
install_localzip(fpath::AbstractString; remove::Bool=false)从本地指定路径安装 zipinstall_webzip(url::AbstractString)从网络指定 url 安装 zipinstall_githubrepo(owner::AbstractString, repo::AbstractString, version::AbstractString="latest")从指定 github 仓库安装指定发布
同时,可以使用 uninstall(name::AbstractString) 去除安装
- 可以使用
vis(st::Status, b::Bool)设置窗口可见性
目录下应包含以下文件
Project.toml
name当前关卡包名uuid一个UUIDversion当前版本description介绍[compat]其中"LightLearn"项表示接受的版本
src/包名.jl
- 返回值应为
NamedTuple
若要支持 install_githubrepo 方法,应在对应的 github 仓库发布 release,标注恰当的 tag(带v),在信息中必须含有字段COMPAT="版本",与 toml["compat"]["LightLearn"] 统一