《IBM Robocode人工智能机器人研究》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:王善发著
  • 出 版 社:昆明:云南大学出版社
  • 出版年份:2013
  • ISBN:9787548216896
  • 页数:248 页
图书介绍:本书从IBM Robocode一个半成品的游戏平台入手,通过对游戏平台底层的研究,挖掘出它的工作原理、规则、参数,撰写了IBM Robocode机器人的开发设计思路、过程,设计、开发出一些人工智能游戏算法:智能机器人瞄准、移动、躲避等算法,总结出一套用游戏学计算机编程的教学方法。本书分为10章和1个附录,从IBM Robocode人工智能机器人的环境、概要,简单机器人、高级机器人、智能机器人设计过程,智能机器代码重构、瞄准算法、移动算法、躲避算法,到IBM Robocode人工智能机器人的一些其他知识,最后附录部分是IBM Robocode人工智能机器人的一些API的解释。

第1章 IBM Robocode人工智能机器人的环境——Java概述 1

1.1 Java语言产生及其特点 1

1.1.1 Java历史和演变 1

1.1.2 Java诞生 4

1.1.3 Java与C 5

1.1.4 Java改变Internet方式 6

1.1.5 Java魔力:字节码 7

1.1.6 servlet:服务器端的Java 7

1.1.7 Java关键特性 8

1.1.8 Java演变历程 10

1.2 Java对计算机科学的文化革新 12

1.3 Java应用领域 13

1.4 Java开发环境介绍 13

1.4.1 JDK下载 13

1.4.2 JDK安装 16

1.4.3 JDK安装后目录结构和说明 18

1.4.4 JDK命令行工具 19

1.4.5 Java开发环境path和classpath环境变量设置 19

1.5 Java程序开发 24

1.5.1 编写并运行Java应用程序 24

1.5.2 编写并运行Applet小应用程序 26

1.6 使用Eclipse开发Java程序 27

1.6.1 Eclipse下载 27

1.6.2 Eclipse安装启动及设置 29

1.6.3 Eclipse平台下开发Java应用程序 31

1.6.4 Eclipse平台下开发Java Applet小应用程序 37

1.7 第一次编译和运行Java程序时常见问题 40

1.7.1 javac不是内部或外部命令 40

1.7.2 找不到文件 40

1.7.3 无法找到类定义 42

第2章 IBM Robocode人工智能机器人概要 43

2.1 IBM Robocode人工智能机器人简介 43

2.1.1 什么是IBM Robocode人工智能机器人 44

2.1.2 IBM Robocode人工智能机器人的产生 44

2.1.3 IBM Robocode人工智能机器人对学习Java语言的教育作用 45

2.2 IBM Robocode人工智能机器人开发与运行环境 46

2.2.1 IBM Robocode人工智能机器人安装系统环境要求 46

2.2.2 IBM Robocode人工智能机器人在Windows系统中的下载、安装、运行和参数设置 46

2.3 编写第一个IBM Robocode机器人 52

2.3.1 使用IBM Robocode自带的编辑器编写机器人 52

2.3.2 Eclipse中开发IBM Robocode机器人 56

2.3.3 MyEclipse中开发IBM Robocode机器人 70

2.4 IBM Robocode战斗环境的一些说明 71

2.4.1 基本环境介绍 71

2.4.2 IBM Robocode中不同坦克种类 72

2.4.3 IBM Robocode坦克程序打包 72

2.4.4 IBM Robocode坦克程序导入 73

2.4.5 IBM Robocode坐标系统 73

2.4.6 IBM Robocode能量 73

2.5 IBM Robocode人工智能机器人在Unix/Linux下的安装 74

2.6 IBM Robocode人工智能机器人在Mac下的安装 74

2.7 其他一些编程游戏 74

2.8 小结 75

第3章 IBM Robocode简单机器人 76

3.1 第一个机器 76

3.1.1 第一个机器人代码 76

3.1.2 简化第一个机器人的代码 77

3.1.3 第一个机器人代码的简单注释 78

3.2 简单机器人代码的分析 79

3.2.1 包的建立语句 79

3.2.2 类的导入语句 79

3.2.3 创建类的语句 79

3.2.4 机器人中的run方法 80

3.2.5 机器人中的onScannedRobotEvent方法 81

3.2.6 机器人中的onHitByBullet方法 81

3.2.7 机器人中的onHitWall方法 81

3.3 IBM Robocode坦克机器人的详细分析 81

3.3.1 IBM Robocode机器人的结构原理 82

3.3.2 IBM Robooode的命令 82

3.3.3 编写IBM Robooode坦克机器人常用获取信息的API 83

3.3.4 战斗事件处理 83

3.3.5 创建简单机器人 83

第4章 IBM Robocode高级机器人 86

4.1 从IBM Robocode简单机器人到高级机器人 86

4.2 高级机器人AdvancedRobot和简单机器人Robot的区别 88

4.3 IBM Robocode高级机器人命令 90

4.3.1 运行控制命令 90

4.3.2 演示多个机器人的战斗情况 91

4.3.2 属性控制命令 94

4.3.3 射击命令 95

4.3.4 事件控制命令 96

4.3.5 用API中多个命令组合自己的命令 98

4.4 与机器人相关的一些概念 98

4.4.1 设计机器人时的平面图 98

4.4.2 三角函数基础 109

4.4.3 IBM Robocode仿真引擎 111

4.4.4 IBM Robocode游戏规则 112

4.4.5 IBM Robocode参数大揭密 115

第5章 IBM Robocode智能机器人设计过程——Java基础语法 121

5.1 Java基本语法 121

5.1.1 常量 121

5.1.2 变量 122

5.1.3 运算符 123

5.1.4 数组 124

5.1.5 判断语句 125

5.1.6 循环语句 127

5.1.7 逐步求精 130

5.2 立即瞄准算法 136

5.3 功能分配——Java类中方法的设计 137

5.4 扫瞄到机器人时自动调用方法onScannedRobot的设计与实现 140

5.5 直接瞄准算法和直线瞄准算法的设计与实现 145

5.6 圆周瞄准算法设计与实现 151

5.7 机器人角度制转换为弧度制 159

5.8 智能机器人 167

5.8.1 Robot和AdvancedRobot对应语句 167

5.8.2 探测军情 168

5.8.3 雷达锁定 168

5.8.4 躲避攻击 171

第6章 IBM Robocode智能机器人代码重构——面向对象技术基础 172

6.1 类 172

6.2 设计实现Robocode的Enemy类 174

6.3 代码重构 187

6.3.1 TestRobot机器人代码 187

6.3.2 Controller类代码 189

6.3.3 Driver类代码 190

6.3.4 Scanner类代码 190

6.3.5 Shooter类代码 191

6.3.6 Enemy类代码 191

6.3.7 Battle类代码 193

6.3.8 Me类代码 195

第7章 IBM Robocode智能机器人瞄准算法 198

7.1 瞄准策略 198

7.2 IBM Robocode基本原理之坐标锁定 198

7.3 圆周瞄准详解 199

7.4 改进结果 201

7.5 改进圆周瞄准的性能 202

第8章 IBM Robocode智能机器人移动算法 203

8.1 基本移动策略 203

8.2 Robot和AdvancedRobot的简单移动 203

8.2.1 继承Robot产生的简单机器人的移动 203

8.2.2 继承AdvancedRobot产生的高级机器人的移动 204

8.3 随机移动 205

8.4 有明显规律的主动移动 206

8.5 带有很强随机性的主动移动 208

8.6 能够干扰瞄准的主动移动 209

8.7 根据敌人发弹或者移动规律而采取的被动移动 210

8.8 小结 210

第9章 IBM Robocode智能机器人躲避算法 211

9.1 以静制动躲避算法 211

9.2 因数避墙法 214

9.2.1 添加常见数学计算的辅助方法 214

9.2.2 扩展AdvancedRobot具有倒行功能 215

9.2.3 添加因数避墙法 217

9.2.4 综合因数避墙 218

9.3 躲避子弹 219

第10章 IBM Robocode智能机器人其他知识 221

10.1 强化学习 221

10.1.1 强化学习的原理 221

10.1.2 强化学习的应用 222

10.2 基于游戏教学的Java程序设计改革 226

10.2.1 Java程序设计课程的地位 226

10.2.2 教育游戏概念浅析 227

10.2.3 教育游戏用于Java程序设计教学的优势 228

10.2.4 基于教育游戏的Java程序设计课程教学设计模式 228

10.2.5 Roboeode的教学功能 229

10.3 IBM Robocode是团队对抗性游戏的理想平台 229

10.4 IBM Robocode机器人教育的新载体 231

附:IBM Robocode API 232

参考文献 246

后记 248