当前位置: 首页 > news >正文

告别枯燥刷题!CodeCombat 用游戏解锁编程,内网穿透让学习无边界✨

CodeCombat 核心功能是将编程学习与游戏闯关深度结合,支持 Python、JavaScript 等主流编程语言,用户通过编写代码指令操控游戏角色完成解谜、对战等任务,能直观掌握编程逻辑与语法规则。这款软件适配各类人群,尤其适合青少年编程入门,也能满足成人利用碎片化时间巩固编程基础的需求,其本地化部署的特性还能保障数据隐私,避免外部网络环境带来的内容风险。

使用 CodeCombat 的过程中,能明显感受到游戏化设计对学习积极性的提升,但也需注意把控使用时长,避免过度沉迷游戏环节而忽略编程知识点的消化;同时本地化部署虽安全,却需要提前做好数据备份,防止设备故障导致学习进度丢失。

不过仅在局域网内使用该软件存在明显局限:比如孩子在亲戚家想继续闯关却无法访问家里的部署服务,成人出差途中想利用碎片时间练习关卡也只能作罢,空间限制大幅降低了学习的连贯性和灵活性。

而将 CodeCombat 与 cpolar 内网穿透结合后,这些问题能迎刃而解。cpolar 可突破局域网限制,让用户在任何有网络的地方访问本地部署的 CodeCombat,无论是通勤路上用手机练题,还是异地办公时复习知识点,都能无缝衔接,极大提升了编程学习的便捷性和效率。

边打游戏边进步,多好的好事儿,好事儿当然要分享呦!教程在下面快去天天向上吧!

接下来,手把手教你如何在极空间上一键部署 CodeCombat,开启边玩边学的编程之旅!

1.在极空间中部署CodeCombat

在极空间中打开docker,在镜像仓库中搜索ope-codecombat,下载同名镜像:

打开“个人空间”,进入docker文件,新建“codecombat”文件夹,然后在“codecombat”文件夹下再创建mongo,data两个子文件夹:

也可以使用docker命令一键部署:

docker run -itd --restart=always \ -p 32700:3000 \ -v /root/codecombat/data:/home/coco/codecombat/data \ -v /root/codecombat/mongo:/home/coco/codecombat/mongo \ --name codecombat \ operepo/ope-codecombat

回到docker中下好的本地镜像,运行ope-codecombat这个镜像,储存位置填写新建的data和mong文件夹的原始路径:

可以修改端口为未使用过的,点击应用:

进入下载链接:https://pan.xunlei.com/s/VMYzHliP-dHLCamAwX_LypPjA1 提取码:yfz8

下载CodeCombat资料dump.tar.gz,下载后的文件复制到之前创建的data文件夹中:

确保ssh开启:

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP

没有ssh的小伙伴可以参考这篇文章:

连接成功:极空间别再吃灰了!开启SSH,秒变全能服务器! - cpolar 极点云官网

先输入sudo命令获取权限

sudo -i

完成后再输入命令进入容器

docker exec -it ope-codecombat /bin/bash

解压刚刚复制进去的压缩文件,输入命令:

cd /home/coco/codecombat/data/ tar -zxvf dump.tar.gz

显示成功后,开启数据库服务,输入命令

cd /home/coco/codecombat ./bin/coco-mongodb

开启web服务,输入命令:

cd /home/coco sh start.sh

完毕后如不需要解锁所有关卡,则可以关闭窗口,如要解锁关卡则先不关闭窗口,后面还需要输入命令:

部署完成后,在浏览器中输入http://极空间IP:32770就能看到CodeCombat的界面:

2.简单使用CodeCombat

进入网页后就可以注册信息啦:

注册后,点击尝试玩游戏吧!

当前只解锁了5关,如果全部解锁,进入powershell窗口,修改数据库数据输入命令:

mongo use coco db.users.update({'name':'你游戏注册时设置的用户名'},{$set:{'earned.gems':9999999, permissions:["godmode","admin"]}},true,false);

然后可以看到所有地图均解锁了,且左下角的蓝宝石直接加到最满。

接下来,我们来开始边学边玩吧。

可以选择我们想要学习的语言:

游戏开始前,会教你输入代码来进行操作:

例如输入,往下走“hero.moveDown()”:

输入完整代码闯关成功:

随着闯关数增加,代码难度也会提升哦~

是不是学习也变得不那么枯燥了!

你已经在极空间上成功部署了 CodeCombat,全家都能在局域网内通过浏览器打开,边打怪边学 Python、JavaScript,学习变得像游戏一样上瘾!

但问题来了:

  • 孩子想在奶奶家继续闯关?
  • 你想在公司调试教学进度?
  • 外出时临时想练两关?

这时候,cpolar 就派上大用场了!通过它孩子在任何有网络的地方都能继续闯关学习,跟我一起来安装吧~

3.安装cpolar实现随时随地发文

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

cpolar官网

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

4.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:combat,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:32770
  • 域名类型:随机域名
  • 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功:

5.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是combat,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

这样我们不管在哪都可以随时学习随时玩了~

总结

CodeCombat 以趣味化方式降低了编程学习门槛,结合 cpolar 内网穿透技术,又打破了空间使用限制。日常使用中,只需简单配置就能实现随时随地学习,既兼顾了学习的趣味性,又保障了使用的灵活性,适合有编程学习需求的家庭和个人长期使用。

http://www.jsqmd.com/news/505695/

相关文章:

  • 颠覆传统性能管理:G-Helper开源工具实现华硕笔记本硬件控制与性能优化的完整方案
  • ABB PHARPS32010000电源模块详解:工业自动化稳定供电解决方案
  • 2026年北京靠谱的法律顾问推荐,信誉好的专业律师大盘点 - 工业设备
  • 基于MATLAB的三端VSC-HVDC直流输电模型:300kV输电系统,送受端电压等级与电流配置详解
  • 2026年斜切鱼片机服务商厂家排名,好用品牌盘点 - 工业品网
  • 企业级AI Agent落地:我们用Openclaw实现了哪些自动化?
  • 摸鱼神器OnTopReplic:让你的视频、聊天窗口“常驻”屏幕角落!
  • C++实战:封装onnxruntime推理类实现自定义模型部署
  • 探讨2026年斜切鱼片机优质生产商,邢台口碑好的公司有哪些 - 工业品牌热点
  • Youtu-Parsing在智能客服场景的应用:工单附件自动分类与摘要
  • AF700-a-Bungarotoxin,AF700 α-银环蛇素实验操作规范与技术考量
  • 别再写错Cron了!这些易混淆的表达式写法你中招了吗?
  • Z-Image-Turbo-辉夜巫女科幻场景概念图集:从赛博都市到外星地貌的视觉创造
  • Nanbeige 4.1-3B惊艳案例:用像素终端生成《仙剑奇侠传》风格剧情对话
  • Youtu-VL-4B-Instruct-GGUF与LaTeX结合:科研图表自动描述与论文辅助写作
  • Amazon Bedrock 模型实战选型:Nova、Claude、Llama 怎么选才不花冤枉钱
  • STM32型号太多看花眼?手把手教你用官方选型手册5分钟锁定最适合你的芯片
  • 【RISC-V Linux驱动调试禁区】:为什么你的platform_driver_probe总返回-ENODEV?内核dts绑定时序深度解密
  • 线段树:高效区间操作的利器
  • PageHelper分页插件与民航电子数据库的兼容性实战:从报错到解决的全过程
  • 终极Steam创意工坊模组下载器WorkshopDL:跨平台免费获取游戏模组的完整指南
  • 5分钟终极指南:让Android Studio秒变中文开发环境的完整教程
  • 还在靠堆砌人力维持增长?AgentOffice实现跨量级增效香吗?
  • AudioSeal快速上手:AudioSeal Web界面多语言切换(中/英/日/韩)配置方法
  • 基于最大功率跟踪MPPT算法的直流侧电压稳定控制,光伏电池充电模型及双向电路充放电技术研究
  • Spring Boot -- 学习记录Day3
  • 设计与实现】基于STC12C5A60S2的智能鱼缸控制系统:温控、LED照明、投喂与水循环
  • ChatTTS最新模型解析:从架构设计到生产环境部署指南
  • 手把手教你解决labelimg安装后无法运行的问题(附常见错误排查)
  • 逆向工程实战:XXTEA算法解密与混淆处理