学编程,有人苦苦坚持却半途而废,有人玩着游戏却学有所成?
Posted 退休的龙叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学编程,有人苦苦坚持却半途而废,有人玩着游戏却学有所成?相关的知识,希望对你有一定的参考价值。
不知道你们学编程的时候有没有过这些感受:
- 想玩游戏,但不学习又过意不去
- 背了很多语法,很快就忘得差不多了
- 看视频、书籍都看得懂,但一动手就不知所措
- 坚持了很久,但还是学得很飘,自己写项目总是很难完成
- 别人看来写代码很高级,但自己写的时候其实很枯燥
- 越学到后面,越感觉编程好难,几度想放弃
- 想找点项目来练手,又不知道什么项目适合
- ......
我见过很多学编程的人,苦苦坚持最后还是半途而废,但有人玩着游戏却学有所成。
我以前手底下有个小伙子,他也是这样的,但他还是一路走过来了,技术而且还不错,最让人大开眼界的点就是,他跟别人学编程的方式不太一样,他边玩游戏边学编程。据他所说,这种学习方式的好处就在于有趣+实战+挑战性,他这些年也一直保持着这种玩游戏学编程的方式,既能温故知新,又能锻炼写代码的实操能力,且兴趣满满。
现在的他已经是公司的技术部门负责人了,于是我前几天特意跟他请教了一下这种学习方式,然后整理成文章,共10个边玩游戏边编程的网站分享给大家,当你有了基础之后,你也可以结合这种方法去提升自己。
一、CodinGame | 游戏化编程教学平台
CodinGame虽然和游戏有关但是并不是游戏开发,只是简单的游戏模式,每一个练习背后的逻辑,都与一个实际的游戏相连,让你能够获得实时视觉反馈,你完成练习之后也能获得实际的奖励。该平台的目标用户是具备一定编程基础的人,当然同时也为资深程序员提供了相应级别的进阶练习。
CodinGame游戏之CODE VS ZOMBIES
对于每一个练习,你都可以从超过20种编程语言中选择自己喜欢的语言,例如Python、Ruby、Java、Scala等。公司的目标用户是已经知道一些编程基础的人,但也为资深程序员提供了相匹配的挑战。
尤其是,程序员之间近期开始流行多人游戏模式。在多人游戏模式下,你可以学习人工智能的基础知识,与其他人进行对决,看看到底是谁的代码效率更高。
CodinGame游戏之CODERS STRIKE BACK
CoinGame支持23种不同的编程语言,其中的每一个游戏练习都可以选择自己熟悉的语言。在CodinGame平台,每一个练习都是基于浏览器的,会提供一个网络集成开发环境,让你不刷新网页就可以实时编译代码,并实时看到游戏的变化。目前,CodinGame已经吸引到了23万用户注册。
二、CodeCombat | 由易到难的游戏,由浅入深的学习
CodeCombat 是一个免费的代码学习游戏网站 (一个公益开源的项目),目前已经支持 Python、javascript、CoffeeScript、Clojure、Lua、Io 等编程语言的学习,并且网站界面也已被翻译了包括简繁体中文在内的几十种语言。
游戏的每一关设计的都很巧妙,初期是一些基础知识的学习,让你对函数结构有个初步的认识,后面的关卡越来越难,判断、循环语句也会逐渐加入,需要自己更多的创造性,通过语法、接口编写出复杂的函数才能过关,玩家在不知不觉也就具备了编程的思维。根据 XIao 的试玩后表示:“连英文苦手代码小白的我也能愉快地玩耍一晚上”,因此,估计大家即便无基础也都可以轻松上手的。
当然,由于 CodeCombat 是开源的,如果你本身已是开发高手,那么除了挑战一些高难度的多人游戏关卡之外,也可以完全参与到项目本身的开发中去,譬如代码编写、关卡设计、Bug测试、文字翻译等等,给 CodeCombat 这个公益项目做贡献。
传送门:https://koudashijie.com/china-bridge?redirect=/
三、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 的感觉真的很棒。很多题目来自游戏,经常打游戏碰到这些题目会会心一笑。
传送门 :https://www.codewars.com/
五、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步吃到香蕉。而之后关卡难度会越来越大,例如一次性获得多个香蕉,转弯操作,与乌龟小朋友一起合作跨过湍流的小溪,打败老鼠争夺香蕉。不同难度的关卡,对应编程学习中不同的难点,例如逻辑循环等等。
如果你有瓜娃子且想让他学学编程的话,可以试试这个。
传送门:https://app.playcodemonkey.cn/
八、Elevator saga
Elevator Saga是一个益智游戏,用Java来控制建筑里的电梯。很多人一直的上上下下,你需要尽可能快的让他们到达他们的目的地。这个游戏测试你的算法书写能力,同时也测试JS的函数,数组和事件处理。
传送门:http://play.elevatorsaga.com/
九、Git-game
现在讲解 Git 的文章很多,有 Git 的基本用法、设计原理、流程管理等诸多教程。在学过了这些知识之后,有没有兴趣,通过一个专门设计的 Git 命令行的游戏,来看看你对 Git 的理解和运用到了什么程度呢?
那么Git-game就是一个很不错的游戏,里面关卡很多,通过Git命令找到线索、解开谜题,能走到哪就看你的本事了。
传送门 :https://github.com/git-game/git-game
十、Hacker | 测试你的黑客能力
hacker.org 挑战赛是一系列的拼图、敲砖块、测试和智力题,用来测试你的黑客能力。要通过这一系列的考验,你需要破解加密、写出精巧的代码,揭开重重迷雾。
听说有某些道友在上面连续4天废寝忘食,就为了用Python解救出一个傻傻的机器人......
不说了,我也要去玩学习(游戏)了。
文章到这里就结束了,感谢你的观看,只是有些话想对读者们说说。
我退休后一直在学习如何写文章,说实在的,每次在后台看到一些读者的回应都觉得很欣慰,对于自媒体我是个刚入门的人,还是个傻大叔…为了感谢读者们,我想把我收藏的一些编程干货贡献给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤Python所有知识点汇总(可以弄清楚Python的所有方向和技术)
*如果你用得到的话可以直接拿走,在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)可以自助拿走,群号是1044939456。*
以上是关于学编程,有人苦苦坚持却半途而废,有人玩着游戏却学有所成?的主要内容,如果未能解决你的问题,请参考以下文章
强烈推荐所有人!这份“保姆级”的Netty最强宝典你不服不行!