Robocode游戏在Java实验教学中的应用

来源 :电脑知识与技术(学术交流) | 被引量 : 0次 | 上传用户:txmotor
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:论文通过分析游戏软件在学习中的积极因素,提出一套基于Robocode的Java实验教学方案。倡导通过寓教于乐,提高学生对Java语言的应用能力和创新意识。
  关键词:Robocode;Java教学;实验教学
  中图分类号:G642文献标识码:A文章编号:1009-3044(2009)22-0000-00
  
  高校实验教学在培养学生基本技能、动手能力和创新思维方面具有课堂教学所不能取代的作用。Java程序设计作为一门强调实践的课程,在其教学模式上需注意理论教育及实践教育的双重把握、不可偏废。目前Java实验内容多是按章节进行验证性实验,不能激发学生的学习兴趣,导致很多学生在做完实验后就开始聊QQ、打游戏,不再主动探索对Java语言的学习。
  为克服传统Java实验教学内容的单一和枯燥,本文提出了将Robocode游戏软件引入到Java实验教学的方法:首先搭建Robocode游戏软件在Eclipse下开发、运行的实验平台;然后讲解Robocode的基本原理,学习Robocode的Java API和文献资料;最后组织学生间相互竞赛。通过运用该方法大大提高了Java课程学习的趣味性,激发了同学们的学习热情[1]。
  
  1 计算机教学游戏在学习中的意义
  
  一般认为,游戏对于学习来讲多是弊大于利的,我们也常看到大学生因沉迷网络游戏而引发退学的报道。但是通过对计算机游戏在教育实践中的应用进行大量的探讨和研究后,我们找到了一些通过游戏吸引学习者使用的积极因素。主要表现在以下几个方面[2]:
  
  1) 游戏为学习者提供了一个情境氛围,让他们获得沉浸性经验。游戏情境因素具有容易识别的特征,能使学习的有效性得到很大提高。
  2) 游戏提供了一个完整的、交互的虚拟情境,它能很好地激发学习者的学习兴趣。
  3) 游戏拥有足够的灵活性和复杂性,能适应学习者的不同学习风格和水平。游戏把学习者放在了决策者的位置,推动学习者利用游戏活动的尝试错误来学习。
  4) 游戏能为学习者提供综合性经验,培养学习者的多种技能。制作良好的游戏,通过其故事的视觉性、经验性和创造性途径,能培养学习者解决深层次问题的能力。
  因此,我们完全可以利用游戏的上述特点,为教学任务设计出合适的游戏场景,来达到相应的教学目的。Robocode正是为Java趣味性编程学习而诞生。
  
  2 Robocode在Java实验教学中的应用
  
  2.1 Robocode介绍
  Robocode是2001年7月在美国IBM的alphaWorks站点上公开的坦克机器人战斗仿真引擎。Robocode必须使用Java语言对机器人动作进行编程,为机器人设计不同的决策方案来自动指挥它运行,可以说Robocode是一种有趣的竞赛性编程。通过它可以让Java初学者掌握Java语言的继承性、多态性、事件处理机制以及Java API等。
  2.2 基于Robocode的Java实验计划
  授课老师可以根据实际情况在完成基本的Java实验后,分配至少10课时的上机来完成Robocode实验内容。
  1) 实验一:进入Robocode的世界
  在实验一中,主要任务是完成Robocode实验平台的搭建,熟悉Robocode的平台环境、帮助文档以及游戏规则,指导学生加载系统自带的坦克机器人进行对决,查看坦克机器人的源代码等,使学生对Robocode有个初步的感性认识。
  Robocode的最新安装程序可以到http://robocode.sourceforge.net中进行下载。在安装和运行前,请确认系统环境已安装了Java运行环境。目前最新版的Robocode需要至少是Java 1.5.0及以上版本。安装成功后运行 Robocode 时,将看到两个相关的 GUI 窗口,这两个窗口构成了Robocode 的 IDE:战场和Robot Editor。如下图所示:
  在Robot Editor中,我们可以对坦克机器人的运行代码进行编辑,不过Robocode自带的编辑器功能比较简陋,编辑、调试起来不是很方便。还好Robocode对Eclipse的支持不错,我们只需进行简单配置,就可以在Eclipse中编写我们的坦克机器人程序了(详细的配置步骤,请参见http://robowiki.net/)。
  2) 实验二:开发第一辆坦克机器人
  在实验二中,主要任务是指导学生在Eclipse中,开发和调试第一个自己的坦克机器人。在开发前指导教师可以首先通过分析Robocode自带的机器人(如比较典型的Corners、Craze、Walls)源代码,帮助学生理解坦克机器人的运行原理、决策机制以及相关函数的意义。开发完后,让学生把自己的机器人加载到游戏平台中,与其它机器人进行对决。通过对决可以检验自己开发的机器人是否能“机灵”地打败对手,学生也可以反复调整自己的程序来达到目的。
  通过实验二,可以让学生十分熟练地使用Eclipse进行Java程序开发,帮助学生进一步理解类、对象、继承等面向对象的概念。但最关键的是,通过机器人间的反复对决,学生会发现开发一个“战无不胜”的机器人是很困难的。如何使自己的机器人更加“聪明”地判断对手的移动轨迹,躲避对手子弹等等这些问题,将激发起学生的学习热情,也为实验三的内容埋下铺垫。
  3) 实验三:设计高级坦克机器人
  基于实验二的问题,实验三的主要任务就是从坦克机器人的移动策略、射击策略和雷达扫描策略这三个方面进行讲解,指导学生设计出较智能的坦克机器人。指导教师可以根据本班学生的实际情况,选择性的分析国内外优秀机器人的设计策略思想。比如在移动策略中除了比较简单的圆周运动方式、随机运动方式和来回振荡运动方式等,Alisdair Owens提出了反重力运动[3],利用此方法允许你定义一些在战场上应该避开的特殊点,向较理想的位置运动;又如在射击策略中的单一瞄准算法和通用瞄准算法[4]等。
  通过实验三,可以让学生学习到Java语言中的高级应用,比如抽象、多态、覆盖、重载等。指导教师可以对遗传算法、神经网络算法在Robocode中的应用进行适当介绍,扩充学生的视野,引导学生进行更深入的探索。
  本次实验内容对指导教师的要求较高,需要做好充分的备课准备。关于Robocode的高级应用可以访问http://www.ibm.com/developerworks/library/ j-robotips/ index.html,在里面有其关于优秀智能机器人策略的详细讲解。
  4) 实验四:坦克机器人大决战
  实验四将是最激动人心的时刻,在本次实验中,学生开发的各类机器人将一决高下。首先指导教师对学生进行分组,我们以每班40名学生为例。实行“1对1”的比赛模式,最多赛三场定胜负,每场9个回合,以40进20,20进10,10进5依次进行淘汰。在最后的5强赛中,实行单循环淘汰赛制,得出最后的比赛排名。在最后,指导教师可以让进入前5强的学生讲解自己的设计思路,老师可做适当点评。
  上述内容只是为大家提供一种参考方案,指导教师可以灵活地进行调整安排。总之,Robocode是一款很不错的利用游戏来学习Java编程的教学平台。
  
  3 结论
  
  通过使用Robocode竞赛性编程后,同学们表现出很大的学习兴趣,能利用课余查阅国内外的文献资料,分析国内外优秀机器人的设计思想,不断更新坦克机器人的策略机制。任课教师也可以根据学生的实际情况,适当引入人工智能、算法分析、游戏开发等相关知识介绍,深化学生的学习兴趣。总之,文中介绍的将Robocode游戏引入到Java实验教学中,是对教学方法多样性的有力补充,虽然它无法解决实验教学中的所有问题,但对实验教学的改进提供了另一种思路。
  
  参考文献:
  [1] 王梅.应用于教学的Java编程竞赛平台的开发[J].科技信息,2008(18):70-71.
  [2] 王广新.计算机教学游戏的基本结构与特征综述[J].中国电化教育,2006(7):77-79.
  [3] Owens A .Secrets from the Robocode masters: Anti-gravity movement [EB/OL].[2009-03-20].
  http://www.ibm.com/developerworks/library/j-robotips/index.html.
  [4] 陈静.高级瞄准策略[J].电脑报,2003(05):66-70.
其他文献
摘要:教学资源库建设是继精品课程建设之后又一衡量高职院校办学层次和内涵建设的重要指标,是一所高职院校软实力体现的重要衡量要素之一。该文在对教学资源库平台的进一步研究的基础上,以无锡商业职业技术学院为例,首先介绍了该平台的建设目标,其次给出了该平台的建设原则,最后针对建设过程中可能遇到的问题提出了相应的解决方案。  关键词:教学资源库;共建共享;问题与对策  中图分类号:G642 文献标识码:A 文
摘要:3D打印技术在各领域应用越来越广泛,主要应用于机械制造、航空航天、建筑、工业造型和医学等领域。该文介绍了3D打印技术在医学领域的应用,结合3D打印技术的基本原理,重点阐述了3D打印技术在手术策划、定制模板、制作个性化假体和组织工程等医学上的应用,并介绍了3D打印技术在现代医学应用上的发展。最后根据3D打印技术的特点,提出应用展望,并分析未来的发展趋势。  关键词:3D打印技术;快速成型;手术
摘要:针对WPA的安全机制存在的缺陷,指出了对其进行攻击的方法,分析了WinAirCrackPack的攻击原理。利用WinAirCrackPack等工具对基于WPA-PSK认证方式的WLAN成功破获了其密钥,有效验证了WPA机制存在的安全缺陷。  关键词:WPA;802.1X;TKIP;安全缺陷;字典攻击  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1351
摘要:《电气控制和PLC》一直是自动化专业的主干课程,多年来,它的教学不能适应学生职业能力的培养,本文认为应以能力为目标,学生为主体从课程教学设计、课程实验实训设计两个方面进行改革。  关键词:PLC教学;能力目标;教学设计;任务设计  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)35-2359-01  PLC技术直接应用于工业自动控制现场,更新发展速度快,实践性强,
摘要:IPv4和IPv6将在很长时间共存,IPv4到IPv6的过渡将经历很长的时期,该文讨论了IPv4向IPv6过渡期间的一些技术,并分析了其优劣及应用场景。  关键词:IPv4;IPv6;过渡  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)22-pppp-0c    IPv4是一个非常成功的协议,已经经历时间的考验,但是因特网的爆炸式发展,IPv4地址耗尽的问题迫
摘要:以计算机网络技术专业为例对五年制高职的专业建设提出见解。  关键词:五年制高职;计算机网络技术;专业建设  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)35-8014-02  五年制高等职业技术教育(以下简称五年制高职)是指招收初中毕业生,实行五年一贯制或分段教学的高等职业教育,它将中等和高等职业教育贯通,整体设计学生的知识、能力和素质结构,统筹安排相关的课
统编本语文教材已经全面投入使用,老师们可能会面对一些问题。下面,我对于统编本教材(主要是小学四、五、六年级)的使用,特别是如何备课,提一些具体的建议。  一、厘清教材的结构框架,让教学目标更明晰  拿到新教材,第一件事可能就是看看有哪些新课文。统编本教材的新课文大概占41%,变动是比较大的,有些老师感觉比较难,于是就把主要精力花在如何准备好新课文的教学上。这可以理解,但最重要、先着手去做的,是对新
摘要:VB.NET程序设计教学是计算机专业学生的主修课,该文结合教学实践与理论探讨VB.NET程序设计教学取得良好教学效果的几点因素。  关键词:VB.NET;程序设计;教学方法  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2009)05-1273-02  Discussed the Teaching of VB.NET Programming  YUAN Shu-xi
摘要:IP欺骗是利用主机之间的正常信任关系,伪造他人的IP地址达到欺骗某些主机的目的。IP地址欺骗只适用于那些通过IP地址实现访问控制的系统。实施IP欺骗攻击就能够有效地隐藏攻击者的身份。IP地址的盗用行为侵害了网络正常用户的合法权益,并且给网络安全、网络正常运行带来了巨大的负面影响,因此研究IP地址盗用问题,找到有效的防范措施,是当前的一个紧迫课题。  关键词:IP欺骗;盗用;对策  中图分类号
摘要:电气自动化在增强生产、流通、交换、分配中扮演重要角色,不但大幅度降低了人力资资源和资金的投入,同时也有效的增强了运作的效率。随着人工智能的普及电气自动化控制领域,电气自动化的发展得到了极大的促进。  关键词:人工智能;电气自动化  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)29-6621-02  人工智能是近年来新兴起来的一种技术,其与传统方式的科学技术