零基础学编程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 条评论
登录 后参与评论

相关文章

扫码关注云+社区