内容简介
第1章 IBM Robocode人工智能机器人的环境——Java概述
1.1 Java语言产生及其特点
1.1.1 Java历史和演变
1.1.2 Java诞生
1.1.3 Java与C
1.1.4 Java改变Internet方式
1.1.5 Java魔力:字节码
1.1.6 servlet:服务器端的Java
1.1.7 Java关键特性
1.1.8 Java演变历程
1.2 Java对计算机科学的文化革新
1.3 Java应用领域
1.4 Java开发环境介绍
1.4.1 JDK下载
1.4.2 JDK安装
1.4.3 JDK安装后目录结构和说明
1.4.4 JDK命令行工具
1.4.5 Java开发环境path和classpath环境变量设置
1.5 Java程序开发
1.5.1 编写并运行Java应用程序
1.5.2 编写并运行Applet小应用程序
1.6 使用Eclipse开发Java程序
1.6.1 Eclipse下载
1.6.2 Eclipse安装启动及设置
1.6.3 Eclipse平台下开发Java应用程序
1.6.4 Eclipse平台下开发Java Applet小应用程序
1.7 第一次编译和运行Java程序时常见问题
1.7.1 javac不是内部或外部命令
1.7.2 找不到文件
1.7.3 无法找到类定义
第2章 IBM Robocode人工智能机器人概要
2.1 IBM Robocode人工智能机器人简介
2.1.1 什么是IBM Robocode人工智能机器人
2.1.2 IBM Robocode人工智能机器人的产生
2.1.3 IBM Robocode人工智能机器人对学习Java语言的教育作用
2.2 IBM Robocode人工智能机器人开发与运行环境
2.2.1 IBM Robocode人工智能机器人安装系统环境要求
2.2.2 IBM Robocode人工智能机器人在Windows系统中的下载、安装、运行和参数设置
2.3 编写第一个IBM Robocode机器人
2.3.1 使用IBM Robocode自带的编辑器编写机器人
2.3.2 Eclipse中开发IBM Robocode机器人
2.3.3 MyEclipse中开发IBM Robocode机器人
2.4 IBM Robocode战斗环境的一些说明
2.4.1 基本环境介绍
2.4.2 IBM Robocode中不同坦克种类
2.4.3 IBM Robocode坦克程序打包
2.4.4 IBM Robocode坦克程序导入
2.4.5 IBM Robocode坐标系统
2.4.6 IBM Robocode能量
2.5 IBM Robocode人工智能机器人在Unix/Linux下的安装
2.6 IBM Robocode人工智能机器人在Mac下的安装
2.7 其他一些编程游戏
2.8 小结
第3章 IBM Robocode简单机器人
3.1 第一个机器
3.1.1 第一个机器人代码
3.1.2 简化第一个机器人的代码
3.1.3 第一个机器人代码的简单注释
3.2 简单机器人代码的分析
3.2.1 包的建立语句
3.2.2 类的导入语句
3.2.3 创建类的语句
3.2.4 机器人中的run方法
3.2.5 机器人中的onScannedRobotEvent方法
3.2.6 机器人中的onHitByBullet方法
3.2.7 机器人中的onHitWall方法
3.3 IBM Robocode坦克机器人的详细分析
3.3.1 IBM Robocode机器人的结构原理
3.3.2 IBM Robooode的命令
3.3.3 编写IBM Robooode坦克机器人常用获取信息的API
3.3.4 战斗事件处理
3.3.5 创建简单机器人
第4章 IBM Robocode高级机器人
4.1 从IBM Robocode简单机器人到高级机器人
4.2 高级机器人AdvancedRobot和简单机器人Robot的区别
4.3 IBM Robocode高级机器人命令
4.3.1 运行控制命令
4.3.2 演示多个机器人的战斗情况
4.3.2 属性控制命令
4.3.3 射击命令
4.3.4 事件控制命令
4.3.5 用API中多个命令组合自己的命令
4.4 与机器人相关的一些概念
4.4.1 设计机器人时的平面图
4.4.2 三角函数基础
4.4.3 IBM Robocode仿真引擎
4.4.4 IBM Robocode游戏规则
4.4.5 IBM Robocode参数大揭密
第5章 IBM Robocode智能机器人设计过程——Java基础语法
5.1 Java基本语法
5.1.1 常量
5.1.2 变量
5.1.3 运算符
5.1.4 数组
5.1.5 判断语句
5.1.6 循环语句
5.1.7 逐步求精
5.2 立即瞄准算法
5.3 功能分配——Java类中方法的设计
5.4 扫瞄到机器人时自动调用方法onScannedRobot的设计与实现
5.5 直接瞄准算法和直线瞄准算法的设计与实现
5.6 圆周瞄准算法设计与实现
5.7 机器人角度制转换为弧度制
5.8 智能机器人
5.8.1 Robot和AdvancedRobot对应语句
5.8.2 探测军情
5.8.3 雷达锁定
5.8.4 躲避攻击
第6章 IBM Robocode智能机器人代码重构——面向对象技术基础
6.1 类
6.2 设计实现Robocode的Enemy类
6.3 代码重构
6.3.1 TestRobot机器人代码
6.3.2 Controller类代码
6.3.3 Driver类代码
6.3.4 Scanner类代码
6.3.5 Shooter类代码
6.3.6 Enemy类代码
6.3.7 Battle类代码
6.3.8 Me类代码
第7章 IBM Robocode智能机器人瞄准算法
7.1 瞄准策略
7.2 IBM Robocode基本原理之坐标锁定
7.3 圆周瞄准详解
7.4 改进结果
7.5 改进圆周瞄准的性能
第8章 IBM Robocode智能机器人移动算法
8.1 基本移动策略
8.2 Robot和AdvancedRobot的简单移动
8.2.1 继承Robot产生的简单机器人的移动
8.2.2 继承AdvancedRobot产生的高级机器人的移动
8.3 随机移动
8.4 有明显规律的主动移动
8.5 带有很强随机性的主动移动
8.6 能够干扰瞄准的主动移动
8.7 根据敌人发弹或者移动规律而采取的被动移动
8.8 小结
第9章 IBM Robocode智能机器人躲避算法
9.1 以静制动躲避算法
9.2 因数避墙法
9.2.1 添加常见数学计算的辅助方法
9.2.2 扩展AdvancedRobot具有倒行功能
9.2.3 添加因数避墙法
9.2.4 综合因数避墙
9.3 躲避子弹
第10章 IBM Robocode智能机器人其他知识
10.1 强化学习
10.1.1 强化学习的原理
10.1.2 强化学习的应用
10.2 基于游戏教学的Java程序设计改革
10.2.1 Java程序设计课程的地位
10.2.2 教育游戏概念浅析
10.2.3 教育游戏用于Java程序设计教学的优势
10.2.4 基于教育游戏的Java程序设计课程教学设计模式
10.2.5 Roboeode的教学功能
10.3 IBM Robocode是团队对抗性游戏的理想平台
10.4 IBM Robocode机器人教育的新载体
附:IBM Robocode API
参考文献
后记