Python游戲設(shè)計(jì)案例實(shí)戰(zhàn)
本書(shū)以Python 3.5為編程環(huán)境,從基本的程序設(shè)計(jì)思想入手,逐步展開(kāi)Python語(yǔ)言教學(xué),是一本面向廣大編程學(xué)習(xí)者的程序設(shè)計(jì)類(lèi)教材;A(chǔ)篇主要講解Python的基礎(chǔ)語(yǔ)法知識(shí)、控制語(yǔ)句、函數(shù)、文件、面向?qū)ο缶幊袒A(chǔ)、Tkinter圖形界面設(shè)計(jì)、網(wǎng)絡(luò)編程和多線程、Python數(shù)據(jù)庫(kù)應(yīng)用等內(nèi)容,并以小游戲案例作為各章的階段性任務(wù)。實(shí)戰(zhàn)篇和提高篇綜合應(yīng)用前面章節(jié)中介紹的技術(shù),重現(xiàn)各個(gè)經(jīng)典游戲的開(kāi)發(fā)過(guò)程。本書(shū)以游戲開(kāi)發(fā)案例為導(dǎo)向,通俗易懂,圖文并茂。
本書(shū)適合作為高等院校計(jì)算機(jī)等相關(guān)專(zhuān)業(yè)的教材,還可作為Python語(yǔ)言學(xué)習(xí)者、程序設(shè)計(jì)人員和游戲編程愛(ài)好者的參考書(shū)。
1.本書(shū)通過(guò)編寫(xiě)經(jīng)典、有趣的游戲來(lái)教授Python編程,并且采用直接展示了游戲的源代碼,通過(guò)實(shí)例來(lái)解釋編程的原理的方式。
2.列出完整的案例代碼,對(duì)源代碼進(jìn)行了詳細(xì)解說(shuō)。
3.每款案例均提供詳細(xì)的設(shè)計(jì)思路、關(guān)鍵技術(shù)分析以及具體的解決步驟方案,讓讀者進(jìn)入Python設(shè)計(jì)的大門(mén),真正了解Python程序設(shè)計(jì)的秘密同時(shí)掌握Python語(yǔ)法。
夏敏捷 有二十多年教學(xué)經(jīng)驗(yàn),出版10余部著作。 《Java游戲編程原理與實(shí)踐教程》人民郵電出版社,2013年7月,5千多冊(cè). 《大學(xué)計(jì)算機(jī)基礎(chǔ)》人民郵電出版社,2013年9月,2萬(wàn)多冊(cè).
目錄
《Python游戲設(shè)計(jì)案例實(shí)戰(zhàn)》
基礎(chǔ)篇
第 1章 Python基礎(chǔ)知識(shí)
1.1Python語(yǔ)言概述
1.1.1 Python語(yǔ)言簡(jiǎn)介
1.1.2 安裝Python
1.1.3 Python開(kāi)發(fā)環(huán)境IDLE的啟動(dòng)
1.1.4 利用IDLE創(chuàng)建Python程序
1.1.5 在IDLE中運(yùn)行和調(diào)試Python程序
1.1.6 Python基本輸入
1.1.7 Python基本輸出
1.1.8 Python代碼規(guī)范
1.1.8 Python幫助
1.2 Python語(yǔ)法基礎(chǔ)
1.2.1 Python數(shù)據(jù)類(lèi)型
1.2.2 序列數(shù)據(jù)結(jié)構(gòu)
1.2.3 Python控制語(yǔ)句
1.2.4 Python函數(shù)與模塊
1.3 Python文件的使用
1.3.1 打開(kāi)(建立)文件
1.3.2 讀取文本文件
1.3.3 寫(xiě)文本文件
1.3.4 文件內(nèi)移動(dòng)
1.3.5 文件的關(guān)閉
1.3.6 文件應(yīng)用案例——游戲地圖存儲(chǔ)
1.4 Python的第三方庫(kù)
練習(xí)題
第 2章 序列應(yīng)用——猜單詞游戲
2.1 猜單詞游戲功能介紹
2.2 程序設(shè)計(jì)的思路
2.3 random模塊
2.4 程序設(shè)計(jì)的步驟
思考題
第3章 面向?qū)ο笤O(shè)計(jì)應(yīng)用——發(fā)牌游戲
3.1 發(fā)牌游戲功能介紹
3.2 Python面向?qū)ο笤O(shè)計(jì)
3.2.1 定義和使用類(lèi)
3.2.2 構(gòu)造函數(shù)__init__
3.2.3 析構(gòu)函數(shù)
3.2.4 實(shí)例屬性和類(lèi)屬性
3.2.5 私有成員與公有成員
3.2.6 方法
3.2.7 類(lèi)的繼承
3.2.8 多態(tài)
3.3 撲克牌發(fā)牌程序設(shè)計(jì)的步驟
3.3.1 設(shè)計(jì)類(lèi)
3.3.2 主程序
思考題
第4章 Python 圖形界面設(shè)計(jì)——猜數(shù)字游戲
4.1 使用Tkinter開(kāi)發(fā)猜數(shù)字游戲功能介紹
4.2 Python 圖形界面設(shè)計(jì)
4.2.1 創(chuàng)建Windows窗口
4.2.2 幾何布局管理器
4.2.3 Tkinter 組件
4.2.4 Tkinter字體
4.2.5 Python事件處理
4.3 猜數(shù)字游戲程序設(shè)計(jì)的步驟
思考題
第5章 Tkinter圖形繪制——圖形版發(fā)牌程序
5.1 撲克牌發(fā)牌窗體程序功能介紹
5.2 程序設(shè)計(jì)的思路
5.3 Canvas圖形繪制技術(shù)
5.3.1 Canvas畫(huà)布組件
5.3.2 Canvas上的圖形對(duì)象
5.4 圖形版發(fā)牌程序設(shè)計(jì)的步驟
思考題
第6章 數(shù)據(jù)庫(kù)應(yīng)用——智力問(wèn)答游戲
6.1 智力問(wèn)答游戲功能介紹
6.2 程序設(shè)計(jì)的思路
6.3 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)
6.3.1 訪問(wèn)數(shù)據(jù)庫(kù)的步驟
6.3.2 創(chuàng)建數(shù)據(jù)庫(kù)和表
6.3.3 數(shù)據(jù)庫(kù)的插入、更新和刪除操作
6.3.4 數(shù)據(jù)庫(kù)表的查詢(xún)操作
6.3.5 數(shù)據(jù)庫(kù)使用實(shí)例——學(xué)生通訊錄
6.4 智力問(wèn)答游戲程序設(shè)計(jì)的步驟
6.4.1 生成試題庫(kù)
6.4.2 讀取試題信息
6.4.3 界面和邏輯設(shè)計(jì)
思考題
第7章 網(wǎng)絡(luò)編程和多線程——網(wǎng)絡(luò)五子棋游戲
7.1 網(wǎng)絡(luò)五子棋游戲簡(jiǎn)介
7.2 網(wǎng)絡(luò)編程基礎(chǔ)
7.2.1 互聯(lián)網(wǎng)TCP/IP協(xié)議
7.2.2 IP協(xié)議
7.2.3 TCP和UDP協(xié)議
7.2.4 端口
7.2.5 Socket
7.3 TCP編程
7.3.1 TCP客戶(hù)端編程
7.3.2 TCP服務(wù)器端編程
7.4 UDP編程
7.5 多線程編程
7.5.1 進(jìn)程和線程
7.5.2 創(chuàng)建線程
7.5.3 線程同步
7.5.4 定時(shí)器Timer
7.6 網(wǎng)絡(luò)五子棋游戲設(shè)計(jì)步驟
7.6.1 數(shù)據(jù)通信協(xié)議設(shè)計(jì)和判斷輸贏的算法
7.6.2 服務(wù)器端程序設(shè)計(jì)
7.6.3 客戶(hù)端程序設(shè)計(jì)
思考題
第8章 Python圖像處理——人物拼圖游戲
8.1 人物拼圖游戲介紹
8.2 程序設(shè)計(jì)的思路
8.3 Python圖像處理
8.3.1 Python圖像處理類(lèi)庫(kù)(PIL)
8.3.2 復(fù)制和粘貼圖像區(qū)域
8.3.3 調(diào)整尺寸和旋轉(zhuǎn)
8.3.4 轉(zhuǎn)換成灰度圖像
8.3.5 對(duì)像素進(jìn)行操作
8.4 程序設(shè)計(jì)的步驟
8.4.1 Python處理圖片切割
8.4.2 游戲邏輯實(shí)現(xiàn)
思考題
游戲?qū)崙?zhàn)篇
第9章 人機(jī)對(duì)戰(zhàn)井字棋游戲
9.1 人機(jī)對(duì)戰(zhàn)井字棋游戲功能介紹
9.2 人機(jī)對(duì)戰(zhàn)井字棋游戲設(shè)計(jì)思想
9.3 人機(jī)對(duì)戰(zhàn)井字棋游戲設(shè)計(jì)步驟
9.4 人機(jī)對(duì)戰(zhàn)井字棋游戲窗體版
第 10章 連連看游戲
10.1 連連看游戲介紹
10.2 程序設(shè)計(jì)的思路
10.3 程序設(shè)計(jì)的步驟
第 11章 推箱子游戲
11.1 推箱子游戲介紹
11.2 程序設(shè)計(jì)的思路
11.3 關(guān)鍵技術(shù)
11.4 程序設(shè)計(jì)的步驟
第 12章 兩人麻將游戲
12.1 麻將游戲介紹
12.2 兩人麻將游戲設(shè)計(jì)的思路
12.2.1 素材圖片
12.2.2 游戲邏輯實(shí)現(xiàn)
12.2.3 碰吃牌判斷
12.2.4 胡牌算法
12.2.5 實(shí)現(xiàn)電腦智能出牌
12.3 關(guān)鍵技術(shù)
12.3.1 聲音播放
12.3.2 返回對(duì)應(yīng)位置的組件
12.3.3 對(duì)保存麻將牌的列表排序
12.4 兩人麻將游戲設(shè)計(jì)的步驟
12.4.1 麻將牌類(lèi)設(shè)計(jì)
12.4.2 設(shè)計(jì)游戲主程序
第 13章 貪吃蛇游戲
13.1 貪吃蛇小游戲介紹
13.2 程序設(shè)計(jì)的思路
13.3 程序設(shè)計(jì)的步驟
13.3.1 Grid類(lèi)(場(chǎng)地類(lèi))
13.3.2 Food類(lèi)(豆類(lèi))
13.3.3 Snake(蛇類(lèi))
13.3.4 SnakeGame(游戲邏輯類(lèi))
第 14章 人機(jī)對(duì)戰(zhàn)黑白棋游戲
14.1 黑白棋游戲介紹
14.2 黑白棋游戲設(shè)計(jì)的思路
14.3 游戲邏輯實(shí)現(xiàn)
第 15章 掃雷游戲
15.1 游戲介紹
15.2 程序設(shè)計(jì)的思路
15.3 關(guān)鍵技術(shù)
15.4 程序設(shè)計(jì)的步驟
第 16章 中國(guó)象棋
16.1 中國(guó)象棋介紹
16.2 關(guān)鍵技術(shù)
16.3 中國(guó)象棋設(shè)計(jì)思路
16.4 中國(guó)象棋實(shí)現(xiàn)的步驟
第 17章 21點(diǎn)撲克牌游戲
17.1 21點(diǎn)撲克牌游戲介紹
17.2 關(guān)鍵技術(shù)
17.3 程序設(shè)計(jì)的步驟
第 18章 華容道游戲
18.1 華容道游戲介紹
18.2 華容道游戲設(shè)計(jì)思路
18.3 程序設(shè)計(jì)的步驟
游戲提高篇
第 19章 基于Pygame游戲設(shè)計(jì)
19.1 Pygame基礎(chǔ)知識(shí)
19.1.1 安裝Pygame庫(kù)
19.1.2 Pygame的模塊
19.2 Pygame的使用
19.2.1 Pygame開(kāi)發(fā)游戲的主要流程
19.2.2 Pygame的圖像圖形繪制
19.2.3 Pygame的鍵盤(pán)和鼠標(biāo)事件的處理
19.2.4 Pygame的字體使用
19.2.5 Pygame的聲音播放
19.2.6 Pygame的精靈使用
19.3 基于Pygame設(shè)計(jì)貪吃蛇游戲
19.4 基于Pygame設(shè)計(jì)飛機(jī)大戰(zhàn)游戲
19.4.1 游戲角色
19.4.2 游戲界面顯示
19.4.3 游戲邏輯實(shí)現(xiàn)
19.5 基于Pygame設(shè)計(jì)黑白棋游戲
19.5.1 黑白棋游戲介紹
19.5.2 黑白棋游戲設(shè)計(jì)的思路
19.5.3 游戲邏輯實(shí)現(xiàn)
第 20章 2048游戲
20.1 2048游戲介紹
20.2 2048設(shè)計(jì)思想
20.3 程序設(shè)計(jì)的步驟
參考文獻(xiàn)