《Java 游戏编程开发教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:郑秋生,夏敏捷主编;杨关,程传鹏,王佩雪副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302419913
  • 页数:376 页
图书介绍:

第1章 计算机游戏开发Java基础 1

1.1 计算机游戏的发展历史 1

1.2 计算机游戏的类型 3

1.2.1 RPG(角色扮演类)游戏 3

1.2.2 SLG(策略类)游戏 4

1.2.3 AVG(冒险类)游戏 4

1.2.4 PUZ(益智类)游戏 5

1.2.5 STG(射击类)游戏 5

1.2.6 ACT(动作过关类)游戏 6

1.2.7 RAC(赛车类)游戏 6

1.3 计算机游戏的策划和开发工具 7

1.3.1 游戏的策划基本概念 7

1.3.2 游戏设计的基本内容 8

1.3.3 游戏的程序开发工具 9

1.4 开发游戏的Java技术 10

1.4.1 标识符 10

1.4.2 基本类型 11

1.4.3 运算符和表达式 12

1.4.4 类型转换 14

1.4.5 打印语句 15

1.4.6 逻辑控制语句 15

1.5 Java语言的类和对象 19

1.5.1 对象 19

1.5.2 成员方法和类的特点 21

1.5.3 包 25

1.5.4 Java访问权限修饰符 26

1.5.5 Java语言注释 26

1.6 Java数组和Vector容器应用 28

1.6.1 Java数组 28

1.6.2 Vector容器 29

1.7 文件操作 30

1.7.1 字节流 31

1.7.2 字符流 33

第2章 游戏图形界面开发基础 34

2.1 AWT简介 34

2.2 Swing基础 34

2.3 Swing组件 35

2.3.1 按钮(JButton) 35

2.3.2 单选按钮(JRadioButton) 36

2.3.3 复选框(JCheckBox) 37

2.3.4 组合框(JComboBox) 38

2.3.5 列表(JList) 39

2.3.6 文本框(JTextField和JPasswordField) 40

2.3.7 面板(JPanel) 41

2.3.8 表格(JTable) 42

2.3.9 框架(JFrame) 42

2.4 布局管理器 43

2.4.1 布局管理器的概述 43

2.4.2 流布局管理器(FlowLayout) 44

2.4.3 边界布局(BorderLayout) 44

2.4.4 卡片布局管理器(CardLayout) 45

2.4.5 网格布局管理器(GridLayout) 45

2.4.6 null布局管理器 46

2.5 常用事件处理 46

2.5.1 动作事件处理 46

2.5.2 鼠标事件处理 48

2.5.3 键盘事件处理 50

第3章 Java图形处理和Java 2D 52

3.1 Java图形坐标系统和图形上下文 52

3.2 Color类 53

3.3 Font类和FontMetrics类 54

3.3.1 Font类 54

3.3.2 FontMetrics类 55

3.4 常用的绘图方法 56

3.4.1 绘制直线 56

3.4.2 绘制矩形 56

3.4.3 绘制椭圆 57

3.4.4 绘制弧形 59

3.4.5 绘制多边形和折线段 59

3.4.6 清除绘制的图形 61

3.5 Java 2D简介 61

3.5.1 Java 2D API 61

3.5.2 Graphics2D简介 61

3.5.3 Graphics2D的图形绘制 63

3.5.4 Graphics2D的属性设置 64

3.5.5 路径类 68

3.5.6 平移、缩放或旋转图形 71

第4章 Java游戏程序的基本框架 72

4.1 动画的类型及帧频 72

4.1.1 动画类型 72

4.1.2 设置合理的帧频 72

4.2 游戏动画的制作 73

4.2.1 绘制动画以及动画循环 73

4.2.2 消除动画闪烁现象——双缓冲技术 76

4.3 使用定时器 79

4.4 设置游戏难度 81

4.5 游戏与玩家的交互 81

4.6 游戏中的碰撞检测 82

4.6.1 矩形碰撞 83

4.6.2 圆形碰撞 85

4.6.3 像素碰撞 85

4.7 游戏中的图像绘制 86

4.7.1 图像文件的装载 86

4.7.2 图像文件的显示 87

4.7.3 绘制卷轴型图像 91

4.7.4 绘制砖块型图像 91

4.8 游戏角色开发 93

4.9 游戏声音效果设定 96

第5章 推箱子游戏 99

5.1 推箱子游戏介绍 99

5.2 程序设计的思路 100

5.3 程序设计的步骤 102

5.3.1 设计地图数据类(MapFactory.java) 102

5.3.2 设计地图类(Map.java) 103

5.3.3 设计游戏面板类(GarneFrarne.java) 104

5.3.4 播放背景音乐类(Sound.java) 112

第6章 雷电飞机射击游戏 114

6.1 雷电游戏介绍 114

6.2 程序设计的思路 115

6.2.1 游戏素材 115

6.2.2 地图滚动的原理实现 115

6.2.3 飞机和子弹的实现 116

6.2.4 主角飞机子弹与敌机的碰撞检测 117

6.3 关键技术 118

6.3.1 多线程 118

6.3.2 Java的Thread类和Runnable接口 119

6.4 雷电飞机游戏设计的步骤 123

6.4.1 设计子弹类(Bullet.java) 123

6.4.2 设计敌机类(Enemy.java) 124

6.4.3 设计游戏界面类(GamePanel.java) 126

6.4.4 设计游戏窗口类(planeFrame.java) 131

第7章 21点扑克牌游戏 132

7.1 21点扑克牌游戏介绍 132

7.2 关键技术 133

7.2.1 扑克牌面绘制 133

7.2.2 识别牌的点数 133

7.2.3 Dealer(庄家)要牌智能实现 134

7.2.4 游戏规则的算法实现 134

7.3 程序设计的步骤 135

7.3.1 设计扑克牌类(Card.java) 135

7.3.2 设计一副牌类(Poker.java) 136

7.3.3 设计游戏面板类(PokerPanel.java) 137

7.3.4 设计游戏主窗口类(Pai.java) 140

第8章 连连看游戏 143

8.1 连连看游戏介绍 143

8.2 程序设计的思路 144

8.2.1 连连看游戏数据模型 144

8.2.2 动物方块布局 144

8.2.3 连通算法 145

8.2.4 智能查找功能的实现 152

8.3 关键技术 155

8.3.1 动物方块图案的显示 155

8.3.2 鼠标相关的事件 156

8.3.3 延时功能 161

8.4 程序设计的步骤 162

8.4.1 设计游戏界面窗体(LLKFrame.java) 162

8.4.2 设计游戏面板类(LLKPanel.java) 163

第9章 人物拼图游戏 169

9.1 人物拼图游戏介绍 169

9.2 程序设计的思路 169

9.3 关键技术 170

9.3.1 按钮显示图片实现 170

9.3.2 图片按钮移动实现 171

9.3.3 从BufferedImage转化成ImageIcon 171

9.4 程序设计的步骤 171

9.4.1 设计单元图片类(Cell.java) 171

9.4.2 枚举类型(Direction.java) 173

9.4.3 游戏面板类(GamePanel.java) 173

9.4.4 主窗口类(MainFrame.java) 177

第10章 对对碰游戏(按钮版) 179

10.1 对对碰游戏介绍 179

10.2 程序设计的思路 180

10.2.1 游戏素材 180

10.2.2 设计思路 181

10.3 关键技术 181

10.3.1 动态生成8×8的按钮 181

10.3.2 进度条组件JProgressBar 182

10.3.3 定时器功能 183

10.4 程序设计的步骤 183

10.4.1 设计游戏窗口类(MyJframes.java) 183

10.4.2 设计内部定时器类 191

第11章 对对碰游戏(图形版) 192

11.1 对对碰游戏介绍 192

11.2 对对碰游戏设计思路 192

11.2.1 游戏素材 192

11.2.2 设计思路 193

11.3 程序设计的步骤 193

11.3.1 设计游戏窗口类(GameRoom.java) 193

11.3.2 设计内部游戏面板类 199

11.3.3 设计内部定时器类 200

第12章 华容道游戏 201

12.1 华容道游戏介绍 201

12.2 华容道游戏设计思路 201

12.2.1 数据结构 201

12.2.2 游戏逻辑 202

12.3 程序设计的步骤 202

12.3.1 创建游戏人物按钮类(Person) 202

12.3.2 游戏窗体类(Hua_Rong_Road.java) 203

第13章 开心农场 208

13.1 开心农场游戏介绍 208

13.2 程序设计的思路 208

13.2.1 游戏素材 208

13.2.2 设计思路 209

13.3 关键技术——实现图形按钮 209

13.4 开心农场设计的步骤 210

13.4.1 设计农作物类(Crop.java) 210

13.4.2 设计背景的面板(BackgroundPanel.java) 210

13.4.3 设计农场类(Farm.java) 211

13.4.4 设计窗体类(MainFrame.java) 213

第14章 单机版五子棋游戏 217

14.1 单机版五子棋游戏简介 217

14.2 五子棋设计思想 217

14.3 关键技术 218

14.3.1 Vector向量容器 218

14.3.2 判断输赢的算法 219

14.4 程序设计的步骤 220

第15章 “网络五子棋”游戏 226

15.1 “网络五子棋”游戏简介 226

15.2 五子棋设计思想 227

15.2.1 界面设计 227

15.2.2 通信协议 227

15.3 关键技术 229

15.3.1 Socket技术 229

15.3.2 InetAddress类简介 230

15.3.3 ServerSocket类 232

15.3.4 Socket类 234

15.4 程序设计的步骤 236

15.4.1 设计服务器端(Server.java) 236

15.4.2 设计客户端类(Client.java) 245

第16章 网络中国象棋 252

16.1 中国象棋介绍 252

16.2 关键技术 253

16.2.1 UDP简介 253

16.2.2 DatagramPacket类 254

16.2.3 DatagramSocket类 255

16.2.4 P2P知识 257

16.3 网络中国象棋设计思路 257

16.3.1 棋盘表示 257

16.3.2 棋子表示 258

16.3.3 走棋规则 258

16.3.4 坐标转换 260

16.3.5 通信协议设计 260

16.3.6 网络通信传递棋子信息 261

16.4 网络中国象棋实现的步骤 262

16.4.1 设计棋子类(Chess.java) 262

16.4.2 设计棋盘类(C hessBoard.java) 264

16.4.3 设计游戏窗体(Frmchess.java) 277

第17章 RGP走迷宫游戏 281

17.1 RGP走迷宫游戏介绍 281

17.2 程序设计的思路 281

17.2.1 游戏素材 281

17.2.2 设计思路 282

17.2.3 RGP人物的动画 282

17.3 走迷宫游戏设计的步骤 284

17.3.1 设计主窗体类(miGong.java) 284

17.3.2 设计游戏面板类(MyPanel.java) 284

第18章 百变方块游戏 290

18.1 百变方块游戏介绍 290

18.2 关键技术 291

18.2.1 几何图形的绘制 291

18.2.2 几何图形的平移旋转 293

18.2.3 给GeneralPath包含的图形填充颜色 297

18.3 游戏设计思路 299

18.4 程序设计的步骤 299

18.4.1 设计拼块类(CChip.cs) 299

18.4.2 设计面板视图类(MyJPanel.java) 304

18.4.3 设计主类(MainBlock.java) 311

第19章 打猎游戏 313

19.1 打猎游戏介绍 313

19.2 程序设计的思路 313

19.2.1 游戏素材 313

19.2.2 设计思路 314

19.3 关键技术 314

19.3.1 控制动物组件的移动速度 314

19.3.2 随机间歇产生动物组件 315

19.3.3 玻璃面板显示 316

19.4 打猎游戏设计的步骤 317

19.4.1 设计小鸟类(BirdLabel.java) 317

19.4.2 设计野猪类(PigLabel.java) 319

19.4.3 设计背景面板类(BackgroundPanel.java) 320

19.4.4 设计主窗体类(MainFrame.java) 321

第20章 2.5 D游戏 325

20.1 2.5 D游戏介绍 325

20.2 2.5 D游戏设计思路 326

20.3 程序设计的步骤 329

20.3.1 创建游戏界面类(PushBox.java) 329

20.3.2 设计游戏窗口类(BoxFrame2.java) 332

第21章 俄罗斯方块游戏 336

21.1 俄罗斯方块游戏介绍 336

21.2 程序设计的思路 337

21.2.1 俄罗斯方块形状设计 337

21.2.2 俄罗斯方块游戏面板屏幕 338

21.2.3 俄罗斯方块游戏运行流程 339

21.3 俄罗斯方块设计的步骤 339

21.3.1 设计游戏界面类(Tetrisblok.java) 339

21.3.2 设计游戏窗口类(TetrisFrame.java) 346

第22章 两人麻将游戏 348

22.1 麻将游戏介绍 348

22.2 两人麻将游戏设计的思路 349

22.2.1 素材图片 349

22.2.2 游戏逻辑实现 350

22.2.3 碰、吃牌判断 351

22.2.4 胡牌算法 352

22.2.5 实现计算机智能出牌 355

22.3 关键技术 357

22.3.1 对ArrayList进行排序 357

22.3.2 设置Java组件的重叠顺序 358

22.4 两人麻将游戏设计的步骤 359

22.4.1 麻将牌类设计(Card.java) 359

22.4.2 游戏面板类设计(frogPanel.java) 360

22.4.3 游戏主窗口类设计(frogFrame.java) 372

参考文献 375