目录
第1章计算机游戏开发Java基础
1.1计算机游戏的发展历史
1.2计算机游戏的类型
1.2.1RPG(角色扮演类)游戏
1.2.2SLG(策略类)游戏
1.2.3AVG(冒险类)游戏
1.2.4PUZ(益智类)游戏
1.2.5STG(射击类)游戏
1.2.6ACT(动作过关类)游戏
1.2.7RAC(赛车类)游戏
1.3计算机游戏的策划和开发工具
1.3.1游戏的策划基本概念
1.3.2游戏设计的基本内容
1.3.3游戏的程序开发工具
1.4开发游戏的Java技术
1.4.1标识符
1.4.2基本类型
1.4.3运算符和表达式
1.4.4类型转换
1.4.5打印语句
1.4.6逻辑控制语句
1.5Java语言的类和对象
1.5.1对象
1.5.2成员方法和类的特点
1.5.3包
1.5.4Java访问权限修饰符
1.5.5Java语言注释
1.6Java数组和Vector容器应用
1.6.1Java数组
1.6.2Vector容器
1.7文件操作
1.7.1字节流
1.7.2字符流
第2章游戏图形界面开发基础
2.1AWT简介
2.2Swing基础
2.3Swing组件
2.3.1按钮(JButton)
2.3.2单选按钮(JRadioButton)
2.3.3复选框(JCheckBox)
2.3.4组合框(JComboBox)
2.3.5列表(JList)
2.3.6文本框(JTextField和JPasswordField)
2.3.7面板(JPanel)
2.3.8表格(JTable)
2.3.9框架(JFrame)
2.4布局管理器
2.4.1布局管理器的概述
2.4.2流布局管理器(FlowLayout)
2.4.3边界布局(BorderLayout)
2.4.4卡片布局管理器(CardLayout)
2.4.5网格布局管理器(GridLayout)
2.4.6null布局管理器
2.5常用事件处理
2.5.1动作事件处理
2.5.2鼠标事件处理
2.5.3键盘事件处理
第3章Java图形处理和Java 2D
3.1Java图形坐标系统和图形上下文
3.2Color类
3.3Font类和FontMetrics类
3.3.1Font类
3.3.2FontMetrics类
3.4常用的绘图方法
3.4.1绘制直线
3.4.2绘制矩形
3.4.3绘制椭圆
3.4.4绘制弧形
3.4.5绘制多边形和折线段
3.4.6清除绘制的图形
3.5Java 2D简介
3.5.1Java 2D API
3.5.2Graphics2D简介
3.5.3Graphics2D的图形绘制
3.5.4Graphics2D的属性设置
3.5.5路径类
3.5.6平移、缩放或旋转图形
第4章Java游戏程序的基本框架
4.1动画的类型及帧频
4.1.1动画类型
4.1.2设置合理的帧频
4.2游戏动画的制作
4.2.1绘制动画以及动画循环
4.2.2消除动画闪烁现象——双缓冲技术
4.3使用定时器
4.4设置游戏难度
4.5游戏与玩家的交互
4.6游戏中的碰撞检测
4.6.1矩形碰撞
4.6.2圆形碰撞
4.6.3像素碰撞
4.7游戏中的图像绘制
4.7.1图像文件的装载
4.7.2图像文件的显示
4.7.3绘制卷轴型图像
4.7.4绘制砖块型图像
4.8游戏角色开发
4.9游戏声音效果设定
第5章推箱子游戏
5.1推箱子游戏介绍
5.2程序设计的思路
5.3程序设计的步骤
5.3.1设计地图数据类(MapFactory.java)
5.3.2设计地图类(Map.java)
5.3.3设计游戏面板类(GameFrame.java)
5.3.4播放背景音乐类(Sound.java)
第6章雷电飞机射击游戏
6.1雷电游戏介绍
6.2程序设计的思路
6.2.1游戏素材
6.2.2地图滚动的原理实现
6.2.3飞机和子弹的实现
6.2.4主角飞机子弹与敌机的碰撞检测
6.3关键技术
6.3.1多线程
6.3.2Java的Thread类和Runnable接口
6.4雷电飞机游戏设计的步骤
6.4.1设计子弹类(Bullet.java)
6.4.2设计敌机类(Enemy.java)
6.4.3设计游戏界面类(GamePanel.java)
6.4.4设计游戏窗口类(planeFrame.java)
第7章21点扑克牌游戏
7.121点扑克牌游戏介绍
7.2关键技术
7.2.1扑克牌面绘制
7.2.2识别牌的点数
7.2.3Dealer(庄家)要牌智能实现
7.2.4游戏规则的算法实现
7.3程序设计的步骤
7.3.1设计扑克牌类(Card.java)
7.3.2设计一副牌类(Poker.java)
7.3.3设计游戏面板类(PokerPanel.java)
7.3.4设计游戏主窗口类(Pai.java)
第8章连连看游戏
8.1连连看游戏介绍
8.2程序设计的思路
8.2.1连连看游戏数据模型
8.2.2动物方块布局
8.2.3连通算法
8.2.4智能查找功能的实现
8.3关键技术
8.3.1动物方块图案的显示
8.3.2鼠标相关的事件
8.3.3延时功能
8.4程序设计的步骤
8.4.1设计游戏界面窗体(LLKFrame.java)
8.4.2设计游戏面板类(LLKPanel.java)
第9章人物拼图游戏
9.1人物拼图游戏介绍
9.2程序设计的思路
9.3关键技术
9.3.1按钮显示图片实现
9.3.2图片按钮移动实现
9.3.3从BufferedImage转化成ImageIcon
9.4程序设计的步骤
9.4.1设计单元图片类(Cell.java)
9.4.2枚举类型(Direction.java)
9.4.3游戏面板类(GamePanel.java)
9.4.4主窗口类(MainFrame.java)
第10章对对碰游戏(按钮版)
10.1对对碰游戏介绍
10.2程序设计的思路
10.2.1游戏素材
10.2.2设计思路
10.3关键技术
10.3.1动态生成8×8的按钮
10.3.2进度条组件JProgressBar
10.3.3定时器功能
10.4程序设计的步骤
10.4.1设计游戏窗口类(MyJframes.java)
10.4.2设计内部定时器类
第11章对对碰游戏(图形版)
11.1对对碰游戏介绍
11.2对对碰游戏设计思路
11.2.1游戏素材
11.2.2设计思路
11.3程序设计的步骤
11.3.1设计游戏窗口类(GameRoom.java)
11.3.2设计内部游戏面板类
11.3.3设计内部定时器类
第12章华容道游戏
12.1华容道游戏介绍
12.2华容道游戏设计思路
12.2.1数据结构
12.2.2游戏逻辑
12.3程序设计的步骤
12.3.1创建游戏人物按钮类(Person)
12.3.2游戏窗体类(Hua_Rong_Road.Java)
第13章开心农场
13.1开心农场游戏介绍
13.2程序设计的思路
13.2.1游戏素材
13.2.2设计思路
13.3关键技术——实现图形按钮
13.4开心农场设计的步骤
13.4.1设计农作物类(Crop.java)
13.4.2设计背景的面板(BackgroundPanel.java)
13.4.3设计农场类(Farm.java)
13.4.4设计窗体类(MainFrame.java)
第14章单机版五子棋游戏
14.1单机版五子棋游戏简介
14.2五子棋设计思想
14.3关键技术
14.3.1Vector向量容器
14.3.2判断输赢的算法
14.4程序设计的步骤
第15章“网络五子棋”游戏
15.1“网络五子棋”游戏简介
15.2五子棋设计思想
15.2.1界面设计
15.2.2通信协议
15.3关键技术
15.3.1Socket技术
15.3.2InetAddress类简介
15.3.3ServerSocket类
15.3.4Socket类
15.4程序设计的步骤
15.4.1设计服务器端(Server.java)
15.4.2设计客户端类(Client.java)
第16章网络中国象棋
16.1中国象棋介绍
16.2关键技术
16.2.1UDP简介
16.2.2DatagramPacket类
16.2.3DatagramSocket类
16.2.4P2P知识
16.3网络中国象棋设计思路
16.3.1棋盘表示
16.3.2棋子表示
16.3.3走棋规则
16.3.4坐标转换
16.3.5通信协议设计
16.3.6网络通信传递棋子信息
16.4网络中国象棋实现的步骤
16.4.1设计棋子类(Chess.java)
16.4.2设计棋盘类(ChessBoard.java)
16.4.3设计游戏窗体(Frmchess.java)
第17章RGP走迷宫游戏
17.1RGP走迷宫游戏介绍
17.2程序设计的思路
17.2.1游戏素材
17.2.2设计思路
17.2.3RGP人物的动画
17.3走迷宫游戏设计的步骤
17.3.1设计主窗体类(miGong.java)
17.3.2设计游戏面板类(MyPanel.java)
第18章百变方块游戏
18.1百变方块游戏介绍
18.2关键技术
18.2.1几何图形的绘制
18.2.2几何图形的平移旋转
18.2.3给GeneralPath包含的图形填充颜色
18.3游戏设计思路
18.4程序设计的步骤
18.4.1设计拼块类(CChip.cs)
18.4.2设计面板视图类(MyJPanel.java)
18.4.3设计主类(MainBlock.java)
第19章打猎游戏
19.1打猎游戏介绍
19.2程序设计的思路
19.2.1游戏素材
19.2.2设计思路
19.3关键技术
19.3.1控制动物组件的移动速度
19.3.2随机间歇产生动物组件
19.3.3玻璃面板显示
19.4打猎游戏设计的步骤
19.4.1设计小鸟类(BirdLabel.java)
19.4.2设计野猪类(PigLabel.java)
19.4.3设计背景面板类(BackgroundPanel.java)
19.4.4设计主窗体类(MainFrame.java)
第20章2.5D游戏
20.12.5D游戏介绍
20.22.5D游戏设计思路
20.3程序设计的步骤
20.3.1创建游戏界面类(PushBox.java)
20.3.2设计游戏窗口类(BoxFrame2.java)
第21章俄罗斯方块游戏
21.1俄罗斯方块游戏介绍
21.2程序设计的思路
21.2.1俄罗斯方块形状设计
21.2.2俄罗斯方块游戏面板屏幕
21.2.3俄罗斯方块游戏运行流程
21.3俄罗斯方块设计的步骤
21.3.1设计游戏界面类(Tetrisblok.java)
21.3.2设计游戏窗口类(TetrisFrame.java)
第22章两人麻将游戏
22.1麻将游戏介绍
22.2两人麻将游戏设计的思路
22.2.1素材图片
22.2.2游戏逻辑实现
22.2.3碰、吃牌判断
22.2.4胡牌算法
22.2.5实现计算机智能出牌
22.3关键技术
22.3.1对ArrayList进行排序
22.3.2设置Java组件的重叠顺序
22.4两人麻将游戏设计的步骤
22.4.1麻将牌类设计(Card.java)
22.4.2游戏面板类设计(frogPanel.java)
22.4.3游戏主窗口类设计(frogFrame.java)
参考文献