超有趣學(xué)Python:編程超酷航天冒險(xiǎn)游戲
定 價(jià):89 元
超有趣Python入門,從零開始編程創(chuàng)造超酷太空冒險(xiǎn)游戲!游戲開始,空氣所剩不多了?臻g站發(fā)生泄漏,因此你必須迅速采取行動(dòng)。你能找到解決問題的辦法嗎?你需要探索空間站的周圍,找到門禁卡來把門打開,還要修復(fù)受損的航天服。冒險(xiǎn)已經(jīng)開始了!本書向你展示了如何使用Python在圖形化的冒險(xiǎn)游戲中在火星上建立空間站、探索空間站并避開危險(xiǎn)。你能像航天員一樣找到解決問題的辦法嗎?
編輯推薦亞馬遜讀者五星好評(píng)。告別枯燥難懂,超有趣的Python入門指南。無論是初學(xué)者還是青少年,都可以輕松超有趣學(xué)Python。全彩印刷,全部代碼,全程指導(dǎo),手把手教你編程創(chuàng)造超酷太空冒險(xiǎn)游戲。知名作者暢銷力作,派森社聯(lián)合發(fā)起人、知名創(chuàng)客布道師程晨傾力翻譯呈現(xiàn)。你將學(xué)會(huì)Python的基礎(chǔ)知識(shí)與編程實(shí)踐。● 學(xué)會(huì)如何將數(shù)據(jù)存儲(chǔ)在變量、列表和字典中● 學(xué)會(huì)如何在游戲中添加鍵盤控制● 學(xué)會(huì)如何創(chuàng)建函數(shù)來組織你的代碼● 學(xué)會(huì)如何完成循環(huán)以重復(fù)一段代碼● 學(xué)會(huì)如何在游戲中添加圖像、聲音和動(dòng)畫……太空危機(jī),氧氣即將耗盡,為了安全逃離空間站,你需要探索地圖,收集物品,解決謎題,同時(shí)還要躲避殺手機(jī)器人和泄漏的有毒物質(zhì)……你將親手實(shí)現(xiàn)編寫這個(gè)基于謎題的太空冒險(xiǎn)游戲,游戲包含完整的圖像、聲音和動(dòng)畫。準(zhǔn)備好了嗎,開始一起玩Python !
前言游戲開始,空氣所剩不多了?臻g站發(fā)生泄漏,因此你必須迅速采取行動(dòng)。你能找到解決問題的辦法嗎?你需要探索空間站的周圍,找到門禁卡來把門打開,還要修復(fù)受損的航天服。冒險(xiǎn)已經(jīng)開始了!從這里開始:在地球上,通過對(duì)任務(wù)下達(dá)命令,或者說是通過你的計(jì)算機(jī)來操作。本書向你展示了如何使用Python在圖形化的冒險(xiǎn)游戲中在火星上建立空間站、探索空間站并避開危險(xiǎn)。你能像航天員一樣找到解決問題的辦法嗎?
如何閱讀本書學(xué)習(xí)本書的內(nèi)容,你可以創(chuàng)建一個(gè)名為Escape(逃脫)的游戲,其中包含了要探索的地圖和需要解決的問題。游戲是使用Python編寫的,它是一種非常流行的易于閱讀的編程語言。游戲制作中使用的是Pygame Zero,它添加了一些關(guān)于管理圖像和聲音的指令。我將逐步介紹游戲的制作方法以及代碼的主要部分的邏輯關(guān)系,以便你可以創(chuàng)建自己的游戲或根據(jù)我的游戲代碼實(shí)現(xiàn)自己的游戲。如果你遇到了什么問題,或是想直接進(jìn)入游戲看看這個(gè)游戲是怎么玩的,你可以直接下載源代碼,所有的代碼都可以下載,而且所有軟件都是免費(fèi)的,書中提供了Windows操作系統(tǒng)版本和Raspberry Pi的說明。我建議你使用Raspberry Pi 3或Raspberry Pi 2。如果使用Pi Zero、舊的B 以及其他老版的型號(hào),那么游戲運(yùn)行速度可能會(huì)比較慢。你可以通過以下幾種方式來閱讀本書和創(chuàng)建游戲:1)下載游戲,先玩一玩,然后閱讀本書來了解游戲的工作原理。這樣能避免你在玩游戲之前就知道了具體的細(xì)節(jié)!盡管我已將游戲細(xì)節(jié)降至,但你在閱讀本書時(shí)依然會(huì)留意到代碼中的一些線索。如果你真的在游戲中遇到了問題,可以嘗試閱讀代碼以確定解決方案。無論如何,我都建議你至少運(yùn)行一次游戲,以便確定要?jiǎng)?chuàng)建的是一個(gè)什么樣的游戲,并了解如何運(yùn)行程序。2)創(chuàng)建游戲,然后再玩。本書將指導(dǎo)你如何從頭到尾創(chuàng)建游戲。在學(xué)習(xí)各章節(jié)內(nèi)容的過程中,你將會(huì)在游戲中添加新的內(nèi)容,并查看它們的工作方式。如果你在某個(gè)部分無法運(yùn)行代碼,那么可以直接使用代碼段中的版本,然后從那里繼續(xù)編寫代碼。如果你選擇了這種方式,那么在創(chuàng)建并試玩游戲之前不要對(duì)游戲進(jìn)行任何自定義的更改。否則,你可能會(huì)遇到某些意外導(dǎo)致無法完成游戲(完成我在練習(xí)任務(wù)中建議的修改是可以的)。3)自定義游戲。當(dāng)你了解了程序的工作原理后,你可以使用自己的地圖、圖像、對(duì)象和謎題對(duì)游戲進(jìn)行修改。Escape 游戲是發(fā)生在空間站上的,但你的游戲可以發(fā)生在叢林、海底或其他任何地方。你可以先按照本書內(nèi)容來創(chuàng)建自己的Escape 游戲版本,也可以使用我的終版本來對(duì)其進(jìn)行修改。我希望看到你將這個(gè)程序作為起點(diǎn)!
本書的內(nèi)容在你開始執(zhí)行任務(wù)之前,先讓我們來看一下各章的內(nèi)容介紹。第1章介紹如何進(jìn)行太空行走。你將學(xué)習(xí)如何使用Pygame Zero 通過Python 程序顯示圖像,并了解Python 程序的一些基礎(chǔ)知識(shí)。第2章介紹列表,列表中存儲(chǔ)了Escape 游戲中的許多信息。你將看到如何使用列表來制作地圖。第3章將展示如何讓程序的各個(gè)部分循環(huán)運(yùn)行,以及如何使用這部分知識(shí)來顯示地圖。你還將使用墻柱和地磚為空間站設(shè)計(jì)房間布局。在第4章中,我們將開始創(chuàng)建Escape 游戲,并為空間站設(shè)定藍(lán)圖。你將看到程序是如何理解空間站的布局的,以及程序是如何使用藍(lán)圖來創(chuàng)建房間,并且放置墻體和地磚的。在第5章中,你將學(xué)習(xí)如何在Python 中使用字典,這是存儲(chǔ)信息的另一種重要方法。你還將學(xué)習(xí)如何添加游戲中所使用的所有對(duì)象的信息,并了解如何設(shè)計(jì)自己的房間。之后當(dāng)你在第6 章中完善擴(kuò)充了程序時(shí),你將能看到所有的場景,并且能夠查看所有房間?臻g站建設(shè)好之后,你可以進(jìn)入其中。在第7 章中,你會(huì)學(xué)到如何添加航天員的角色,并了解如何在房間中四處移動(dòng)并設(shè)置運(yùn)動(dòng)動(dòng)畫。第8章會(huì)介紹如何通過陰影、墻體的顏色變化以及新的繪制房間的函數(shù)來優(yōu)化游戲的圖像,新的函數(shù)能夠消除圖像中的毛刺。當(dāng)空間站可操作時(shí),你可以打開個(gè)人的物品包。在第9 章中,你可以控制角色檢查、拾取和放下物品。在第10 章中,你將了解如何使用及組合物品,從而解決游戲中的謎題。空間站即將完成。第11章將增加限制進(jìn)入某些區(qū)域的安全門。正當(dāng)你要站起來慶祝自己的工作成果時(shí),危險(xiǎn)就潛伏在四周,因?yàn)槟銜?huì)在第12 章中添加移動(dòng)的危險(xiǎn)物品。在閱讀本書的過程中,你需要完成一些練習(xí)任務(wù),以便有機(jī)會(huì)測試程序和你的編程技能。如果需要,對(duì)應(yīng)的答案在每章的結(jié)尾。書后的附錄也能夠提供幫助。附錄A 包含整個(gè)游戲的代碼。如果不確定在何處添加了新代碼,可以在這里檢查。如果你不記得存儲(chǔ)的內(nèi)容,則附錄B 中的表格包含了重要的變量、列表和字典。如果程序無法正常運(yùn)行,則附錄C 提供了一些調(diào)試的提示。有關(guān)本書的更多信息和資源,可以訪問本書的網(wǎng)站www.sean.co.uk/books/missionpython/。你也可以在https://nostarch.com/missionpython/ 上找到一些信息和資源。
程晨,科技作家,具有十余年嵌入式開發(fā)經(jīng)驗(yàn),少年創(chuàng)學(xué)院聯(lián)合創(chuàng)始人兼院長,兼任Inetl軟件創(chuàng)新大使,中國電子學(xué)會(huì)全國青少年機(jī)器人技術(shù)等級(jí)考試標(biāo)準(zhǔn)工作組副組長,中國教育技術(shù)協(xié)會(huì)數(shù)字教育資源專業(yè)委員會(huì)專家。編著和翻譯出版開源硬件、3D打印、機(jī)器人、智能硬件、物聯(lián)網(wǎng)領(lǐng)域相關(guān)圖書十余本,出版國內(nèi)的Arduino、Edison、3D打印技術(shù)普及圖書。他是機(jī)械工業(yè)出版社特聘技術(shù)顧問,曾任北京航空航天大學(xué)軟件學(xué)院特聘講師,參與了清華大學(xué)、北京郵電大學(xué)等多個(gè)高校的創(chuàng)新性課程設(shè)計(jì)。
引言 1 0.1如何閱讀本書 1 0.2本書的內(nèi)容 2 0.3安裝軟件 3 0.4下載游戲文件 5 0.5運(yùn)行游戲 8 0.6玩游戲 9第1章 你的次太空行走 11 1.1啟動(dòng)Python編輯器 12 1.2Python shell介紹 13 1.3腳本模式介紹 15 1.4創(chuàng)建星空背景 15 1.5停止Pygame Zero程序 19 1.6添加火星和飛船 19 1.7你掌握了么 25第2章 列表可以救你的命 27 2.1你的個(gè)列表:起飛檢查表 27 2.2使用序列號(hào) 29 2.3創(chuàng)建太空行走檢查表 31 2.4列表的列表:飛行手冊 31 2.5合并列表 33 2.6通過列表創(chuàng)建地圖:應(yīng)急倉 34 2.7你掌握了么 37第3章 重復(fù)執(zhí)行 39 3.1循環(huán)顯示 39 3.2循環(huán)嵌套 41 3.3顯示3D房間圖像 44 3.4了解如何繪制房間 45 3.5圖片繪制的位置 46 3.6你掌握了么 47第4章 創(chuàng)建空間站 49 4.1為什么要自動(dòng)生成地圖 49 4.2如何自動(dòng)生成地圖 49 4.3創(chuàng)建地圖數(shù)據(jù) 50 4.4編寫GAME_MAP代碼 51 4.5測試和調(diào)試代碼 54 4.6根據(jù)數(shù)據(jù)生成房間 54 4.7探索3D空間站 60 4.8制作自己的地圖 63 4.9你掌握了么 63第5章 籌備空間站設(shè)備 65 5.1創(chuàng)建一個(gè)簡單的行星字典 65 5.2制作空間站物品字典 70 5.3你掌握了么 79第6章 安裝空間站設(shè)備 81 6.1了解布景數(shù)據(jù)字典 81 6.2添加布景數(shù)據(jù) 83 6.3在行星表面添加圍欄 85 6.4將布景加載到每個(gè)房間 87 6.5更新EXPLORER瀏覽空間站 90 6.6你掌握了么 91第7章 進(jìn)入空間站 93 7.1抵達(dá)空間站 93 7.2添加移動(dòng)代碼 97 7.3理解移動(dòng)代碼 100 7.4在房間之間移動(dòng) 103 7.5你掌握了么 106第8章 修復(fù)空間站 107 8.1發(fā)送信息給函數(shù) 107 8.2添加陰影、墻體透明度和顏色的變量 109 8.3刪除EXPLORER部分 111 8.4添加DISPLAY部分 112 8.5在屏幕上定位房間 118 8.6讓前面的墻體淡入淡出 120 8.7顯示提示和警告 122 8.8進(jìn)入房間時(shí)顯示房間名稱 123 8.9你掌握了么 125第9章 整理你的個(gè)人物品 127 9.1添加道具信息 127 9.2在房間地圖中添加道具 130 9.3從房間地圖查找對(duì)象編號(hào) 132 9.4拾取物品對(duì)象 134 9.5添加清單相關(guān)的函數(shù) 136 9.6放下物品對(duì)象 140 9.7檢查物品對(duì)象 141 9.8你掌握了么 143第10章 使用物品 145 10.1添加使用物品的鍵盤控制 145 10.2添加使用物品對(duì)象的標(biāo)準(zhǔn)消息 146 10.3添加游戲進(jìn)度變量 147 10.4添加特定對(duì)象的操作 148 10.5組合物品 150 10.6添加游戲完成動(dòng)畫 152 10.7探索物品對(duì)象 153 10.8你掌握了么 154第11章 激活安全門 155 11.1規(guī)劃在何處放置安全門 155 11.2定位房門 156 11.3添加通行控制 156 11.4讓門打開和關(guān)閉 158 11.5添加門的動(dòng)畫 160 11.6關(guān)閉定時(shí)門 161 11.7添加傳送器 162 11.8激活氣閘艙安全門 163 11.9在自己的游戲設(shè)計(jì)中刪除出口 165 11.10任務(wù)完成了么 166 11.11你掌握了么 166第12章 危險(xiǎn)!危險(xiǎn)!突發(fā)事件 167 12.1添加空氣監(jiān)測 167 12.2添加移動(dòng)的危險(xiǎn)物品 171 12.3添加有毒的泄漏物 180 12.4收尾工作 180 12.5你的下一個(gè)任務(wù):自定義游戲 182 12.6你掌握了么 183附錄 185 附錄A Escape游戲完整代碼 185 附錄B 變量、列表和字典 209 附錄C 調(diào)試你的程序 210