谁说学编程很枯燥?我在极空间上部署CodeCombat,边打游戏边学

前言

“编程好难……” “代码全是英文,看得我头大……” “学了三天就放弃了,太枯燥了!”

你是不是也这样想过?其实,编程可以像打游戏一样上瘾!

最近,我把 CodeCombat 这款“编程闯关游戏”部署在了家里的 极空间 NAS 上,结果——孩子抢着学 Python,我自己也玩到停不下来!

在这里,你不是在背语法,而是:

  • 扮演一名魔法师,用代码施法攻击敌人
  • 写 moveRight() 让角色前进,用 attack() 击败小怪
  • 每一关都是一道编程题,越玩逻辑越清晰

更棒的是,部署一次,全家可用!通过局域网就能访问,数据存在本地,不联网也能学。

谁说学习不能很快乐?当代码变成技能,Bug 变成彩蛋,你会发现:原来编程,也可以是一场冒险。

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

image-20251031151815180

1.在极空间中部署CodeCombat

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

6b4ab42143fa99261f619dbe946fe397

1d82a2d1eaa006de8a6669c5e5235e82

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

a06ffc07007e26c54e0bbd96e6065dcf

也可以使用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

981a8bded45b67333104d438de7c042c

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

5411d751fc75349c6fda3ac42a8eeec2

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

c6f08dc2430e95655cc3da577617f1b2

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

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

1447d2942a2c257adc574b76f38025f1

确保ssh开启:

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

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

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

957c00e3b3f0ce8aa95df96aa41b8715

先输入sudo命令获取权限

sudo -i

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

docker exec -it ope-codecombat /bin/bash

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

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

a3378e70eeb638285d1afdee4ef91df7

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

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

577965814f63277476864096f334deb5

开启web服务,输入命令:

cd /home/coco
sh start.sh

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

fecff5e1ad1ef67b76843c20e2bc7022

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

a5872c3ad9b83e1333b2333196332c1c

2.简单使用CodeCombat

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

349d561b800266c6ec447364abe1cea8

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

3ecec6a514928391a9c9392fb19751c7

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

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

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

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

cdf506bef29c3c220fdfa1dc76c0dd64

8a300c5bf6dd581e20cd08504dae8a00

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

399926ed8ae942e3f3e380a896a8d0a6

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

21fd2d128b9162fa44b36a011229e03d

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

b40c071e7149d5370994bdb634e2bbf9

输入完整代码闯关成功:

4cd2b418cb9d71f393d483f162391076

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

a92e2779357a92479f139c6a221026ca

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

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

但问题来了:

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

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

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

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

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

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

e464b045413a024674a93ea472511b0f

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

sudo systemctl status cpolar

aa03713b56d9eef12a4da6b99d2e46ac

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

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

3af79ad708cc47c5bbea0b63c2c7230d

4.配置公网地址

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

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

image-20251031162215978

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

image-20251031162231075

访问成功:

image-20251031164042282

5.保留固定公网地址

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

image-20250918151358733

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

image-20251031164420500

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

image-20251031164542475

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

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

点击更新

image-20251031164450609

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

image-20251031164611247

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

总结

谁说学编程很枯燥?当你用代码“施法”,用逻辑“闯关”,你会发现:编程,也可以很快乐。

孩子不再沉迷手游,而是主动写代码打怪升级;我自己也从“编程小白”变成了能看懂函数的“魔法师”!

更棒的是,通过 cpolar 内网穿透,我还能在外网安全访问这个私有游戏,出差、旅行、奶奶家……随时随地继续闯关!

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章