Python好好玩|趣學電玩遊戲程式設計

    「Python好好玩|趣學電玩遊戲程式設計」這本書會教您怎麼利用廣受歡迎的Python程式語言來開發製作電玩遊戲程式,本書內容針對初學者所設計,就算沒有編寫過程式的讀者也能輕鬆學習!

    Collecting
    US$14
    「Python好好玩|趣學電玩遊戲程式設計」這本書會教您怎麼利用廣受歡迎的Python程式語言來開發製作電玩遊戲程式,本書內容針對初學者所設計,就算沒有編寫過程式的讀者也能輕鬆學習!

    本書一開始會從幾個經典的遊戲程式,例如猜單字的Hangman、猜數字和井字棋等範例起步,然後再教您提升到更多進階深入的遊戲程式,例如文字模式的尋寶遊戲和帶有音效的動畫碰撞閃避遊戲。沿著這條學習路徑,您將學到最關鍵必備的程式設計知識,以及基礎實用的數學概念,這些技能會帶領您將遊戲程式設計的能力提升到更高的層次。

    在本書中,您將學到:
    ‧把迴圈、變數和流程控制陳述句等技巧整合應用到現實的程式設計工作中
    ‧正確理解和選用串列、字典和元組等資料結構
    ‧利用pygame模組把圖像和動畫加到遊戲程式中
    ‧處理鍵盤和滑鼠的輸入
    ‧設計簡易的人工智慧(AI),在遊戲中讓電腦自己對戰
    ‧活用密碼學把文字訊息轉換成密文
    ‧程式偵錯及找出一般常見的錯誤

    經過本書每個範例的學習和實作,您就能擁有強固的Python程式設計基礎,並能理解和掌握電腦的基本運作。

    接下您會利用強大的Python製作什麼新穎好玩的遊戲呢?

    Content

    1-1封面頁
    1-2書名頁
    1-3作者簡介
    1-4技術審校者簡介
    1-5致謝
    1-6目錄
    1-7簡介
    1-8本書的適用對象
    1-9本書簡介
    1-10如何使用本書
    1-11行號和縮排
    1-12長度很長的程式碼行
    1-13下載與安裝Python
    1-14啟動IDLE
    1-15找尋線上的輔助說明
    1-16CH01 互動式Shell
    1-17一些簡單的數學
    1-18整數和浮點數
    1-19表示式
    1-20表示式運算求解
    1-21語法錯誤
    1-22把值存放到變數中
    1-23總結
    1-24CH02 編寫程式
    1-25字串
    1-26字串連接
    1-27在IDLE 的File Editor 中編寫程式
    1-28製作Hell World 程式
    1-29儲存程式
    1-30執行程式
    1-31Hello World 這支程式的運作原理
    1-32注釋
    1-33函式:在程式中的小程式
    1-34程式的結束
    1-35變數的取名
    1-36總結
    1-37CH03 猜數字
    1-38猜數字遊戲的執行範例
    1-39猜數字遊戲的原始程式碼
    1-40匯入random 模組
    1-41使用random.randint()函式來產生隨機數字
    1-42歡迎玩家的文字提示
    1-43流程控制陳述句
    1-44使用迴圈來重複某些程式碼
    1-45組成區塊
    1-46陳述句隨著迴圈重複執行
    1-47取得玩家所猜的數字
    1-48利用int()、float()和str()函式來轉換值
    1-49布林資料型別
    1-50比較運算子
    1-51依條件檢查結果是True 或False
    1-52體驗一下布林、比較運算子和條件的運用
    1-53=和==的不同
    1-54if 陳述句
    1-55利用break 陳述句提早跳出迴圈
    1-56檢查玩家是否獲勝
    1-57檢查玩家是否輸了
    1-58總結
    1-59CH04 腦筋急轉彎
    1-60腦筋急轉彎程式的執行範例
    1-61腦筋急轉彎程式的原始程式碼
    1-62程式的運作原理
    1-63轉義字元
    1-64單引號和雙引號
    1-65print()函式和關鍵字參數
    1-66總結
    1-67CH05 龍域(Dragon Realm)
    1-68怎麼玩龍域
    1-69龍域的執行範例
    1-70龍域遊戲的流程圖
    1-71龍域的原始程式碼
    1-72匯入random 和time 模組
    1-73龍域中的函式
    1-74def 陳述句
    1-75呼叫函式
    1-76在哪裡放置函式的定義
    1-77多行字串
    1-78如何使用while 陳述句來進行迴圈
    1-79布林運算子
    1-80and 運算子
    1-81or 運算子
    1-82not 運算子
    1-83布林運算子的運算求解
    1-84返回值
    1-85全域和區域作用範疇
    1-86函式參數
    1-87顯示遊戲的結果
    1-88決定哪個洞穴放入善龍
    1-89遊戲迴圈
    1-90呼叫程式中定義的函式
    1-91詢問是否要再玩一次
    1-92總結
    1-93CH06 使用Debugger
    1-94Bug 的類型
    1-95Debugger
    1-96啟動Debugger
    1-97利用Debugger 逐步執行程式
    1-98找出Bug
    1-99設定中斷點
    1-100使用中斷點
    1-101總結
    1-102CH07 使用流程圖設計Hangman 遊戲
    1-103Hangman 遊戲怎麼玩
    1-104Hangman 遊戲程式的執行示範畫面
    1-105ASCII 文字畫
    1-106使用流程圖來設計一支程式
    1-107製作流程圖
    1-108流程圖的分支
    1-109結束或重玩
    1-110再猜一次
    1-111對玩家提供回應反饋
    1-112總結
    1-113CH08 編寫Hangman 猜單字遊戲的程式碼
    1-114Hangman 猜單字遊戲的原始程式碼
    1-115匯入random 模組
    1-116常數
    1-117串列資料型別
    1-118以索引足標存取項目
    1-119串列的連接
    1-120in 運算子
    1-121呼叫方法
    1-122reverse() 和append() 方法
    1-123split() 字串方法
    1-124從單字串列中取得讓玩家猜測的神秘單字
    1-125顯示遊戲畫板
    1-126list() 和range() 函式
    1-127串列與字串的分割切片
    1-128以空白加底線來顯示要猜測的神秘單字
    1-129取得玩家猜測的字元
    1-130lower()和upper()字串方法
    1-131離開while 迴圈
    1-132elif 陳述句
    1-133確定玩家輸入的是合法的值
    1-134詢問玩家要不要再玩一次
    1-135回顧Hangman 程式中的函式
    1-136遊戲迴圈
    1-137呼叫displayBoard() 函式
    1-138讓玩家輸入猜測的字母
    1-139檢查比對字母是否有在神秘單字中
    1-140檢查玩家贏了沒
    1-141處理猜錯的情況
    1-142檢查玩家輸了沒
    1-143結束和重設遊戲
    1-144總結
    1-145CH09 擴充Hangman 猜單字遊戲
    1-146增加更多猜單字的次數
    1-147字典資料型別
    1-148利用len() 算出字典的大小
    1-149字典與串列有何不同
    1-150keys()和values()字典方法
    1-151Hangman 程式中的單字使用字典型別
    1-152從串列中隨機選擇
    1-153刪除串列中的項目
    1-154多重指定
    1-155對玩家顯示要猜單字的種類
    1-156總結
    1-157CH10 井字棋遊戲程式
    1-158井字棋的執行範例
    1-159井字棋遊戲的原始程式碼
    1-160程式的規劃與設計
    1-161用來表示遊戲棋盤的資料
    1-162制訂遊戲AI
    1-163匯入random 模組
    1-164在螢幕上印出遊戲棋盤
    1-165讓玩家選擇X 或O
    1-166決定誰先下第一步
    1-167在井字棋盤中標上OX
    1-168串列參照
    1-169在makeMove()中使用串列參照
    1-170檢查玩家贏了沒
    1-171複製井字棋盤的資料
    1-172檢查井字棋盤中位置是否為空白
    1-173讓玩家輸入要下OX 的位置
    1-174短路運算求值
    1-175選擇下OX 位置
    1-176None 值
    1-177製作電腦的AI
    1-178先判斷有沒有下下去就會贏的位置
    1-179檢查玩家下到哪個位置會獲勝
    1-180依序檢查角落、中心和邊上的位置
    1-181檢查井字棋棋盤是否已填滿
    1-182遊戲迴圈
    1-183決定玩家的OX 字母和誰先走第一步
    1-184輪到玩家下OX
    1-185輪到電腦下OX
    1-186詢問玩家是否要再玩一次
    1-187總結
    1-188CH11 Bagels 推理遊戲
    1-189Bagels 程式的執行範例
    1-190Bagels 遊戲的原始程式碼
    1-191Bagels 遊戲的流程圖
    1-192匯入random 和定義getSecretNum()
    1-193對一組唯一數進行洗牌
    1-194利用random.shuffle() 對串列中的項目重新安排順序
    1-195從洗牌後的數字中取出神秘數字
    1-196擴充指定運算子
    1-197計算要給玩家的提示
    1-198sort()字串方法
    1-199join()字串方法
    1-200檢查字串中是否只有數字
    1-201遊戲起始
    1-202字串插值
    1-203遊戲迴圈
    1-204取得玩家所猜的數字
    1-205對玩家所猜的數字提供提示
    1-206檢查玩家是贏還是輸
    1-207詢問玩家要不要再玩一次
    1-208總結
    1-209CH12 笛卡兒座標系統
    1-210格線與笛卡兒座標
    1-211負數
    1-212電腦螢幕的座標系統
    1-213數學的技巧
    1-214技巧1:負號吃掉它左側的加號
    1-215技巧2:兩個負號組合成加號
    1-216技巧3:兩個相加的數字可以交換位置
    1-217絕對值和abs()函式
    1-218總結
    1-219CH13 聲納尋寶遊戲
    1-220聲納尋寶遊戲的執行範例畫面
    1-221聲納尋寶遊戲的原始程式碼
    1-222設計程式
    1-223匯入random、sys 和math 模組
    1-224建立新的遊戲畫板
    1-225畫出遊戲畫板
    1-226在畫板最上方畫出x 座標軸
    1-227繪製海洋文字畫
    1-228印出每列的海洋波浪
    1-229在畫板最底端畫上x 軸座標
    1-230建立隨機的寶箱
    1-231判斷投放聲納的座標位置是否合法
    1-232在畫板上放置聲納裝置
    1-233找出最接近的寶箱
    1-234利用remove() 串列方法移除串列中的值
    1-235取得玩家的輸入
    1-236對玩家印出遊戲的說明指示
    1-237遊戲迴圈
    1-238顯示玩家的遊戲狀態
    1-239處理玩家的聲納投放
    1-240找到沉沒的寶箱
    1-241檢查玩家是否獲勝了
    1-242檢查玩家是否輸了
    1-243使用sys.exit() 函式結束程式
    1-244總結
    1-245CH14 凱撒密碼(Caesar Cipher)
    1-246密碼學與密碼
    1-247凱撒密碼的運作原理
    1-248凱撒密碼程式的執行範例
    1-249凱撒密碼的原始程式碼
    1-250設定最大密鑰(key)長度
    1-251決定要加密或解密
    1-252從玩家取得訊息文字
    1-253從玩家取得密鑰
    1-254對訊息文字加密或解密
    1-255利用find() 字串方法尋找傳入的字串
    1-256對每個字母進行加密或解密處理
    1-257程式的開始
    1-258蠻力破解技術
    1-259新增蠻力破解模式
    1-260總結
    1-261CH15 黑白棋
    1-262黑白棋怎麼玩
    1-263黑白棋遊戲的執行範例
    1-264黑白棋遊戲的原始程式碼
    1-265匯入模組與設定常數
    1-266遊戲棋盤的資料結構
    1-267在畫面上繪製棋盤資料結構
    1-268建立全新的棋盤資料結構
    1-269檢查下棋落子的位置是否合法
    1-270檢查8 個方向的每一個方向
    1-271找出是否還有棋子可反轉
    1-272檢查是否為合法的座標
    1-273取得所有下棋落子合法座標的串列
    1-274呼叫bool() 函式
    1-275計算黑白棋棋盤的分數
    1-276取得玩家所選的棋子
    1-277決定誰要先下
    1-278在棋盤上放入棋子
    1-279複製棋盤資料結構
    1-280判斷位置是否在角落
    1-281取得玩家想要落子下棋的位置
    1-282取得電腦想要落子下棋的座標位置
    1-283策略性先選角落位置來下棋
    1-284取得最高分的落子下棋座標位置
    1-285把分數印在畫面上
    1-286遊戲起始
    1-287檢查是否為僵局
    1-288輪到玩家下棋
    1-289輪到電腦下棋
    1-290遊戲迴圈
    1-291詢問要不要再玩一次
    1-292總結
    1-293CH16 黑白棋人工智慧模擬
    1-294讓電腦和自己對戰
    1-295模擬1 的執行範例
    1-296模擬1 的原始程式碼
    1-297移除玩家相關的顯示並新增一個電腦玩家
    1-298讓電腦自己對戰多次並求出勝率
    1-299模擬2 的執行範例
    1-300模擬2 的原始程式碼
    1-301追蹤多個棋局
    1-302注釋掉print() 函式的呼叫
    1-303使用比率(百分比)來評比AI 的成效
    1-304不同AI 演算法的比較
    1-305模擬3 的原始程式碼
    1-306在模擬3 中的AI 是怎麼運作的
    1-307各個AI 的相互對戰
    1-308總結
    1-309CH17 繪製圖案
    1-310安裝pygame
    1-311在pygame 中的Hello World 程式
    1-312pygame Hello World 程式的執行範例
    1-313pygame Hello World 的原始程式碼
    1-314匯入pygame 模組
    1-315初始化pygame
    1-316設定pygame 視窗
    1-317多元組
    1-318Surface 物件
    1-319設定色彩變數
    1-320在pygame 視窗中寫入文字
    1-321利用字型來格式化文字
    1-322彩現Font 物件
    1-323使用Rect 屬性設定文字位置
    1-324對Surface 物件填滿色彩
    1-325pygame 的繪圖功能
    1-326繪製多邊形
    1-327繪製線條
    1-328繪製圓圈
    1-329繪製橢圓
    1-330繪製矩形
    1-331以像素為單位著色
    1-332Surface 物件的blit()方法
    1-333繪製Surface 物件到螢幕上
    1-334事件與遊戲迴圈
    1-335取得事件物件
    1-336結束程式
    1-337總結
    1-338CH18 動畫
    1-339動畫程式執行範例
    1-340動畫程式的原始程式碼
    1-341方框的移動與反彈
    1-342設定常數變數
    1-343存放方向的常數變數
    1-344存放色彩的常數變數
    1-345設定方框資料結構
    1-346遊戲迴圈
    1-347當玩家要結束時的處理
    1-348每個方框的移動
    1-349反彈方框
    1-350在視窗新的位置繪製方框
    1-351在螢幕上繪製視窗
    1-352總結
    1-353CH19 碰撞偵測
    1-354碰撞偵測程式的執行範例
    1-355碰撞偵測的原始程式碼
    1-356匯入模組
    1-357使用時鐘調慢程式的執行
    1-358設定視窗和資料結構
    1-359設定變數來追蹤記錄移動
    1-360事件的處理
    1-361處理KEYDOWN 事件
    1-362處理KEYUP 事件
    1-363玩家方框的瞬移閃現
    1-364加入新的食物小方框
    1-365玩家在視窗中移動方框
    1-366在視窗上繪製玩家方框
    1-367碰撞檢測
    1-368在視窗上繪製食物小方框
    1-369總結
    1-370CH20 使用聲音和影像
    1-371新增遊戲角色精靈的影像圖片
    1-372音效和影像圖檔
    1-373角色精靈影像和音效程式的執行範例
    1-374角色精靈影像和音效遊戲的原始程式碼
    1-375設定視窗與資料結構
    1-376新增角色精靈
    1-377改變角色精靈的大小
    1-378設定音樂和音效
    1-379加入音效檔
    1-380切換聲音的開與關
    1-381將玩家繪製在視窗上
    1-382偵測是否有碰撞
    1-383繪製櫻桃到視窗上
    1-384總結
    1-385CH21 使用了聲音和影像的Dodger 遊戲
    1-386複習基本的pygame 資料型別
    1-387Dodger 程式的執行範例
    1-388Dodger 遊戲的原始程式碼
    1-389匯入模組
    1-390設定常數
    1-391定義函式
    1-392結束和暫停遊戲
    1-393追蹤記錄壞蛋的碰撞
    1-394繪製文字到視窗中
    1-395初始化pygame 和設定視窗
    1-396設定字型、聲音和影像物件
    1-397顯示起始畫面
    1-398開始遊戲
    1-399遊戲迴圈
    1-400處理鍵盤事件
    1-401處理滑鼠的移動
    1-402新增壞蛋
    1-403移動玩家角色和壞蛋圖像
    1-404實作作弊模式
    1-405刪除壞蛋
    1-406繪製視窗
    1-407繪製玩家的分數
    1-408繪製玩家角色和壞蛋圖樣
    1-409檢查是否有碰撞
    1-410Game Over 畫面
    1-411修改Dodger 遊戲
    1-412總結
    1-413版權頁
    1-414封底頁

    FAQ

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    Recommendations

    Reviews

    | Collecting

    Sales Plans