//原文链接:http://blog.jobbole.com/100733/

一大波能提高编程技能的游戏

本文作者: 伯乐在线 - 艾凌风 。未经作者许可,禁止转载!
欢迎加入伯乐在线 专栏作者。

有时候咱们程序员也需要娱乐或放松一下,但放松的同时,也可以做一些有益于技能成长的事情。今天就来看看这一大波能够训练大脑,并且提升编程能力的网站。

游戏

1)Codecombat

这是一个可以帮助你学习编程的并且非常赞的多人在线游戏,而不是一个游戏化的编程课程。

在 CodeCombat 中,你扮演一个英雄通过游戏中不同等级的冒险。第一关是 Kithard Dungeon ,里面涵盖了编程的基本概念。整个旅程中你都面临着编程的挑战,如果通过了,你会解锁下一关,并获得经验点,经验点可以用来提升英雄的能力。

CodeCombat 吸引了很多年轻有抱负的程序员,根据游戏中的统计,62%的用户年龄在18岁以下。

CodeCombat 支持6中不同的语言,包括:JavaScript、CoffeeScript、Lua、Python、Clojure 和 Io。该游戏涵盖了广泛的编程主题,如:字符串,变量,方法调用,矢量绘图等。

2. Code Hunt

Code Hunt 是一个由Microsoft Research开发的 HTML5 科幻主题游戏。

在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期的结果。总共有14个等级需要你来完成。

Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。你也可以通过阅读 Code Hunt 设计手册 来扩展其他关卡。

3. CodinGame

CodinGame 对程序员来说是一个巨大的挑战,如果你想提升编程技能,玩CodinGame是一种有趣的方式。

CodinGame 支持包括PHP、C、JavaScript在内的20多种编程语言。用户界面功能强大,可以定制。例如,你可以选择你的代码编辑器的风格: “Emacs”、”Vim”、或 “Classic” (默认)。

游戏可以选择单人游戏模式或多人模式,多人模式下,你可以与其他玩家共同解决 CodinGame 中的挑战。

4. Screeps

Screeps 是一个为 JavaScript 程序员准备的大型多人在线游戏(MMO)。

这个游戏是一个开放的策略游戏,游戏中你控制的单位被称为 creeps ,它可以帮你获得资源、建立自己的领地等等。作为一个多人在线游戏,意味着你的 creeps 会被其他  creeps 所包围。

通过编写 JavaScript 来控制你的 creeps 。(Screeps = scripting your creeps)。学习如果玩该游戏,你可以查看文档。

5. FightCode

在 FightCode 中,目的很简单,就是创建一个能够击败其他玩家机器人的机器人。

如何创建机器人?通过编写 JavaScript 代码。例如,当某个事件发生时,你可以通过 .rotateCannon() 方法来旋转你的大炮。

在创建坚不可摧、支配世界的机器人之前,你首先需要阅读文档来学习如何编写一个机器人。

其他类似的网站:

  • Git Game —这是一个终端游戏,用来考察你的 Git 命令知识 。
  • Elevator Saga — 你的任务是使用 JavaScript 编程控制电梯的运动。目标是要高效地接送乘客。
  • CodeChef — 在这里你可以解决实际问题、参加不同的比赛,这些比赛每月都会进行。
  • Hacker.org 这里有一系列的谜题和测试,可以用来测试你的编程知识。为了通过这一系列的测试,你需要解决问题并做很多的分析工作。
  • Pex for fun — 这是微软开发的一个游戏,在这个游戏中你需要和其他的程序员进行比拼。而代码就是你的武器。
  • Rankk — 你需要解决一系列由易到难的问题。这个游戏是对 Pyramid 游戏的复刻,Pyramid里面有很多逻辑和数学问题。
  • TopCoder — 在这个游戏里你不光可以解决问题,还可以获取真金白银。来自全世界知名IT公司的程序员在这里互相挑战,为的就是赢得他们的奖品。
  • Google Code Jam — Google 大赛上已经解决的算法问题。在这里你可以自己试一试。
  • Python Challenge— 玩家可以通过 Python 编程解决问题并提升等级。
  • 《程序员该知道的那些编程比赛网站》
  • 《寓教于乐:Vim大冒险游戏》:玩游戏,学习 Vim

解谜

  • Lumosity — 一组能够训练大脑的游戏,由科学家和游戏设计师一同开发。
  • Algorithm Geeks — 一个交流讨论算法的 Google 群组。
  • CodeKata —妙趣横生的编程问题。
  • LessThanDot — 一个专门论坛,程序员在这里发布一些比较困难的编程挑战。
  • The Daily WTF — 类似BYOD(Bring Your Own Device)模式,不过这里是BYOD(Bring Your Own Code)程序员们编写他们自己的代码片段放在这里,用来解决一些比较困难的问题。
  • Peking University JudgeOnline for ACIP/ICPC — 这里包含了不同比赛中涉及到的不同的问题。你可以实时的解决问题并且查看结果,你的答案也会被验证是否正确。
  • University of Valladolid Online Judge —与北京大学OJ平台类似,但是包含了不同的问题。
  • Programming Praxis—这个博客每周都会出一些新的编程问题。
  • Project Euler — 包含了很多复杂的数学问题,这让发烧友们感到非常开心。

编程练习

  • 4Clojure — 在这里你可以通过解决一些不同难易程度的问题来学习 Clojure 。
  • Prolog Problems — 你可以在这里练习逻辑编程。
  • Ruby Quiz —每周 Ruby 谜题。
  • Codingbat — 由很多 Java 和 Python 的习题(难度各有不同)。
  • Cyber-dojo — 在这里,你可以在在线评分系统的监督下进行编程练习。
  • Sphere Online Judge — 各种各样的编程问题。
  • Code Wars — 8 种编程语言教学。
  • Rosalind — 通过解决实际问题来学习算法和生物信息学。

面试前的准备练习

  • LeetCode —这个网站是为了帮助程序员准备面试而创建的。在这里你可以找到不同领域的典型问题。
  • Career Cup — 程序员面试时最容易被问到的真实问题。

参考

  • 《collection of coders games to improve your skills》
  • 《寓教于乐:教你学编程的 5 款游戏》

[码]从游戏中学编程相关推荐

  1. 在游戏中学编程不好吗?8大游戏总有一个适合你吧?

    对于很多人来说,学习编程敲代码是一件非常枯燥无味的事情,很容易丧失学习的兴趣. 那么老猫找到了8个游戏,你可以在玩游戏中学习编程. 这些网站专为初.高级程序员而设计,帮助他们学习各种计算机语言.诸如: ...

  2. 是你想要的,在游戏中学编程

    相信大家在学习编程的时候一定感到很枯燥吧,很想打开电脑开两把,学习的过程就是枯燥的.下面就给各位介绍几个可以边玩边学编程的游戏吧!                                   ...

  3. 如何学好3D游戏引擎编程《转自3D游戏引擎网》

    此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰         --阿哲VS自己 QQ79134054多希望大家一起交流与 ...

  4. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

  5. 视频教程-游戏网络编程必备知识-Unity3D

    游戏网络编程必备知识 网名:海洋,CSDN社区讲师,3D游戏引擎开发者,IT讲师,计算机图形学方向研究生,曾在浙江大学CAD&CG;国家重点实验室学习.从事IT行业15年,主导或参与了18款大 ...

  6. JoyStick游戏杆编程实践

    概述 最近突然对如何编程读取游戏手柄输入比较感兴趣.所以上网找了找相关的资料,发现没有什么简单明了的教程,所以在此将收集到跟joystick游戏杆编程相关资料整理一下,方便大家参考使用. JoySti ...

  7. 使用 Python 进行游戏脚本编程

    使用 Python 进行游戏脚本编程 作者 Bruce Dawson Humongous 娱乐公司 http://www.cygnus-software.com/papers/ 介绍 使用脚本语言可以 ...

  8. 如何学好3D游戏引擎编程.txt

    此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ79134054多希望大 ...

  9. 游戏杆编程心得二:如何判断按钮的有效按下

    作者:朱金灿 来源:http://blog.csdn.net/clever101 在游戏杆编程中通过一般需要获取按钮状态来执行特定事件,比如实现按下按钮1一次,变量num递增100,但在调试系统时往往 ...

最新文章

  1. 最近开发老遇到莫名其妙的问题,dialog自定义大小,setAttributes这个方法没反应是肿么一回事...
  2. 【转】 [C/OC的那点事儿]NSMutableArray排序的三种实现(依赖学生成绩管理系统).
  3. ubuntu查看OpenCV的版本和安装的库
  4. Java垃圾回收(GC)、找垃圾的方式、GC Root、GC停顿、引用、垃圾收集算法、收集器、GC日志、安全点、安全区域
  5. o型圈沟槽设计_深圳综合O型密封圈ID544.4MM*8.6MM报价-星湖蓝海科技
  6. mysql5.6错误代码
  7. 基于FPGA的竞赛抢答器
  8. 学校门口的树C语言算法,C语言校园导游程序设计汇报.doc
  9. SharePoint 2010认证模式
  10. 选择开源项目什么最重要?许可证排第一
  11. 【转】QDockWidget 停靠窗口和工具栏
  12. 中国酸2-葡萄糖苷(AA2G)市场趋势报告、技术动态创新及市场预测
  13. GridView数据导出到Excel的类
  14. 达梦DEM部署、agent配置与监控使用
  15. 董桥《南山雨》(选自:旧时月色)
  16. CAD启动很慢怎么办?
  17. DVM和ART的区别详解
  18. 【Elang】dialyzer
  19. web大二实训作业:校园运动会网站设计——运动会图片轮播图片遮罩特效(4页)体育 HTML+CSS+JavaScript HTML5期末大作业...
  20. Mac 移动硬盘无法装载

热门文章

  1. 分享一个一对一直播自动聊天脚本保护生态高山流水核心JS源码
  2. Unity 烘焙灯光贴图,跳转场景时会黑一下问题
  3. a-frame_使用A-Frame,PubNub和WebVR构建基于浏览器的多人VR游戏
  4. android 读卡器监听,在Android中开发智能卡读卡器
  5. php来电跳转,调用网站并使用php识别来电显示
  6. 安全软件 Sandboxie v5.31.4 绿色便携版
  7. 能率S2系列零冷水燃气热水器,让沐浴再无痛点
  8. flac是什么格式?flac怎么转换成mp3格式?
  9. 淘宝启用全新信用体系,“掌柜信用”成全国首个卖家信用产品
  10. USB各类设备描述符(usb device enumeration descriptors)