摘要:至今还记得进入程序设计领域时第一次在屏幕上用程序语言成功输出“Hello World”的喜悦,至今还记得无数日日夜夜枯燥的代码编写生活,却不记得一个小小的Bug伴随着自己度过了多少通宵。每每灯下感叹,这些代码能是游戏就好了。
每天一本书《C++语言学习利器AI-code坦克机器人》
至今还记得进入程序设计领域时第一次在屏幕上用程序语言成功输出“Hello World”的喜悦,至今还记得无数日日夜夜枯燥的代码编写生活,却不记得一个小小的Bug伴随着自己度过了多少通宵。每每灯下感叹,这些代码能是游戏就好了。
终于过了编程设计的第一关,能独立写一些程序了。却要面对外面世界无数语言的选择,因为这些选择很可能就决定了自己未来的工作甚至幸福。然而铺天盖地的各方支持者都在自己的阵营摇旗呐喊:Java好,C好,C++好,C#……。于是每种语言都尝试了一下,几年也就过去了,仍然分不清谁好谁不好。现在终于明白具备扎实的基础的重要性,语言精通一门足已。但心中还是偶尔会拿这些编程语言出来比比,有时还和其他阵营的高手过几招,但环境不同怎么也说不上谁写的程序更好,最后相互还是不服。
是否有一种软件能让大家边学边玩?是否有一种软件能让各语言高手同台竞技?实现我们征服程序世界的梦想呢?AI-CODE就是在这种思想是设计出来的。它以竞技游戏和比赛、任务驱动、寓教于乐的方式进行学习和思维训练。打破了传统教育的模式,利用游戏的这种互动性和操作性,让使用者在玩游戏、学编程的过程中运用知识、提高能力。并且AI-CODE还实现了Java、C、C++、C#等各种编程语言同台竞技。你有可能在闪躲炮弹和执行精确攻击的演练中学会数组、函数、对象、类…这个游戏即将为全世界的开发者实现这个愿望,它把游戏风潮变成了教学工具。
AI-CODE为使用者提供了一个虚拟机器人的制作环境和竞技环境。首先,使用者利用自己编程、数学、物理等相关学科知识建立一个虚拟机器人。虚拟机器人通过图形化编写方式(机器人快车)或者纯代码编写方式(CodeCanvas)编写机器人控制代码,编写好的机器人控制代码经过编译以后,就可以在虚拟机器人运行平台(AIRobot)竞技环境下和其他的机器人拼死战斗到底。在这个过程中,为了取得胜利,你不断学习程序设计和机器人策略算法,通过学到的程序不断完善自己的机器人。在学习的同时你感到了快乐,可是在娱乐的同时你发现自己目前的知识不能给你更高的支持,所以为了得到更多的快乐,你又投入学习。AI-CODE就是这样一种系统,让你在玩一学习一玩一学习的循环过程中不断提高自己程序设计和策略算法设计的水平。AI-CODE里有一些预先做好的机器人对手让你入门,但一旦不再需要它们,就可以把自己创建的机器人加入到正在世界范围内形成的某个联盟里去和世界最强手对阵。
本文是以AI-CODE两大主题之一—-AI-TANK(智能坦克)进行讲解,所以在开始介绍部分用AI-CODE表示,后面都是用AI-TANK来说明。
第一部分为基础篇,全面介绍AI-CODE的基本特征,包括:游戏教育理念,AI-CODE诞生、发展,AI-CODE各种平台、AI-CODE涉及的物理和数学基础、AI-CODE系统中各种参数以及C++平台与环境的一些基本特性,最后带领大家快速体验AI-CODE的竞技平台并教大家设计自己的第一个机器人,体会到编程游戏所带来的无穷乐趣。
第二部分为中级篇,主要介绍AI-TANK中三大基本运动方式和三大基本瞄准策略,并详细分析这些策略的原理与代码实现。同时还介绍C++语言的一些基本特性:运算符、变量、流程控制结构、表达式、函数。
第三部分为高级篇,介绍AI-TANK中的高级运动策略:反重力运动、振荡运动、因数避墙、躲避子弹和高级瞄准策略(模式匹配瞄准、振荡瞄准)。信息收集于C++语言数组、类、对象、继承、多态、运算符重载、模板、I/O流、绘图。
第四部分为专家篇,介绍AI-TANK的一些专家特性,并对这些特性进行了简单的分析和说明。比如人工智能机器人中的强化学习、遗传算法,AI-TANK中的联盟机制的实现以及AI-TANK内核、接口的实现原理。
来源:镇上宝塔