简单来说,code world就是用游戏来学习Python语言,初学者练习用,对我这种学了两周Python的就还不错。
以下是我学习的心路历程,可以大段跳过,与游戏无关。
心路历程
玩了human resource machine和silicon zeroes,因为据说都是和编程有关的游戏,对编程一无所知,想了解下编程到底是个什么鬼,从十一节开始学Python。
主要途径是看网上大学的公开课,稍微学了些最基础的,什么是元组啊,运算符表达式,最基本的while for循环语句什么的。纯介绍的看得就特别困,然后留的作业我也一头雾水,同一课程的小伙伴看上去都像是以前稍微有点别的编程基础的,老师讲到某某处也总是提一嘴:“大家要多找些相关练习哦。”
对于我来说,“相关练习”真的是泥淖一般的神秘之地。_(:3 」∠)_
学不学编程并不会影响我吃饭,所以决定要让自己愉快的玩耍,不想刷题,搜了搜知乎,看到别人介绍的和学编程有关的游戏:
1. code combat:用游戏来练习Python,但画面实在太页游了,玩了大概5、6关就没啥兴趣了(我的锅,人家真的是很好的网站)。
2. 还有checkio:也是挺好的网站,不过不知道为什么我连起来就特别慢,最好是挂VPN,有点心累,所以就放着。(我的锅,其他小伙伴可以试一试,这个画面比较不页游)
总之,这俩并没有推动我的学习,同时,我还沉迷human resource machine和silicon zeroes这一类的逻辑解谜游戏,在steam相关游戏推荐中,看到了这个code world。
游戏相关
可能是看着就特别低幼向编程教学,牛关连词条都没有,我就顺手添加了一个。

steam数据看着也是玩的人很少,评价也就3条。
这个游戏一共50个关卡。前期和我想象的不一样,并不是直接让你上手编程,前12关都是让你阅读程序,然后向对象输入一些命令,比如移动方块和摧毁方块,最终让小机器人吃到小星星。
想通过这个游戏从0开始学习Python感觉不是太现实,它假设你懂一些最最最基本的Python的风格、运算、表达式,但不用很深入(看我这种学习两周的就知道了)。
第12关开始可以修改代码,引入了一个叫edit()的函数。
一开始我对这个函数理解有误,导致卡关很长时间。比如edit('send')的意思是,你在这个对象的代码中只能编辑send()函数,其他函数都不允许出现,所以一旦写了别的函数就会报错然后游戏进行不下去要重启(其实只要把send()函数写下来就好了,我一直没有理解,钻了很久牛角尖)。

Code World的有一个小缺点是并不完全和Python一样,比如random函数,Python中需要调用random库然后使用randint来生成整数随机数,游戏中只要敲random就可以了,所以还是要好好阅读一些人家的help(懒人的弯路)。
可以用%运算,但不能用整除//,用了//被报错了,然后用了除法/,最后居然对了,可能设定真的是给小朋友的,小朋友的世界里没有小数?
第22关无法使用幂**,通过别的方法达到一样效果。
到第23关就明白为啥无法使用幂**了,这一关要用到平方根,如果可以使用幂,直接**.5就好了,太简单了,可能作者并不想让我们秒答题。
一共两面,暂时过完第一面。

Bug和其他絮絮叨
小bug还是有的: 第十关卡关很久,输入正确指令后一直没有反应,重启游戏后就轻松过关了,卡了有个半小时吧。_(:3 」∠)_
我一般通关完然后自己会去Python中敲一下,虽然和老师要求的“相关练习”不太对口,但还是比较有兴趣玩下去的。
寓教于乐都是在为全人类创造福祉,感谢!感觉游戏的受众应该是小朋友:程序猿,从娃娃抓起。虽然注定此生智商无法成为程序猿,但也让我有机会偷窥一下这到底是一片什么样的地方。
暂时给自己定的目标是:开发一个小程序,记录家里卫生纸洗洁精抹布等日用品的存量,小于某值时给我自动提醒(邮件或者其他方式)以补货,不至于进卫生间发现没纸了。