《21世紀高等教育計算機規劃教材:Java游戲編程原理與實踐教程》從最基本的Java圖形開發開始,對游戲的原理及其Java程序實現進行了詳細介紹,包括動畫的實現、音效的處理、鼠標和鍵盤事件的處理等。《21世紀高等教育計算機規劃教材:Java游戲編程原理與實踐教程》最大的特色在于以游戲開發案例為主要內容,書中涉及的游戲都是大家耳熟能詳的。比如推箱子、連連看、網絡中國象棋、開心農場等。使你對枯燥的語言學習充滿樂趣,對于初中級的Java學習者是一份很好的參考資料。書中不僅列出了完整的游戲代碼,同時對所有的源代碼進行了非常詳細的解釋,做到了通俗易懂且圖文并茂。
《21世紀高等教育計算機規劃教材:Java游戲編程原理與實踐教程》不僅可作為計算機、軟件相關專業游戲開發課程的教材,同時也可供游戲編程愛好者、軟件開發人員和Java語言學習者參考使用。
第1章 電腦游戲開發概述
1.1 電腦游戲的發展歷史
1.2 電腦游戲的類型
1.3 電腦游戲的策劃
1.3.1 游戲策劃的基本概念
1.3.2 游戲設計的基本內容
1.4 電腦游戲的程序開發工具
第2章 游戲圖形界面開發基礎
2.1 AWT簡介
2.2 Swing基礎
2.3 Swing組件
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.6 null布局管理器
2.5 常用事件處理
2.5.1 動作事件處理
2.5.2 鼠標事件處理
2.5.3 鍵盤事件處理
第3章 Java圖形處理和Java 2D
3.1 Java圖形坐標系統和圖形上下文
3.2 Color類
3.3 Font類和FontMetrics類
3.3.1 Font類
3.3.2 FontMetrics類
3.4 常用的繪圖方法
3.4.1 繪制直線
3.4.2 繪制矩形
3.4.3 繪制橢圓
3.4.4 繪制弧形
3.4.5 繪制多邊形和折線段
3.4.6 清除繪制的圖形
3.5 Java 2D簡介
3.5.1 Java 2D API
3.5.2 Graphics2D簡介
3.5.3 Graphics2D繪制
3.5.4 Graphics2D的屬性設置
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.2 Java的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.1 21點撲克牌游戲介紹
7.2 關鍵技術
7.2.1 撲克牌面繪制
7.2.2 識別牌的點數
7.2.3 Dealer(莊家)要牌的智能實現
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.2.3 俄羅斯方塊游戲的運行流程
12.3 俄羅斯方塊設計的步驟
12.3.1 設計游戲界面類(Tetrisblok.java)
12.3.2 設計游戲窗口類(TetrisFrame.java)
第13章 開心農場
13.1 開心農場游戲介紹
13.2 程序設計的思路
13.2.1 游戲素材
13.2.2 設計思路
13.3 關鍵技術
13.3.1 實現圖形按鈕
13.4 開心農場設計的步驟
13.4.1 設計農作物類(Crop.java)
13.4.2 設計背景的面板(BackgroundPanel.java)
13.4.3 設計農場類(Farml.java)
13.4.4 設計窗體類(MainFrame.java)
第14章 單機版五子棋游戲
14.1 單機版五子棋游戲簡介
14.2 五子棋設計思想
14.3 關鍵技術
14.3.1 Vector向量容器
14.3.2 判斷輸贏的算法
14.4 程序設計的步驟
14.4.1 設計窗口類(wuziqi2.java)
第15章 網絡五子棋游戲
15.1 網絡五子棋游戲簡介
15.2 五子棋設計思想
15.2.1 界面設計
15.2.2 通信協議
15.3 關鍵技術
15.3.1 Socket技術
15.3.2 InetAddress類簡介
15.3.3 ServerSocket類
15.3.4 Socket類
15.4 程序設計的步驟
15.4.1 設計服務器端類(Server.java)
15.4.2 設計客戶端類(Client.java)
第16章 網絡中國象棋
16.1 中國象棋介紹
16.2 關鍵技術
16.2.1 UDP簡介
16.2.2 DatagramPacket類
16.2.3 DatagramSocket類
16.2.4 P2P知識
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.1 RGP走迷宮游戲介紹
17.2 程序設計的思路
17.2.1 游戲素材
17.2.2 設計思路
17.2.3 RGP人物的動畫
17.3 走迷宮游戲設計的步驟
17.3.1 設計主窗體類(miGong.java)
17.3.2 設計游戲面板類(MyPanel.java)
第18章 青蛙過河游戲
18.1 青蛙過河游戲介紹
18.2 程序設計的思路
18.2.1 游戲素材
18.2.2 設計思路
18.3 青蛙過河游戲設計的步驟
18.3.1 設計青蛙方塊類(frogCell.java)
18.3.2 設計游戲面板類(frogPanel.java)
18.3.3 設計主窗體類(frogFrame.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.1 2.5D游戲介紹
20.2 2.5D游戲設計思路
20.3 程序設計的步驟
20.3.1 創建游戲界面類(PushBox.java)
20.3.2 設計游戲窗口類(BoxFrame2.java)
……