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

相关文章

来自专栏程序你好

谷歌Chrome浏览器推出10周年之际,发布新外观

谷歌推出Chrome已经10年了。当时是谷歌推出的浏览器一个契机。Firefox变慢了, Internet Explorer一成不变,除了Opera之外,没有一...

943
来自专栏AI科技评论

AI研习社「求翻译」功能上线啦~快来上传文章和视频吧!

当你埋头苦学的日日夜夜,一定有啃过艰深枯燥的学术论文,却苦于自己的英语不够好而不得不比旁人多花几倍时间。当你面对国外最新发布的研究成果,一定也想过第一时间获取资...

633
来自专栏木子昭的博客

用Electron创建跨平台应用(第二弹)开启多窗口

记得以前用过一段wps, wps有一个蛋疼的设定令我至今难忘, 那就是不支持多窗口, 这意味着你无法同时查看两篇文档, 对应现实生活中的场景就是, 即使给了你一...

561
来自专栏编程

033Python爬虫学习笔记-1从入门到爬取豆瓣书评影评

1.什么是爬虫 可以理解为抓取、解析、存储互联网上原始信息的程序工具,Google、Baidu底层都是爬虫。 2.为什么学Python和爬虫 从2013年毕业入...

22710
来自专栏程序员互动联盟

为了学编程,我选择了中途退学

我是中途退学进入这个行业的,算是半路出家,入门还是得从我在学校的专业说起,我在学校的专业是自动化,需要学习一门编程语言,C语言,这是我接触的第一门语言,也是我最...

3295
来自专栏编程

图表神器:pyecharts/qtpy的使用

echarts是百度开源的一款js的图表库,界面很酷炫,使用也不复杂。但还是不够pythonic,对吧。 pyecharts来了。 先看一个图,还不错对吧: ?...

51410
来自专栏灯塔大数据

12种免费思维导图工具助你成为结构化思维专家(下)

如果昨天的文章你觉得颇受启发,现在就看看这些思维导图工具吧。 以下列出的大部分工具都是免费的。当然,付费的思维导图工具会有更多功能,但是这些免费的也完全能够满...

2765
来自专栏kangvcar

手把手教你用7行代码实现微信聊天机器人 -- Python wxpy

1203
来自专栏developerHaoz 的安卓之旅

如何有效报告 bug

这也是「技术支持」被视为一个可怕工作的原因。然而,并不是所有的 bug 报告都是让人不愉快的。我一直在没赚钱的时候维护开源软件,有时候会收到一些非常清晰的、有帮...

852
来自专栏Pytorch实践

【Python】Selenium辅助海量基金数据获取

今天主要给大家介绍一下Selenium测试工具,它是一款浏览器测试专用的工具,能够模拟用户对浏览器进行鼠标点击、页面滑动等功能。一方面能够用于网页...

3634

扫码关注云+社区