不知道你学编程的时候有没有过这些感受:
我想玩游戏,但又觉得不学习不好意思。
背了很多语法,很快就忘了。
我能看懂视频和书,但一动手就不知所措。
我坚持了很久,但还是学得很好,自己的项目总是很难完成。
别人看起来写的是高级代码,自己写的时候其实很无聊。
学的越多,编程越难,好几次都想放弃。
想找一些项目练手,不知道什么项目合适?
.
我见过很多学编程的人,最后还是半途而废,但是有的人玩游戏却学到了东西。
我一个学编程的朋友,天天在家打游戏,成绩却出奇的好。他也是,但他一路走来,技术还不错。最让人大开眼界的一点是,他学习编程的方式和别人不一样。他边玩游戏边学编程。按照他的说法,这种学习方式的优势在于实战的趣味性和挑战性。这些年他一直保持着这种玩游戏学习编程的方式。他既能学习过去,又能锻炼写代码的实践能力,兴趣盎然。
现在他是公司技术部门的负责人,所以前几天我特意向他请教了这个学习方法,然后整理成一篇文章,分享给10个边玩游戏边编程的网站。当你有了基础,也可以结合这个方法来提升自己。
I CodinGame |游戏化编程教学平台
CodinGame虽然和游戏有关,但不是游戏开发,只是简单的游戏模式。每一个练习背后的逻辑都是和一个实际的游戏连接在一起的,这样你可以得到实时的视觉反馈,完成练习后你也可以得到实际的奖励。这个平台的目标用户是有一定编程基础的人,当然也为高级程序员提供相应级别的进阶练习。
代码大战僵尸的游戏
每次练习,可以从20多种编程语言中选择自己喜欢的语言,比如Python、Ruby、Java、Scala等。该公司的目标用户是那些已经知道一些编程基础的人,但他们也为高级程序员提供了匹配的挑战。
特别是,多人游戏模式最近在程序员中流行起来。在多人游戏模式下,可以学习人工智能的基础知识,和别人比赛看谁的代码效率更高。
img_height="340" inline="0" alt="想学编程,有人苦苦坚持却半途而废,有人玩着游戏却学有所成?" onerror="javascript:errorimg.call(this);"> CodinGame游戏之CODERS STRIKE BACK
CoinGame支持23种不同的编程语言,其中的每一个游戏练习都可以选择自己熟悉的语言。在CodinGame平台,每一个练习都是基于浏览器的,会提供一个网络集成开发环境,让你不刷新网页就可以实时编译代码,并实时看到游戏的变化。目前,CodinGame已经吸引到了23万用户注册。
二、CodeCombat | 由易到难的游戏,由浅入深的学习
CodeCombat 是一个免费的代码学习游戏网站 (一个公益开源的项目),目前已经支持 Python、Javascript、CoffeeScript、Clojure、Lua、Io 等编程语言的学习,并且网站界面也已被翻译了包括简繁体中文在内的几十种语言。
游戏的每一关设计的都很巧妙,初期是一些基础知识的学习,让你对函数结构有个初步的认识,后面的关卡越来越难,判断、循环语句也会逐渐加入,需要自己更多的创造性,通过语法、接口编写出复杂的函数才能过关,玩家在不知不觉也就具备了编程的思维。根据 XIao 的试玩后表示:“连英文苦手代码小白的我也能愉快地玩耍一晚上”,因此,估计大家即便无基础也都可以轻松上手的。
当然,由于 CodeCombat 是开源的,如果你本身已是开发高手,那么除了挑战一些高难度的多人游戏关卡之外,也可以完全参与到项目本身的开发中去,譬如代码编写、关卡设计、Bug测试、文字翻译等等,给 CodeCombat 这个公益项目做贡献。
三、Check iO | Python学习者推荐
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,尤其是Python学习者尤为推荐。
有网友说:“语法看了一大堆,教程也学了一大堆,就想着做项目,但是发现根本动不了手,反复总结自己发现虽然看懂了语法,记住了方法,但是自己脑子里还是没有编程思维,也对敲代码不熟悉......但在Check io 上学了一段时间之后受益匪浅,不仅自己动手解决了问题,而且还能学习到别人的编程思维,尤其是同样的问题,自己写了很长的代码,而大神却只用了几行就解决了。”
四、Codewars | 编程打怪升级平台
CodeWars 是一个通过编程挑战平台,提供了:C、C++、C#、Java、JavaScript、PHP、Clojure、CoffeeScript、Elixir、Haskell、Python、Ruby、TypeScript等编程语言的挑战。
相比于其他平台,Codewars 给出的问题更加贴合实际工作与生活,很多题都会给出题目背景,更有代入感。一些 kyu(Codewars中用来标记题目难度的指标) 较小的题目,还是有一些挑战的,很多题目可能要写一两天提交十多次才能过,不过写三四百行然后 AC 的感觉真的很棒。很多题目来自游戏,经常打游戏碰到这些题目会会心一笑。
五、SCREEPS|面向程序员的MMO沙盒游戏
Screeps 是一款面向编程爱好者的 MMO(大型多人在线)RTS(即时战略)游戏,其中的核心机制是对你的单位AI 进行编程。该游戏拥有一个成熟的策略游戏的所有属性,在其中你通过编写 Java 代码来控制你的殖民地,与其他玩家一起在一个持久的世界中全天运行。
你的殖民地可以收获资源,建立单位,征服领土,与其他殖民地进行贸易。当你征服了更多的领土,你在游戏世界中的影响力就会增加,你的能力也会随之扩大。但是要注意,多个玩家瞄准同一个区域可能会导致冲突!
Screeps看起来还是很有意思的,但是依然美中不足。Screeps虽然是开源的,可以随便下载,但是游戏的服务端却是收费的,所以只能玩免费的部分,仅限于初始教程及训练场(沙盒模式),并且游戏内容无法保存,如果你想游玩游戏内容的话,那你只能去购买本体。
所以要不要入坑,你可以试玩一下免费部分之后再决定。
六、Vim-Adventures
Vim作为一款神级编辑器,却有非常陡峭的学习曲线。网上大部分的教程很多仍然以背指令为基础,很容易让人望而却步。理解Vim的指令并不难,难点在于掌握Vim需要大量的重复练习。初学Vim的人很难有大量使用Vim操作的环境,或没有安全的可以进行编辑的文本,或无法忍受初学Vim时相对下降的编辑效率,从而很快就放弃了Vim。
Vim-Adventures是一款基于Vim操作的网页版游戏,通过一些游戏行为能潜移默化地熟练Vim的基本操作,最终形成肌肉记忆。同时Vim-Adventure给予了玩家一个安全的、可大量重复练习的环境,从而在短时间内获得使用Vim的快感,最终能够体会到Vim的强大。
Vim-Adventures的难度梯度还是比较平缓的,前几关都能够很简单的完成。但是随着游戏的进行,挑战难度会逐渐增大。
七、Playcodemonkey | 在线少儿编程
CodeMonkey是一个在线的教导孩子任何编程的游戏类产品,针对的是9岁以上的儿童教育。
在游戏中,有一只想要吃到香蕉的小猴子,孩子通过编写代码,帮助虚拟中的猴子小伙伴获得它心爱的香蕉。刚开始,游戏会为孩子提供简单的编程语言,例如“step 15”,引导孩子操作猴子前进或者后退15步吃到香蕉。而之后关卡难度会越来越大,例如一次性获得多个香蕉,转弯操作,与乌龟小朋友一起合作跨过湍流的小溪,打败老鼠争夺香蕉。不同难度的关卡,对应编程学习中不同的难点,例如逻辑循环等等。
如果你有瓜娃子且想让他学学编程的话,可以试试这个。
八、Elevator saga
Elevator Saga是一个益智游戏,用Java来控制建筑里的电梯。很多人一直地上上下下,你需要尽可能快地让他们到达他们的目的地。这个游戏测试你的算法书写能力,同时也测试JS的函数,数组和事件处理。
九、Git-game
现在讲解 Git 的文章很多,有 Git 的基本用法、设计原理、流程管理等诸多教程。在学过了这些知识之后,有没有兴趣,通过一个专门设计的 Git 命令行的游戏,来看看你对 Git 的理解和运用到了什么程度呢?
那么Git-game就是一个很不错的游戏,里面关卡很多,通过Git命令找到线索、解开谜题,能走到哪就看你的本事了。
十、Hacker | 测试你的黑客能力
hacker.org 挑战赛是一系列的拼图、敲砖块、测试和智力题,用来测试你的黑客能力。要通过这一系列的考验,你需要破解加密、写出精巧的代码,揭开重重迷雾。
听说有某些道友在上面连续4天废寝忘食,就为了用Python解救出一个傻傻的机器人......
不说了,我也要去玩学习(游戏)了。
由于篇幅限制,就不一一展示了,有需要文中编程游戏网址和编程资料的小伙伴 可私信@不秃头的小鹿回复“666”即可领取噢~