零基础学编程003:在游戏中学JAVA和C#

前面几篇文章中主要用Python当例子,但在这些“在线编程环境”中,还支持其它编程语言,JAVA和C#也不例外。CodeCademy中提供了许多很短小的习题使人能够快速了解关键语法,但还是有点枯燥,如果能够在游戏中学习编程就更好了。实际上,这种事情程序员们也早就想到了,robocode就是其中之一。

看看百度百科上的介绍:

Robocode是一种有趣的竞赛性编程,使用几行简单的代码,就能够让你创建一个活生生的机器人,一个真正的在屏幕上与其他机器人互相对抗的机器人。你可以看到它在屏幕上四处疾驰,碾碎一切挡道的东西。机器人配有雷达与火炮,选手在躲避对手进攻的同时攻击对手,以此来较量得分的多少。Robocode可以让你在娱乐的同时学习与提高Java技术。

准确地说,这个robocode平台中创建的并不是机器人,而是机器坦克。这种游戏中,你不能用键盘和鼠标去控制你的坦克,而是用事先写好的代码,让自己的坦克躲避、并攻击敌人。最早这个项目只支持JAVA语言,后来才支持了C#。你需要不断优化你的代码,从而学习基本的编程知识。但玩(或编码)到一定程度后,你需要学习的内容将变为AI(人工智能)领域了。

有关robocode资料,可以访问:http://robowiki.net,全英文说明。该软件最早发布在ibm的web alphaworks上,现在已经搬到了sourceforge.net(github上也有)。很遗憾,如果没有vpn,sourceforge.net网站的访问也不太稳定,光下载robocode都折腾死人。

国内网站上也可以找到一些robocode的教程,但都有点过时了。我今天下载了1.9.2.5版本,如果是零基础的话,安装还真不容易。

你需要闯过安装vpn、安装java环境(要1.6版本以上)、安装robocode程序、启动robocode程序等几大关,放上一堆坦克,然后才能见到下面的画面。

如果没人帮助,零基础的朋友真无法完成上面的安装任务,所以,如果你真是零基础,还是先到codecademy上把基础教程认真学完再说吧。

如果你已经具备了一定JAVA基础,并且成功地安装好了robocode,就可以开始写自己的机器坦克的代码了,但我看了一下第一个源程序,真不适合零基础的同学。

 package man;
 import robocode.*;
  
 public class MyFirstRobot extends Robot {
     public void run() {
         while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360);
         }
     }
  
     public void onScannedRobot(ScannedRobotEvent e) {
         fire(1);
     }
 }

此时你马上遇到的是集成开发环境IDE的选择、编译器的设置等一系列障碍,想看到自己写的坦克在屏幕上乱窜并不容易,所以说学编程的最佳办法是互助式学习

感兴趣的朋友,可以点击“阅读原文”看看robocode的官网。

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2016-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

Facebook宣布开源Caffe2:可在手机与树莓派上训练和部署模型

选自Caffe2.ai 机器之心编译 在今年的 F8 开发者大会上,Facebook 正式宣布开源其全新深度学习框架 Caffe2。据 Caffe2 官方博客介...

2667
来自专栏WeTest质量开放平台团队的专栏

从 Pokémon Go 谈 AR 游戏开发

Pokémon Go一出,新鲜的玩法、经典的IP效应让这款使用了Unity以及AR技术的手游火遍了“大洋”南北。可惜的是这款新鲜的游戏还没有惠及中国市场的玩家们...

3730
来自专栏大数据文摘

手把手教你搭建自己的深度学习机器

3724
来自专栏PHP技术

关于github一点小知识

GitHub 越来越有名,很多同学都把它作为一个关键字加入自己的简历当中。不过我在面试中,问到如何使用 GitHub,对方通常会答复:上去看源码呀!这个答案完全...

34811
来自专栏机器学习算法全栈工程师

免费使用谷歌GPU资源训练自己的深度模型

作者:刘威威 编辑:黄俊嘉 注:本文编译自medium,原英文链接:https://medium.com/@nick...

4528
来自专栏林德熙的博客

win10 uwp 参考

522
来自专栏大前端开发

从编程小白到全栈开发:一只编程小白

现在的人们,每天在使用着各种手机app或网页之类的,进行日常工作,亦或是打发闲暇时间?但是在使用它们的时候,你是否曾有过一丁点的好奇心,想过这些东西到底是什么,...

723
来自专栏点滴积累

geotrellis使用初探

最近,单位领导要求我研究一下geotrellis(GITHUB地址:https://github.com/geotrellis/geotrellis,官网htt...

3738
来自专栏walterlv - 吕毅的博客

程序员与英语:即时聊天中的英语缩写 lol / lmao / idk

2018-07-21 07:00

441
来自专栏腾讯开源的专栏

Github 开源项目贡献指南:如何给开源项目做贡献 (下)

给开源项目做贡献可以说是在你能想象的领域上学习,传授,累计经验的最有效的方式!为什么人们要给开源项目做贡献,原因太多了!本文将为大家讲述如何为Github 开源...

4871

扫描关注云+社区