我在SublimeText里面跑了个2048

上周一,出于无聊,也出于对自己的一种挑战,我写了个在SublimeText编辑器里面运行的2048游戏,我把它命名为Sublime2048。陆续完善之后,Sublime2048现包含441行Python代码(两个文件),和4个Sublime的配置文件(sublime-commands, sublime-keymap, sublime-settingssublime-syntax)。

游戏界面截图

在Sublime里面,你可以同时开几个游戏任务,它可以保存游戏记录,记录最高分。游戏面板是用制表符组成的,除了没有动画特效和运行在编辑器里面,它和你用GUI写的2048游戏没什么区别。

并不是说写这个小游戏有多难,而是说这个小游戏不好做,为什么?因为Sublime是个编辑器,它的界面是为了编辑代码而生,有着很多限制。

为了给游戏面板上色,我一开始写了一个sublime-syntax和一个sublime-color-scheme,后面考虑到用户有自由切换Sublime Color Scheme的权利,于是把以前的sublime-color-scheme文件从项目中移除,换成自动根据设置中配置的颜色来生成sublime-color-scheme文件。无心之得,现在不仅Sublime2048可以自动适应用户的Color Scheme,用户还可以自定义游戏面板的配色。

另外一个需要注意的是按键绑定,由于方向键已经有了默认的绑定,因此,为了使用方向键,需要写一个事件监听器类来识别上下文。

Sublime2048的源码在这儿Sublime2048,它跟其他的Sublime插件没有什么区别。
另外,wx2048时我之前学wxWidgets,用它写的2048小游戏,有兴趣的朋友可以参考一下,可以作学习之用。

你可能感兴趣的:(我在SublimeText里面跑了个2048)