模块1 Java平台使用 1
1.1 教学项目及学习情境 1
1.1.1 教学项目 1
1.1.2 学习情境 2
1.2 项目迭代过程 3
1.2.1 课程迭代内容和迭代步骤 3
1.2.2 安装、配置Java开发环境 4
1.2.3 使用Eclipse新建Java游戏程序 7
1.2.4 使用Eclipse集成已开发的Java程序 9
1.3 项目考核方式 11
1.4 过程控制表格 12
1.5 相关知识 13
1.5.1 关于Java 13
1.5.2 Java游戏的一般构成 16
1.5.3 Java开发环境 17
1.5.4 统一过程模型 18
1.5.5 CMM与过程考核 20
1.6 课外实训 21
1.7 课外作业 21
模块2 Java基本模块——类的设计 22
2.1 教学项目及学习情境 22
2.1.1 教学项目 22
2.1.2 学习情境 23
2.2 项目迭代过程 24
2.2.1 简单日期类EnterDate类开发 25
2.2.2 扩展EnterDate类的属性和方法 26
2.2.3 为EnterDate类增加构造方法 29
2.2.4 使用EnterDate与声明EnterDate分离 31
2.2.5 控制EnterDate类属性和方法的访问权限 32
2.2.6 用继承的方式快速产生类 34
2.3 项目考核方式 37
2.4 过程控制表格 39
2.5 相关知识 40
2.5.1 面向对象程序设计概述 40
2.5.2 关于Java程序和类的一些认识 41
2.5.3 类的定义和使用 41
2.5.4 构造方法 43
2.5.5 信息隐藏和封装 43
2.5.6 类的访问控制 44
2.5.7 方法的重载 44
2.5.8 使用继承创建类 44
2.5.9 方法覆盖 45
2.5.10 由覆盖和重载产生的多态性 46
2.5.11 static和final 46
2.5.12 抽象类 46
2.5.13 接口 47
2.5.14 抽象类和接口的多态性 47
2.5.15 内部类 48
2.5.16 Java文件的组织 48
2.6 课外实训 49
2.7 课外作业 50
模块3 图形用户界面设计 51
3.1 教学项目及学习情境 51
3.1.1 教学项目 51
3.1.2 学习情境 52
3.2 项目迭代过程 53
3.2.1 包含一种元素的GUI 53
3.2.2 包含多种元素的GUI 56
3.2.3 有漂亮布局的GUI 59
3.2.4 有交互功能的GUI 62
3.3 项目考核方式 66
3.4 过程控制表格 68
3.5 相关知识 68
3.5.1 GUI概念及相关包 68
3.5.2 GUI的创建步骤 69
3.5.3 常用GUI类 69
3.5.4 GUI布局管理 75
3.5.5 用户交互与事件处理 77
3.5.6 软件模块划分 80
3.6 课外实训 80
3.7 课外作业 82
模块4 用图形图像美化游戏场景 83
4.1 教学项目及学习情境 83
4.1.1 教学项目 83
4.1.2 学习情境 84
4.2 项目迭代过程 85
4.2.1 在Applet上绘图 86
4.2.2 Applet上功能更强的图形绘制 89
4.2.3 其他Applet绘图控制 95
4.2.4 在JFrame中绘制图形 98
4.2.5 在Applet或JFrame中加载图像 102
4.3 项目考核方式 109
4.4 过程控制表格 111
4.5 相关知识 113
4.5.1 Java Applet 113
4.5.2 键盘事件与鼠标事件 114
4.5.3 在Applet和JFrame中绘制图形 119
4.5.4 Graphics类输出基本图形的方法 120
4.5.5 加载图像 128
4.6 课外实训 133
4.7 课外作业 136
模块5 为游戏添加音效 137
5.1 教学项目及学习情境 137
5.1.1 教学项目 137
5.1.2 学习情境 138
5.2 项目迭代过程 139
5.2.1 加载并播放音频文件 139
5.2.2 音频文件播放控制 140
5.2.3 为播放器添加音源选择按钮,实现多个音频文件的列表播放 142
5.3 项目考核方式 146
5.4 过程控制表格 146
5.5 相关知识 148
5.5.1 Java支持的声音文件类型 148
5.5.2 Java支持声音播放的类 148
5.5.3 在Applet中播放声音文件 148
5.5.4 JFrame中播放声音文件 151
5.5.5 用线程控制声音播放,实现背景音乐效果 152
5.6 课外实训 155
5.7 课外作业 156
模块6 为游戏添加动画 157
6.1 教学项目及学习情境 157
6.1.1 教学项目 157
6.1.2 学习情境 158
6.2 项目迭代过程 159
6.2.1 创建基本动画 160
6.2.2 用线程控制动画的间隔和屏幕刷新 165
6.2.3 多个动画并发控制 174
6.2.4 利用双缓冲消除屏闪 176
6.3 项目考核方式 181
6.4 过程控制表格 182
6.5 相关知识 183
6.5.1 动画及其形成原理 183
6.5.2 线程 184
6.5.3 线程与动画 189
6.5.4 Java在屏幕上画图的方法 190
6.5.5 屏幕双缓冲绘图 190
6.5.6 Java动画中消除屏闪的两种方法 191
6.6 课外实训 192
6.7 课外作业 192
模块7 为游戏添加网络功能和游戏逻辑 193
7.1 教学项目及学习情境 193
7.1.1 教学项目 193
7.1.2 学习情境 194
7.2 项目迭代过程 195
7.2.1 简单的网络通信 196
7.2.2 构造多线程服务器,实现一个服务器与多个客户端通信 198
7.2.3 将客户端改为Applet,实现B/S架构 202
7.2.4 在通信双方之间传送更多信息,以实现游戏逻辑,并设计客户端GUI 205
7.3 项目考核方式 219
7.4 过程控制表格 220
7.5 相关知识 222
7.5.1 网络通信基础 222
7.5.2 Java网络通信概述 226
7.5.3 Socket类和ServerSocket类 227
7.5.4 基于Socket通信的C/S架构服务器端和客户端 229
7.5.5 一个服务器端为多个客户端服务 233
7.6 课外实训 236
7.7 课外作业 237
模块8 游戏集成与发布 238
8.1 教学项目及学习情境 238
8.1.1 教学项目 238
8.1.2 学习情境 239
8.2 项目迭代过程 240
8.2.1 利用Eclipse制作简单项目的*.jar文件 240
8.2.2 利用Eclipse制作含有多个*.class文件的项目的*.jar文件 243
8.2.3 利用Eclipse制作包含图片等资源文件的项目的*.jar文件 245
8.3 项目考核方式 251
8.4 过程控制表格 251
8.5 相关知识 252
8.5.1 集成与发布概念 252
8.5.2 将Java项目发布为JAR文件 253
8.5.3 将JAR文件转换为EXE文件 254
8.5.4 将EXE文件和JRE打包成安装文件 254
8.5.5 Java游戏开发全过程 255
8.6 课外实训 255
8.7 课外作业 255
参考文献 256