点击上方“Java基基”,选择“设为星标”
做积极的人,而不是积极废人!
每天 14:00 更新文章,每天掉亿点点头发...
源码精品专栏
PacVim:一个学习vim命令的游戏
前言
我们都知道Vim是Linux下一种文本编辑器,可以用来看代码、改代码。但是Vim是无图形界面的编辑器,一切操作全靠指令,指令繁多且复杂,对于新手而言,学习起来很费劲。
偶然的机会,发现一款有趣的命令行游戏PacVim,通过这款游戏可以提高Vim操作技能。出于好奇,下载并安装了这款游戏,亲身体验了几次,还是挺有意思的。
PacVim介绍
PacVim这款游戏其实是受PacMan(中文名:吃豆人)游戏启发而开发出来的。二者很相似,游戏任务都是躲避怪物,吃完豆豆。所不同的是,PacVim全程使用vim指令来操作,游戏的目的也是通过这种方式来提高Vim水平。
![e56be2f3e0c8bbb94db26372c6ea4327.png](https://img-blog.csdnimg.cn/img_convert/e56be2f3e0c8bbb94db26372c6ea4327.png)
PacVim安装
安装Ncurses库
在centos7下安装如下:
yum install ncurses-devel
升级GCC版本
注意: linux下要请注意,编译PacVim需要gcc 8.x或更高版本,如果版本太低,可能无法正确编译和安装。我用Centos 7 编译安装(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16))。
以下是升级GCC版本步骤:
安装scl源
yum install centos-release-scl scl-utils-build
列出scl可用源
yum list all --enablerepo='centos-sclo-rh'
yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"
安装8版本的gcc、gcc-c++、gdb工具链(toolchian)
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
gcc --version
安装PacVim游戏
这款游戏源码托管在GitHub上,只需下载后编译安装即可。
git clone https://github.com/jmoon018/PacVim.git
cd PacVim
sudo make
sudo make install
启动游戏
安装成功后,执行如下命令启动游戏
pacvim [LEVEL_NUMER] [MODE]
其中:
LEVEL_NUMER:**表示关卡号
MODE:**表示难度,n - 一般模式, h - 困难模式
游戏总共10关,0~9数字表示。例如,选择第5关一般模式,可以这样启动游戏:
pacvim 5 n
![22aadcbb96f434bd8b662eb6043eae6f.png](https://img-blog.csdnimg.cn/img_convert/22aadcbb96f434bd8b662eb6043eae6f.png)
游戏规则
PacVim 的使用与 PacMan 非常相似。
你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。
PacVim有两个特殊的障碍:
「你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。」
「如果你踩到波浪字符(青色的
~
),你就输了!」
你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。
「获胜条件」
使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。
「失败条件」
如果你碰到鬼魂(用「红色 G」 表示)或者「波浪字符」 ,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。
这是实现的命令列表:
![c8713a9e12cf0092ed80d052f2f9fde2.png](https://img-blog.csdnimg.cn/img_convert/c8713a9e12cf0092ed80d052f2f9fde2.png)
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。
提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)