利用AI-TANK增加C语言教学的趣味性

时间:2016年12月05日 信息来源:本站原创 点击: 加入收藏 】【 字体:

也许每一位长期进行的C语言教学的教师,都会有这样的感受,即C语言这门课程的逻辑性强,知识枯燥,不少学生常常因其难度大而止步不前或中途放弃。因而,我作为一名C语言课的教师,为了提高学生学习C语言的兴趣,常常绞尽脑汁,采用各种方法,来提高课堂教学的趣味性,但总是难以如愿。

后来,无意之中,接触到了一款名为AI-TANK坦克机器人对战的系统,顿时眼前一亮。这是一款把语言学习融合于机器对战游戏中的软件,学习者可以在其中创造一个机器人去和别人的机器人进行战斗,从战斗的成败中,总结与自己所编的程序的缜密度及正确性,从而可以在游戏中,提升自己的语言编写水平。用这种寓教于乐的用竞技比赛的游戏方式进行学习和思维训练,不仅打破了传统教学的框架,让学习者在玩游戏的同时来学习编程,而且在游戏战斗的期间来提升编程的能力。同时,AI-TANK还“百搭”哟,无论你是用JavaCC++还是C#......等各种编程语言都可以凭借自己的坦克机器人和使用其他语言者同台互相竞技。这在语言学习中是难能可贵的。传统的游戏和教学格格不入的观念被AI-TANK打破,利用人类爱竞技、善挑战的特性,这样一款游戏则成为了教学珍贵的工具。

以下,我就把我将AI-TANK如何融于我的课堂教学过程的三步曲逐一进行介绍。

第一步 熟悉AI-TANK,向学生介绍什么是AI-TANK

 AI-TANK是一个软件系统,是一个平台,这个平台集中了虚拟坦克机器人运行平台、坦克机器人程序图形编辑平台、坦克机器人程序代码编辑平台于一体。其中的虚拟坦克机器人运行平台airobot则是AI-TANK的核心平台。通过airobot这个平台,学习者所编的C语言代码才能以虚拟坦克机器人的形象展现出来,这是一个关键所在,因为只有这样,才能把枯燥的C语言程序置换成了虚拟坦克机器人,从而化枯燥的语言学习界面为神奇机器人世界。同时在此平台下还可以完成选择什么样的坦克机器人、可以按自己的喜好来设置比赛环境等各种操作,并可以在此平台下欣赏比赛的全过程和得出最终比赛结果,最重要的是,坦克机器人的一举一动,全部由自己所编程序来体现。这样才能把学生的注意力牢牢吸引于此。

在这样的氛围下,学生们自然学习兴趣浓厚,都想马上体验用自己能力所编出来的坦克机器人,在竞技场景中会有什么样的表现。

第二步 入门AI-TANK,拥有自己的坦克机器人

虽然学生们接受了这款游戏,但是要能够上手,却需要掌握一定的C语言基本功,教师首先要教会学生一些包括C语言代码的基本格式、AI-TANK特有的预处理文件的调用及熟悉、以及更多的需要记忆并熟知的系统自定义的一系列函数的知识。其中这些名为Action的动作处理函数,学习起来需要一定的基础,这些动作可以在特定的时候由系统调用,而无需专门进行某项动作的编程,比如:onRoundBegin函数、onHitWall函数、onHitedByBullet函数等,他们可能在机器人撞倒场地边缘的时候由系统调用用,也可能在撞到其它机器人时触发,或者是当机器人被别人的子弹击中时执行。    

此外,还需要知道系统的运行和状态的变化都是离散的这一知识点,计算机的数据就是数字化的,所以就拿机器人的方向来说,如果机器人的转动速度是5/单位时间,现在的方向是10度,那么在下一个单位时间机器人的方向才会发生变化,变成15度,这种离散的方向并没有连续的变化,而是直接从10度一下子跳变到了20度。当学生们知道这些之后,就可以创建一些属于自己的坦克机器人。

之后,让学生运行AI-TANK,选择“比赛”->“新建”,弹出“新建比赛”对话框,在“机器人选择”页上,先选择包,然后选择机器人“Circle”,然后按“添加”按钮,这样机器人“Circle”就被选择为机器人了,之后,让学生进行模拟演示Circle机器人的特性。在机器人绕圈中,学生们就学习了moveturn函数,对坦克机器人有了初步的感受。

第三步 AI-TANK的海洋中编程,让坦克动起来

在掌握基本的建立方法,并拥有能够进行简单行进动作的坦克机器人之后,学生们会更加想把自己的机器人进行能力的提升,这就如同现在游戏中宠物的进化。这时候,更多的逻辑算法即使再深奥及枯燥,一旦有了机器人这个宠物,学生势必会更加用心的攫取知识中的养份。此时,教师可以有目的任务引导。向学生介绍一个实现方法简单叫Dolly的坦克机器人,这个名字由克隆羊多利而来,因为他会克隆敌人的运动。教师和学生一起分析算法,这包括发现敌人的方向,并计算敌人的方向,然后在敌人方向正负40度范围内随机发弹,同时转到与敌人对称的方向与敌人保持速度一致。分析完成后,下达任务,让学生自己的机器人也拥有Dolly的能力。在这样的一次次的任务中,学生们从而能够学习了不同的算法,掌握C语言的用法及精髓。

最后,当你在闪躲炮弹和执行精确攻击的演练中学会数组、函数、对象、类…这些知识后,我们发现AI-TANK不仅把游戏风潮变成了教学工具,更可喜的是学生对C语言的学习兴趣得到了有效的提升。


上一篇:宿迁技师学院与宿迁电子商务产业园隆重举行政校企合作签约仪式
下一篇:智能时代下计算机专业建设的思考
(作者:刘利 编辑:sihzz)

我有话说

 以下是对 [利用AI-TANK增加C语言教学的趣味性] 的评论,总共:0条评论

新文章

门文章