Java游戏编程原理与实践教程 陈锐 夏敏捷 葛丽萍 编著 PDF下载

转载至:  https://www.jb51.net/books/231710.html

下载链接: 

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!

《21世纪高等教育计算机规划教材:Java游戏编程原理与实践教程》从最基本的Java图形开发开始,对游戏的原理及其Java程序实现进行了详细介绍,包括动画的实现、音效的处理、鼠标和键盘事件的处理等。《21世纪高等教育计算机规划教材:Java游戏编程原理与实践教程》最大的特色在于以游戏开发案例为主要内容,书中涉及的游戏都是大家耳熟能详的。比如推箱子、连连看、网络中国象棋、开心农场等。

第1章 电脑游戏开发概述 1

1.1 电脑游戏的发展历史 1

1.2 电脑游戏的类型 2

1.3 电脑游戏的策划 7

1.3.1 游戏策划的基本概念 7

1.3.2 游戏设计的基本内容 7

1.4 电脑游戏的程序开发工具 8

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

2.1 AWT简介 11

2.2 Swing基础 11

2.3 Swing组件 12

2.3.1 按钮(Jbutton) 12

2.3.2 单选按钮(JRadioButton) 12

2.3.3 复选框(JCheckBox) 14

2.3.4 组合框(JComboBox) 15

2.3.5 列表(JList) 16

2.3.6 文本框(JTextField和JPasswordField) 16

2.3.7 面板(JPanel) 17

2.3.8 表格(JTable) 18

2.3.9 框架(JFrame) 19

2.4 布局管理器 19

2.4.1 布局管理器概述 20

2.4.2 流布局管理器FlowLayout 20

2.4.3 边界布局BorderLayout 20

2.4.4 卡片布局管理器CardLayout 21

2.4.5 网格布局管理器GridLayout 21

2.4.6 null布局管理器 22

2.5 常用事件处理 22

2.5.1 动作事件处理 22

2.5.2 鼠标事件处理 23

2.5.3 键盘事件处理 25

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

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

3.2 Color类 28

3.3 Font类和FontMetrics类 29

3.3.1 Font类 29

3.3.2 FontMetrics类 30

3.4 常用的绘图方法 31

3.4.1 绘制直线 31

3.4.2 绘制矩形 31

3.4.3 绘制椭圆 32

3.4.4 绘制弧形 33

3.4.5 绘制多边形和折线段 34

3.4.6 清除绘制的图形 35

3.5 Java 2D简介 35

3.5.1 Java 2D API 35

3.5.2 Graphics2D简介 36

3.5.3 Graphics2D绘制 37

3.5.4 Graphics2D的属性设置 39

3.5.5 路径类 42

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

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

4.1 动画的类型及帧频 45

4.1.1 动画类型 45

4.1.2 设置合理的帧频 45

4.2 游戏动画的制作 46

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

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

4.3 使用定时器 52

4.4 设置游戏难度 53

4.5 游戏与玩家的交互 53

4.6 游戏中的碰撞检测 55

4.6.1 矩形碰撞 55

4.6.2 圆形碰撞 57

4.6.3 像素碰撞 57

4.7 游戏中图像的绘制 58

4.7.1 图像文件的装载 58

4.7.2 图像文件的显示 59

4.7.3 绘制卷轴型图像 62

4.7.4 绘制砖块型图像 62

4.8 游戏角色开发 63

4.9 游戏声音效果的设定 66

第5章 推箱子游戏 68

5.1 推箱子游戏介绍 68

5.2 程序设计的思路 69

5.3 程序设计的步骤 71

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

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

5.3.3 设计游戏面板类(GameFrame.java) 73

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

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

6.1 雷电游戏介绍 82

6.2 程序设计的思路 82

6.2.1 游戏素材 82

6.2.2 地图滚动的原理实现 83

6.2.3 飞机和子弹的实现 84

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

6.3 关键技术 86

6.3.1 多线程 86

6.3.2 Java的Thread类和Runnable接口 87

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

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

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

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

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

第7章 21点扑克牌游戏 99

7.1 21点扑克牌游戏介绍 99

7.2 关键技术 100

7.2.1 扑克牌面绘制 100

7.2.2 识别牌的点数 100

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

7.2.4 游戏规则的算法实现 101

7.3 程序设计的步骤 102

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

7.3.2 设计一副扑克类(Poker.java) 103

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

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

第8章 连连看游戏 109

8.1 连连看游戏介绍 109

8.2 程序设计的思路 110

8.2.1 连连看游戏数据模型 110

8.2.2 动物方块布局 111

8.2.3 连通算法 111

8.2.4 智能查找功能的实现 118

8.3 关键技术 120

8.3.1 动物方块图案的显示 120

8.3.2 鼠标相关的事件 121

8.3.3 延时功能 126

8.4 程序设计的步骤 127

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

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

第9章 人物拼图游戏 133

9.1 人物拼图游戏介绍 133

9.2 程序设计的思路 133

9.3 关键技术 134

9.3.1 按钮显示图片的实现 134

9.3.2 图片按钮移动的实现 134

9.3.3 从BufferedImage转换成ImageIcon 135

9.4 程序设计的步骤 135

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

9.4.2 枚举类型Direction.java 136

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

9.4.4 主窗口类(MainFrame.java) 140

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

10.1 对对碰游戏介绍 142

10.2 程序设计的思路 143

10.2.1 游戏素材 143

10.2.2 设计思路 143

10.3 关键技术 144

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

10.3.2 进度条组件(JProgressBar) 145

  10.3.3 定时器功能 145

  10.4 程序设计的步骤 145

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

  10.4.2 设计内部定时器类 153

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

  11.1 对对碰游戏介绍 154

  11.2 对对碰游戏设计思路 154

  11.2.1 游戏素材 154

  11.2.2 设计思路 155

  11.3 程序设计的步骤 155

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

  11.3.2 设计内部游戏面板类 161

  11.3.3 设计内部定时器类 161

第12章 俄罗斯方块游戏 162

  12.1 俄罗斯方块游戏介绍 162

  12.2 程序设计的思路 163

  12.2.1 俄罗斯方块形状的设计 163

  12.2.2 俄罗斯方块游戏的面板屏幕 164

  12.2.3 俄罗斯方块游戏的运行流程 165

  12.3 俄罗斯方块设计的步骤 165

  12.3.1 设计游戏界面类(Tetrisblok.java) 165

  12.3.2 设计游戏窗口类(TetrisFrame.java) 171

第13章 开心农场 173

  13.1 开心农场游戏介绍 173

  13.2 程序设计的思路 173

  13.2.1 游戏素材 173

  13.2.2 设计思路 174

  13.3 关键技术 174

  13.3.1 实现图形按钮 174

  13.4 开心农场设计的步骤 175

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

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

  13.4.3 设计农场类(Farml.java) 176

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

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

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

  14.2 五子棋设计思想 182

  14.3 关键技术 183

  14.3.1 Vector向量容器 183

  14.3.2 判断输赢的算法 184

  14.4 程序设计的步骤 185

  14.4.1 设计窗口类(wuziqi2.java) 185

第15章 网络五子棋游戏 190

  15.1 网络五子棋游戏简介 190

  15.2 五子棋设计思想 191

  15.2.1 界面设计 191

  15.2.2 通信协议 192

  15.3 关键技术 193

  15.3.1 Socket技术 193

  15.3.2 InetAddress类简介 194

  15.3.3 ServerSocket类 195

  15.3.4 Socket类 197

  15.4 程序设计的步骤 199

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

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

第16章 网络中国象棋 214

  16.1 中国象棋介绍 214

  16.2 关键技术 215

  16.2.1 UDP简介 215

  16.2.2 DatagramPacket类 215

  16.2.3 DatagramSocket类 216

  16.2.4 P2P知识 218

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

  16.3.1 棋盘表示 219

  16.3.2 棋子表示 219

  16.3.3 走棋规则 220

  16.3.4 坐标转换 221

  16.3.5 通信协议设计 221

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

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

  16.4.1 设计棋子类(chess.java) 223

  16.4.2 设计棋盘类(ChessBoard.java) 225

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

第17章 RGP走迷宫游戏 241

  17.1 RGP走迷宫游戏介绍 241

  17.2 程序设计的思路 241

  17.2.1 游戏素材 241

  17.2.2 设计思路 242

  17.2.3 RGP人物的动画 242

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

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

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

第18章 青蛙过河游戏 249

  18.1 青蛙过河游戏介绍 249

  18.2 程序设计的思路 249

  18.2.1 游戏素材 249

  18.2.2 设计思路 250

  18.3 青蛙过河游戏设计的步骤 250

  18.3.1 设计青蛙方块类(frogCell.java) 250

  18.3.2 设计游戏面板类(frogPanel.java) 251

  18.3.3 设计主窗体类(frogFrame.java) 254

第19章 打猎游戏 256

  19.1 打猎游戏介绍 256

  19.2 程序设计的思路 256

  19.2.1 游戏素材 256

  19.2.2 设计思路 257

  19.3 关键技术 257

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

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

  19.3.3 玻璃面板显示 259

  19.4 打猎游戏设计的步骤 259

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

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

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

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

第20章 2.5D游戏 267

  20.1 2.5D游戏介绍 267

  20.2 2.5D游戏设计思路 268

  20.3 程序设计的步骤 270

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

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


打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

随手一点
  • 打酱油

    15人

  • 74人

  • 呵呵

    8人

  • 草泥马

    6人

文章评论 抢沙发