買這商品的人也買了...
商品描述
<內容簡介>
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。Python可以用於很多的領域,從科學計算到遊戲開發。
《Python編程初學者指南》嘗試以輕鬆有趣的方式來幫助初學者掌握Python語言和編程技能。全書共12章,每一章都會用一個完整的遊戲來演示其中的關鍵知識點,並通過編寫好玩的小軟件這種方式來學習編程,引發讀者的興趣,降低學習的難度。每章最後都會對該章的知識點進行小結,還會給出一些小練習讓讀者試試身手。作者很巧妙的將所有編程知識嵌入到了這些例子中,真正做到了寓教於樂。
《Python編程初學者指南》內容淺顯易懂,示例輕鬆活潑,是國際暢銷的Python初學者教程,適合對Python感興趣的初級和中級讀者學習參考。
<章節目錄>
第1章啟程:Game Over程序1 
1.1剖析Game Over程序1 
1.2 Python簡介2 
1.2.1 Python易於使用3 
1.2.2 Python功能強大3 
1.2.3 Python是面向對象的3 
1.2.4 Python是一種“膠水”語言4 
1.2.5 Python無所不在4 
1.2.6 Python有一個強大的社區4 
1.2.7 Python是免費的、開源的4 
1.3在Windows上設置Python 4 
1.4在其他操作系統上設置Python 5 
1.5 IDLE簡介6 
1.5.1通過交互模式進行編程6 
1.5.2通過腳本模式進行編程9 
1.6回到Game Over程序11 
1.6.1使用註釋12 
1.6.2使用空行13 
1.6.3打印字符串13 
1.6.4等待用戶13 
1.7小結14 
第2章類型、變量以及簡單I/O:Useless Trivia程序15 
2.1 Useless Trivia程序簡介15 
2.2使用引號和字符串16 
2.2.1 Game Over 2.0程序簡介16 
2.2.2在字符串內部使用引號17 
2.2.3打印輸出多個值18 
2.2.4為print指定結束字符串19 
2.2.5創建三重引號字符串19 
2.3使用轉義序列和字符串20 
2.3.1 Fancy Credits程序簡介20 
2.3 .2前進一個製表符位21 
2.3.3打印反斜杠22 
2.3.4插入換行符22 
2.3.5插入引號22 
2.3.6觸發系統蜂鳴器23 
2.4字符串的連接和重複23 
2.4.1 Silly Strings程序簡介24 
2.4.2字符串的連接25 
2.4.3使用行繼續符25 
2.4.4字符串的重複25 
2.5使用數字26 
2.5.1 Word Problems程序簡介26 
2.5.2理解數值類型27 
2.5. 3使用數學運算符27 
2.6理解變量28 
2.6.1 Greeter程序簡介29 
2.6.2創建變量29 
2.6.3使用變量30 
2.6.4變量命名30 
2.7獲取輸入31 
2.7.1 Personal Greeter程序簡介31 
2.7.2使用input()函數32 
2.8使用字符串方法33 
2.8.1 Quotation Manipulation程序簡介34 
2.8.2通過字符串方法創建新字符串35 
2.9使用正確的類型37 
2.9.1 Trust Fund Buddy-Bad程序簡介37 
2.9 .2跟蹤邏輯錯誤38 
2.10轉換值的類型39 
2.10.1 Trust Fund Buddy-Good程序簡介39 
2.10.2將字符串轉換成整數40 
2.10.3使用複合賦值運算符41 
2.11回到Useless Trivia程序42 
2.11 .1創建初始註釋42 
2.11.2獲取用戶輸入43 
2.11.3打印小寫和大寫形式的name 43 
2.11.4打印name五次43 
2.11.5計算秒數44 
2.11.6計算moon_weight和sun_weight 44 
2.11.7等一等用戶44 
2.12小結44 
第3章條件分支、while循環以及程序策劃:Guess My Number遊戲46 
3.1 Guess My Number遊戲簡介46 
3.2生成隨機數47 
3.2.1 Craps Roller程序簡介47 
3.2.2引入random模塊48 
3.2.3使用randint()函數49 
3.2.4使用randrange()函數49 
3.3使用if語句49 
3.3.1 Password程序簡介50 
3.3.2觀察if語句51 
3.3.3創建條件51 
3.3.4理解比較運算符52 
3.3.5通過縮進創建代碼塊53 
3.3.6構建自己的if語句53 
3.4使用else子句53 
3.4.1 Granted or Denied程序簡介54 
3.4.2觀察else子句55 
3.5使用elif子句55 
3.5.1 Mood Computer程序簡介56 
3.5.2觀察elif子句58 
3.6創建while循環59 
3.6.1 Three-Year-Old Simulator程序簡介60 
3.6.2觀察while循環60 
3.6.3初始化哨兵變量61 
3.6. 4檢查哨兵變量61 
3.6.5更新哨兵變量62 
3.7避免無限循環62 
3.7.1 Losing Battle程序簡介62 
3.7.2跟蹤程序64 
3.7.3創建可以變成False的條件64 
3.8將值用作條件65 
3.8 .1 Maitre D'程序簡介66 
3.8.2把值解釋為True或False 67 
3.9故意創建無限循環67 
3.9.1 Finicky Counter程序簡介68 
3.9.2通過break語句退出循環68 
3.9.3通過continue語句跳回循環的開頭69 
3.9.4理解break和continue的使用場景69 
3.10使用複合條件69 
3.10.1 Exclusive Network程序簡介70 
3.10.2理解邏輯運算符not 72 
3.10.3理解邏輯運算符and 73 
3.10.4理解邏輯運算符or 74 
3.11規劃程序74 
3.11.1利用偽碼編制算法75 
3.11.2逐步對算法進行提煉75 
3.12回到Guess My Number遊戲76 
3.12.1程序規劃76 
3.12.2創建初始註釋塊77 
3.12 .3引入random模塊77 
3.12.4遊戲說明77 
3.12.5設置初始值77 
3.12.6創建猜測循環78 
3.12.7向玩家表示祝賀78 
3.12.8等待玩家退出78 
3.13小結78 
第4章for循環、字符串以及元組:Word Jumble遊戲80 
4.1 Word Jumble遊戲簡介80 
4.2使用for循環81 
4.2.1 Loopy String程序簡介81 
4.2.2理解for循環82 
4.2.3創建for循環83 
4.3通過for循環進行計數83 
4.3.1 Counter程序簡介83 
4.3.2前向計數84 
4.3.3按五為單位進行計數85 
4.3.4後向計數85 
4.4對字符串使用序列運算符和函數86 
4.4.1 Message Analyzer程序簡介86 
4.4.2使用len()函數87 
4.4.3使用in運算符87 
4.5對字符串進行索引88 
4.5.1 Random Access程序簡介88 
4.5.2使用正的位置編號89 
4.5.3使用負的位置編號90 
4.5.4隨機訪問字符串元素91 
4.6理解字符串的不變性92 
4.7構建新字符串93 
4.7.1 No Vowels程序簡介93 
4.7.2創建常量94 
4.7.3通過已有的字符串創建新字符串95 
4.8對字符串進行切片操作96 
4.8.1 Pizza Slicer程序簡介96 
4.8.2理解None 97 
4.8.3理解切片98 
4.8.4創建切片98 
4.8.5使用切片速記法99 
4.9創建元組99 
4.9. 1 Hero's Inventory程序簡介100 
4.9.2創建空元組101 
4.9.3把元組當作條件101 
4.9.4創建帶有元素的元組102 
4.9.5打印元組102 
4.9.6遍曆元組中的元素102 
4.10使用元組103 
4.10.1 Hero's Inventory 2.0程序簡介103 
4.10.2準備工作104 
4.10.3對元組使用len()函數104 
4.10.4對元組使用in運算符104 
4.10.5對元組進行索引105 
4.10.6對元組進行切片105 
4.10.7理解元組的不變性106 
4.10.8元組的連接操作106 
4.11回到Word Jumble遊戲107 
4.11.1準備工作107 
4.11.2對題目的創建部分進行設計107 
4.11.3創建空的題目字符串108 
4.11.4設置循環108 
4.11.5產生word中的隨機位置108 
4.11.6創建新版的jumble 108 
4.11.7創建新版的word 109 
4.11. 8歡迎玩家的到來109 
4.11.9獲取玩家的答案109 
4.11.10向玩家表示恭喜109 
4.11.11結束遊戲110 
4.12小結110 
第5章列表和字典:Hangman遊戲111 
5.1 Hangman遊戲簡介111 
5.2使用列表113 
5.2.1 Hero's Inventory 3.0程序簡介113 
5.2.2創建列表114 
5.2.3對列表使用len()函數114 
5.2.4對列表使用in運算符114 
5.2.5對列表進行索引114 
5.2.6對列表進行切片115 
5.2.7對列表進行連接115 
5.2.8理解列表的可變性115 
5.2.9通過索引對列表元素進行賦值116 
5.2.10通過切片對列表進行賦值116 
5.2.11刪除列表元素116 
5.2.12刪除列表切片117 
5.3使用列表方法117 
5.3.1 High Scores程序簡介117 
5.3.2準備工作118 
5.3.3顯示菜單118 
5.3.4退出程序119 
5.3.5顯示得分記錄119 
5.3.6添加得分記錄119 
5.3 .7刪除得分記錄120 
5.3.8對得分記錄進行排序120 
5.3.9處理無效選項121 
5.3.10等一等用戶121 
5.4理解元組和列表的使用場景122 
5.5使用嵌套序列122 
5.5.1 High Scores 2.0程序簡介122 
5.5.2創建嵌套序列123 
5.5.3訪問嵌套元素124 
5.5.4序列的解包125 
5.5.5準備工作125 
5.5.6訪問嵌套的元組並顯示得分126 
5.5. 7通過附加嵌套元組的方式添加得分記錄126 
5.5.8處理無效菜單項126 
5.5.9等一等用戶126 
5.6理解共享引用127 
5.7使用字典129 
5.7.1 Geek Translator程序簡介129 
5.7.2創建字典130 
5.7.3訪問字典的值130 
5.7.4準備工作132 
5.7.5獲取值133 
5.7.6增加鍵值對133 
5.7.7替換鍵值對134 
5.7.8刪除鍵值對134 
5.7.9結束程序135 
5.7.10理解字典的需求135 
5.8回到Hangman遊戲136 
5.8.1準備工作136 
5.8.2創建常量137 
5.8.3初始化變量140 
5.8.4創建主循環140 
5.8.5獲取用戶的答案140 
5.8 .6判斷猜測結果141 
5.8.7結束程序141 
5.9小結142 
第6章函數:Tic-Tac-Toe遊戲143 
6.1 Tic-Tac-Toe遊戲簡介143 
6.2創建函數144 
6.2.1 Instructions程序簡介145 
6.2.2定義函數146 
6.2.3編制函數的文檔說明146 
6.2.4調用函數147 
6.2.5理解抽象147 
6.3使用參數和返回值147 
6.3.1 Receive and Return程序簡介148 
6.3.2通過參數獲取信息149 
6.3. 3通過返回值反饋信息149 
6.3.4理解封裝150 
6.3.5在同一個函數中接收和返回值150 
6.3.6理解軟件復用151 
6.4使用關鍵字參數和默認參數值152 
6.4.1 Birthday Wishes程序簡介152 
6.4.2使用位置形參和位置實參153 
6.4.3使用位置形參和關鍵字實參154 
6.4.4使用默認參數值154 
6.5使用全局變量和常量156 
6.5.1理解作用域156 
6.5 .2 Global Reach程序簡介157 
6.5.3從函數內部讀取全局變量158 
6.5.4在函數內部屏蔽全局變量158 
6.5.5從函數內部修改全局變量159 
6.5.6理解何時使用全局變量和常量159 
6.6回到Tic-Tac-Toe遊戲160 
6.6.1規劃Tic-Tac-Toe遊戲160 
6.6.2準備工作162 
6.6.3 display_instruct()函數162 
6.6.4 ask_yes_no()函數163 
6.6.5 ask_number()函數163 
6.6.6 pieces()函數164 
6.6.7 new_board()函數164 
6.6.8 display_board()函數164 
6.6.9 legal_moves()函數165 
6.6.10 winner()函數165 
6.6.11 human_move()函數166 
6.6 .12 computer_move()函數167 
6.6.13 next_turn()函數169 
6.6.14 congrat_winner()函數169 
6.6.15 main()函數170 
6.6.16啟動程序171 
6.7小結171 
第7章文件和異常:Trivia Challenge遊戲172 
7.1 Trivia Challenge遊戲簡介172 
7.2讀取文本文件173 
7.2.1 Read It程序簡介173 
7.2.2文件的打開和關閉175 
7.2.3按字符讀取文件176 
7.2.4按行讀取文件177 
7.2. 5將所有行讀取為一個列表178 
7.2.6對文件進行循環遍歷178 
7.3寫入文本文件179 
7.3.1 Write It程序簡介179 
7.3.2將字符串寫入到文件180 
7.3.3將字符串行表寫入到文件180 
7.4在文件中存儲複雜數據182 
7.4.1 Pickle It程序簡介182 
7.4.2對數據進行Pickle處理並寫入文件182 
7.4.3讀取文件中的數據並進行反Pickle處理184 
7.4.4通過shelf保存序列化對象185 
7.4.5通過shelf獲取序列化對象186 
7.5處理異常187 
7.5.1 Handle It程序簡介187 
7.5.2使用try語句及except子句188 
7.5.3指定異常類型188 
7.5.4處理多種異常190 
7.5.5獲取異常的參數191 
7.5.6加上一個else子句191 
7.6回到Trivia Challenge遊戲192 
7.6.1理解數據文件結構192 
7.6.2 open_file()函數193 
7.6 .3 next_line()函數194 
7.6.4 next_block()函數194 
7.6.5 welcome()函數195 
7.6.6遊戲初始化設置195 
7.6.7提出問題195 
7.6.8獲取答案196 
7.6.9判斷答案196 
7.6. 10獲取下一個問題196 
7.6.11結束遊戲196 
7.6.12啟動main()函數197 
7.7小結197 
第8章軟件對象:Critter Caretaker程序198 
8.1 Critter Caretaker程序簡介198 
8.2理解面向對象基礎知識200 
8.3創建類、方法和對象200 
8.3.1 Simple Critter程序簡介201 
8.3.2定義類202 
8.3.3定義方法202 
8.3.4實例化對象203 
8.3.5調用方法203 
8.4使用構造器203 
8.4.1 Constructor Critter程序簡介203 
8.4.2創建構造器204 
8.4.3創建多個對象205 
8.5使用特性205 
8.5.1 Attribute Critter程序簡介205 
8.5.2初始化特性207 
8.5.3訪問特性208 
8.5.4打印對象208 
8.6使用類特性和靜態方法209 
8.6.1 Classy Critter程序簡介209 
8.6.2創建類特性211 
8.6.3訪問類特性211 
8.6.4創建靜態方法212 
8.6.5調用靜態方法212 
8.7理解對象封裝213 
8.8使用私有特性和私有方法213 
8.8.1 Private Critter程序簡介214 
8.8.2創建私有特性214 
8.8.3訪問私有特性215 
8.8.4創建私有方法216 
8.8.5訪問私有方法216 
8.8.6尊重對象的隱私217 
8.8.7理解何時該實現私有策略217 
8.9控制對特性的訪問218 
8.9.1 Property Critter程序簡介218 
8.9.2創建屬性219 
8.9.3訪問屬性220 
8.10回到Critter Caretaker程序221 
8.10.1 Critter類222 
8.10. 2創建Critter 224 
8.10.3創建菜單系統224 
8.10.4啟動程序225 
8.11小結225 
第9章面向對象編程:Blackjack遊戲227 
9.1 Blackjack遊戲簡介227 
9.2發送和接收消息228 
9.2.1 Alien Blaster程序簡介228 
9.2 .2發送消息230 
9.2.3接收消息231 
9.3組合多個對象231 
9.3.1 Playing Cards程序簡介231 
9.3.2創建Card類232 
9.3.3創建Hand類232 
9.3.4使用Card對象233 
9.3.5通過Hand對象將多個Card對象組合起來234 
9.4通過繼承創建新類235 
9.5通過繼承擴展類235 
9.5.1 Playing Cards 2.0程序簡介235 
9.5.2創建一個基類236 
9.5.3繼承基類237 
9.5.4擴展派生類238 
9.5.5使用派生類239 
9.6改變繼承方法的行為241 
9.6.1 Playing Cards 3.0程序簡介241 
9.6.2創建基類242 
9.6.3重寫基類方法242 
9.6.4調用基類方法243 
9.6.5使用派生類244 
9.7理解多態245 
9.8創建模塊245 
9.8.1 Simple Game程序簡介246 
9.8.2編寫模塊246 
9.8.3引入模塊248 
9.8.4使用引入的函數和類248 
9.9回到Blackjack遊戲249 
9.9.1 cards模塊249 
9.9.2對類進行設計251 
9.9.3為遊戲循環編寫偽碼252 
9.9.4引入cards和games模塊253 
9.9.5 BJ_Card類253 
9.9.6 BJ_Deck類254 
9.9. 7 BJ_Hand類254 
9.9.8 BJ_Player類256 
9.9.9 BJ_Dealer類256 
9.9.10 BJ_Game類257 
9.9.11 main()函數259 
9.10小結260 
第10章GUI開發:Mad Lib程序262 
10.1 Mad Lib程序簡介262 
10.2詳解GUI 264 
10.3理解事件驅動編程265 
10.4使用根窗體266 
10.4.1 Simple GUI程序簡介266 
10.4.2引入tkinter模塊268 
10.4.3創建根窗體268 
10.4.4修整根窗體268 
10.4.5進入根窗體的事件循環269 
10.5使用標籤269 
10.5.1 Labeler程序簡介269 
10.5.2準備工作269 
10.5.3創建框架270 
10.5.4創建標籤270 
10.5.5進入根窗體的事件循環271 
10.6使用按鈕271 
10.6.1 Lazy Buttons程序簡介271 
10.6.2準備工作271 
10.6.3創建按鈕272 
10.6.4進入根窗體的事件循環273 
10.7利用類創建GUI 273 
10.7.1 Lazy Buttons 2程序簡介273 
10.7.2引入tkinter模塊273 
10.7.3定義Application類273 
10.7.4定義構造器方法274 
10.7.5定義一個用於創建小部件的方法274 
10.7.6創建Application對象275 
10.8將小部件與事件處理器綁定起來275 
10.8.1 Click Counter程序簡介275 
10.8.2準備工作275 
10.8.3綁定事件處理器276 
10.8.4創建事件處理器276 
10.8.5程序收尾工作277 
10.9使用Text和Entry小部件以及Grid佈局管理器277 
10.9.1 Longevity程序簡介277 
10.9.2準備工作278 
10.9.3利用Grid佈局管理器放置小部件278 
10.9.4創建Entry小部件279 
10.9.5創建Text小部件280 
10.9.6利用文本型小部件獲取和插入文本280 
10.9.7收尾工作281 
10.10使用複選框282 
10.10.1 Movie Chooser程序簡介282 
10.10.2準備工作282 
10.10.3使小部件的容器成為其唯一的引用283 
10.10.4創建複選框283 
10.10.5獲取複選框的狀態285 
10.10.6收尾工作285 
10.11使用單選框286 
10.11.1 Movie Chooser 2程序簡介286 
10.11.2準備工作286 
10.11.3創建單選框287 
10.11 .4從一組單選框中獲取選定值288 
10.11.5收尾工作289 
10.12回到Mad Lib程序289 
10.12.1引入tkinter模塊289 
10.12.2 Application類的構造器方法289 
10.12.3 Application類的create_widgets()方法290 
10.12.4 Application類的tell_story()方法292 
10.12.5程序的主體部分293 
10.13小結293 
第11章圖形圖像:Pizza Panic遊戲294 
11.1 Pizza Panic遊戲簡介294 
11.2 pygame和livewires簡介296 
11.3創建圖形窗口296 
11.3.1 New Graphics Window程序簡介297 
11.3.2引入games模塊297 
11.3.3初始化圖形屏幕298 
11.3.4啟動主循環298 
11.4設置背景圖片299 
11.4.1 Background Image程序簡介299 
11.4.2加載圖片300 
11.4.3設置背景301 
11.5理解圖形坐標系統301 
11.6顯示sprite 302 
11.6.1 Pizza Sprite程序簡介303 
11.6.2為sprite加載圖片304 
11.6.3創建sprite 305 
11.6.4把sprite放到屏幕上面去305 
11.7顯示文本307 
11.7.1 Big Score程序簡介307 
11.7.2引入color模塊308 
11.7.3創建Text對象308 
11.7.4向屏幕添加Text對象309 
11.8顯示消息309 
11.8.1 You Won程序簡介309 
11.8 .2引入color模塊311 
11.8.3創建Message對象311 
11.8.4使用屏幕的高度和寬度312 
11.8.5把Message對象放到屏幕上面去312 
11.9移動sprite 312 
11.9.1 Moving Pizza程序簡介312 
11.9.2設置sprite的速度值314 
11.10處理屏幕邊界314 
11.10.1 Bouncing Pizza程序簡介314 
11.10.2準備工作315 
11.10.3從Sprite派生出一個新類315 
11.10.4重寫update()方法316 
11.10.5收尾工作316 
11.11處理鼠標輸入317 
11.11.1 Moving Pan程序簡介317 
11.11.2準備工作318 
11.11.3讀取鼠標的x和y坐標318 
11.11.4設置鼠標光標的可見性319 
11.11.5捕獲圖形屏幕中的輸入319 
11.11.6收尾工作320 
11.12碰撞檢測320 
11.12.1 Slippery Pizza程序簡介320 
11.12.2準備工作322 
11.12.3碰撞檢測322 
11.12.4碰撞處理322 
11.12.5收尾工作323 
11.13回到Pizza Panic遊戲324 
11.13.1準備工作324 
11.13.2 Pan類324 
11.13.3 Pizza類326 
11.13.4 Chef類328 
11.13.5 main()函數329 
11.14小結330 
第12章聲音、動畫以及程序開發:Astrocrash遊戲332 
12.1 Astrocrash遊戲簡介332 
12.2讀取鍵盤334 
12.2.1 Read Key程序簡介334 
12.2.2準備工作334 
12.2.3按鍵判斷335 
12.2.4收尾工作336 
12.3旋轉sprite 336 
12.3.1 Rotate Sprite程序簡介336 
12.3. 2使用Sprite的angle屬性338 
12.4創建動畫339 
12.4.1 Explosion程序簡介339 
12.4.2爆炸圖片說明339 
12.4.3準備工作340 
12.4.4創建圖片文件列表340 
12.4.5創建Animation對象341 
12.5播放聲音和音樂342 
12.5.1 Sound and Music程序簡介342 
12.5.2操作聲音342 
12.5.3操作音樂345 
12.5.4收尾工作346 
12.6規劃Astrocrash遊戲346 
12.6.1遊戲的功能347 
12.6.2遊戲的類347 
12.6. 3遊戲的資源348 
12.7創建小行星348 
12.7.1 Astrocrash01程序簡介348 
12.7.2準備工作349 
12.7.3 Asteroid類349 
12.7.4 main()函數351 
12.8旋轉飛船351 
12.8.1 Astrocrash02程序簡介351 
12.8. 2 Ship類352 
12.8.3實例化Ship對象353 
12.9移動飛船353 
12.9.1 Astrocrash03程序簡介353 
12.9.2引入math模塊354 
12.9.3為Ship類添加類變量和常量354 
12.9.4修改Ship的update( )方法354 
12.10發射導彈355 
12.10.1 Astrocrash04程序簡介356 
12.10.2修改Ship的update()方法356 
12.10.3 Missile類357 
12.11控制導彈發射的頻率359 
12.11.1 Astrocrash05程序簡介359 
12.11.2為Ship類添加一個類常量360 
12.11.3為Ship類創建構造器方法360 
12.11.4修改Ship類的update()方法360 
12.12處理碰撞361 
12.12.1 Astrocrash06程序簡介361 
12.12.2修改Missile類的update()方法362 
12.12.3為Missile類添加die()方法362 
12.12.4修改Ship類的update()方法362 
12.12.5為Ship類添加die()方法362 
12.12.6為Asteroid類添加一個類常量363 
12.12 .7為Asteroid類添加die()方法363 
12.13添加爆炸效果363 
12.13.1 Astrocrash07程序簡介363 
12.13.2 Wrapper類364 
12.13.3 Collider類365 
12.13.4修改Asteroid類366 
12.13.5修改Ship類366 
12.13 .6修改Missile類367 
12.13.7 Explosion類367 
12.14添加難度級別、得分記錄以及背景音樂368 
12.14.1 Astrocrash08程序簡介368 
12.14.2引入color模塊369 
12.14.3 Game類369 
12.14.4為Asteroid類添加類變量和類常量373 
12.14.5修改Asteroid類的構造器方法373 
12.14.6修改Asteroid類的die()方法374 
12.14.7為Ship類添加類常量374 
12.14.8修改Ship類的構造器方法375 
12.14.9修改Ship類的update()方法375 
12.14.10為Ship類添加die()方法375 
12.14.11 main()函數375 
12.15小結376 
附錄A配套網站377 
附錄B livewires參考379

 
                  
 
                  
 
                  
 
    
 
     
    
 
     
     
    
 
     
    
 
    
 
    
 
     
    
 
     
    