- Python面向?qū)ο缶幊蹋簶?gòu)建游戲和GUI
- (美)艾維·卡爾布
- 1258字
- 2023-06-29 17:17:38
本書內(nèi)容
本書分為4部分。第一部分介紹面向?qū)ο缶幊獭?/p>
● 第1章回顧過程式編程風(fēng)格。該章展示如何實(shí)現(xiàn)一個(gè)基于文本的紙牌游戲,我們編寫程序模擬一家管理一個(gè)或多個(gè)賬戶的銀行。在這個(gè)過程中,該章討論了過程式方法的常見問題。
● 第2章介紹類和對(duì)象,并展示如何在Python中使用類來代表現(xiàn)實(shí)世界的物體,如電燈的開關(guān)或電視機(jī)的遙控器。你將看到如何使用面向?qū)ο蟮姆椒ń鉀Q第1章介紹的問題。
● 第3章介紹兩種思維模型,幫助你思考在Python中創(chuàng)建對(duì)象時(shí),底層發(fā)生了什么。我們將使用Python Tutor一步步執(zhí)行代碼,查看對(duì)象是如何創(chuàng)建的。
● 第4章通過介紹對(duì)象管理器對(duì)象的概念,演示處理相同類型的多個(gè)對(duì)象的標(biāo)準(zhǔn)方式。我們將使用類擴(kuò)展銀行賬戶模擬程序,并將展示如何使用異常處理錯(cuò)誤。
第二部分重點(diǎn)討論如何使用pygame構(gòu)建GUI。
● 第5章介紹pygame包,以及事件驅(qū)動(dòng)的編程模型。我們將構(gòu)建一些簡(jiǎn)單的程序,使你了解如何在窗口中添加圖片,以及如何處理鍵盤和鼠標(biāo)輸入,然后將開發(fā)一款更加復(fù)雜的彈球游戲。
● 第6章更詳細(xì)地介紹如何在pygame程序中使用OOP。我們將使用OOP風(fēng)格重寫彈球游戲,并開發(fā)一些簡(jiǎn)單的GUI元素。
● 第7章介紹pygwidgets模塊,它包含許多標(biāo)準(zhǔn)GUI元素(按鈕、復(fù)選框等)的完整實(shí)現(xiàn),每個(gè)元素都作為一個(gè)類實(shí)現(xiàn)。
第三部分深入介紹OOP的主要信條。
● 第8章討論封裝,即向外部代碼隱藏實(shí)現(xiàn)細(xì)節(jié),并將所有相關(guān)方法放在類中。
● 第9章介紹多態(tài)性,即多個(gè)類可以有名稱相同的方法,并展示多態(tài)性如何使你能夠調(diào)用多個(gè)對(duì)象中的方法,并不需要知道每個(gè)對(duì)象的類型。我們將創(chuàng)建一個(gè)Shapes程序來演示這個(gè)概念。
● 第10章介紹繼承,它允許你創(chuàng)建一組子類,讓這些子類都使用基類中的公共代碼,而不是對(duì)相似的類重復(fù)造輪子。我們將介紹通過繼承簡(jiǎn)化編程的一些現(xiàn)實(shí)示例,例如,實(shí)現(xiàn)一個(gè)只接受數(shù)字的輸入字段,然后將使用繼承來重寫Shapes示例。
● 第11章討論另外一些重要的OOP概念,它們主要與內(nèi)存管理有關(guān)。我們將介紹對(duì)象的生存期,并且作為一個(gè)示例,將創(chuàng)建一款戳氣球小游戲。
第四部分探討與在游戲開發(fā)中使用OOP有關(guān)的一些主題。
● 第12章不僅演示如何把第1章開發(fā)的紙牌游戲改為一個(gè)基于pygame的GUI程序,還展示如何創(chuàng)建可重用的Deck類和Card類,使你能夠在自己創(chuàng)建的其他紙牌游戲中使用它們。
● 第13章介紹定時(shí)功能。我們將開發(fā)不同的定時(shí)器類,使程序在保持運(yùn)行的同時(shí)檢查指定的時(shí)限。
● 第14章解釋可以用來顯示圖片序列的動(dòng)畫類。我們將介紹兩種動(dòng)畫技術(shù)—— 從單獨(dú)圖片文件的一個(gè)集合創(chuàng)建動(dòng)畫,以及提取和使用單個(gè)精靈表文件中包含的多張圖片。
● 第15章解釋狀態(tài)機(jī)和場(chǎng)景管理器的概念。狀態(tài)機(jī)代表和控制程序的流程,而場(chǎng)景管理器可以用于創(chuàng)建包含多個(gè)場(chǎng)景的程序。為了演示它們的用法,我們創(chuàng)建了Rock,Paper,Scissors游戲的兩個(gè)版本。
● 第16章討論不同類型的模態(tài)對(duì)話框,這是另外一個(gè)重要的用戶交互功能。我們創(chuàng)建一款功能完整的、基于OOP的視頻游戲,叫作Dodger,它演示了本書介紹的許多技術(shù)。
● 第17章介紹設(shè)計(jì)模式的概念,重點(diǎn)討論模型-視圖-控制器模式,然后展示一個(gè)擲色子程序,該程序使用模型-視圖-控制器模式,允許用戶以不同的可視化方式查看數(shù)據(jù)。該章最后對(duì)全書內(nèi)容做一個(gè)簡(jiǎn)單的總結(jié)。
- Vue.js設(shè)計(jì)與實(shí)現(xiàn)
- Linux C/C++服務(wù)器開發(fā)實(shí)踐
- Elastic Stack應(yīng)用寶典
- TypeScript圖形渲染實(shí)戰(zhàn):基于WebGL的3D架構(gòu)與實(shí)現(xiàn)
- 琢石成器:Windows環(huán)境下32位匯編語言程序設(shè)計(jì)
- Hands-On Reinforcement Learning with Python
- Learning Raspbian
- 零基礎(chǔ)學(xué)C語言第2版
- .NET 4.5 Parallel Extensions Cookbook
- 軟件測(cè)試綜合技術(shù)
- 寫給程序員的Python教程
- Web App Testing Using Knockout.JS
- C編程技巧:117個(gè)問題解決方案示例
- DB2SQL性能調(diào)優(yōu)秘笈
- Python編程快速上手2