1. 关于 Go 代码执行方法#
由于需要科学上网才能使用 Go Playground, 所以就研究了通过反射来执行对应关卡代码的方法。
需要注意将关卡的解决方法定义成 Challenge 结构的方法,形式如下:
func (c *Challenge) Challengexxx() {
// body
}xxx 为关卡的三位数字形式,不足左边补 0。如:001、002。
因为依赖第三方包,所以在构建前请运行以下命令:
# 初始化模块,module_name 通常写为你项目的导入路径,例如:github.com/yourname/project
src/Code/Go> go mod init codehub.cn.eu.org/amos18284/strategy
# 获取 xmlrpc 包
src/Code/Go> go get github.com/kolo/xmlrpc
# 如果上一步因为网络环境拉取失败,可通过以下命令切换到国内的代理镜像
# 国内代理配置开始
> go env -w GOPROXY=https://goproxy.cn,direct
> go env -w GOSUMDB=sum.golang.google.cn
# 清除所有模块的本地缓存,可以解决因之前下载失败产生的缓存问题
> go clean -modcache
# 国内代理配置结束
# 编译 Code/Go 目录下的源文件,并在该目录生成 Challenge.exe 。对源文件更改后需要执行这条命令。
src/Code/Go> go build -o Challenge.exe
# 通过命令行参数指定要执行关卡的代码。 -l 代表 level,后面是关卡数字。
src/Code/Go> Challenge.exe -l 02. 关于 PowerShell 代码执行方法#
# 安装 PSXmlRpcClient
PS> Install-Module -Name PSXmlRpcClient
# 执行第 0 关的代码
src/Code/PowerShell> .\Challenge000.ps1如果出现“无法加载文件 xxx,因为在此系统上禁止运行脚本。”
则需要以管理员权限运行命令行,执行 Set-ExecutionPolicy RemoteSigned ,并在提示后输入 Y 确认。
3. 关于 Python 代码执行方法#
# 创建虚拟环境
src/Code/Python> py -m venv .venv
# 激活虚拟环境
src/Code/Python> .\.venv\Scripts\Activate.ps1 4. 查看官方的攻略#
将当前关卡地址的 pc 替换为 pcc,就会得到上一关的攻略地址。或者访问 Wiki主页
如果引用图片侵权,请联系我