目錄
第1章計算機游戲開發(fā)Java基礎
1.1計算機游戲的發(fā)展歷史
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計算機游戲的策劃和開發(fā)工具
1.3.1游戲的策劃基本概念
1.3.2游戲設計的基本內容
1.3.3游戲的程序開發(fā)工具
1.4開發(fā)游戲的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字節(jié)流
1.7.2字符流
第2章游戲圖形界面開發(fā)基礎
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圖形坐標系統(tǒng)和圖形上下文
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繪制動畫以及動畫循環(huán)
4.2.2消除動畫閃爍現(xiàn)象——雙緩沖技術
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游戲角色開發(fā)
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地圖滾動的原理實現(xiàn)
6.2.3飛機和子彈的實現(xiàn)
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(莊家)要牌智能實現(xiàn)
7.2.4游戲規(guī)則的算法實現(xiàn)
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智能查找功能的實現(xiàn)
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按鈕顯示圖片實現(xiàn)
9.3.2圖片按鈕移動實現(xiàn)
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動態(tài)生成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創(chuàng)建游戲人物按鈕類(Person)
12.3.2游戲窗體類(Hua_Rong_Road.Java)
第13章開心農場
13.1開心農場游戲介紹
13.2程序設計的思路
13.2.1游戲素材
13.2.2設計思路
13.3關鍵技術——實現(xiàn)圖形按鈕
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通信協(xié)議
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走棋規(guī)則
16.3.4坐標轉換
16.3.5通信協(xié)議設計
16.3.6網絡通信傳遞棋子信息
16.4網絡中國象棋實現(xiàn)的步驟
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創(chuàng)建游戲界面類(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游戲邏輯實現(xiàn)
22.2.3碰、吃牌判斷
22.2.4胡牌算法
22.2.5實現(xiàn)計算機智能出牌
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)
參考文獻