0人評分過此書

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

出版日期
2017/01/01
閱讀格式
PDF
書籍分類
學科分類
ISBN
9789864765850

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
「Python好好玩|趣學電玩遊戲程式設計」這本書會教您怎麼利用廣受歡迎的Python程式語言來開發製作電玩遊戲程式,本書內容針對初學者所設計,就算沒有編寫過程式的讀者也能輕鬆學習! 本書一開始會從幾個經典的遊戲程式,例如猜單字的Hangman、猜數字和井字棋等範例起步,然後再教您提升到更多進階深入的遊戲程式,例如文字模式的尋寶遊戲和帶有音效的動畫碰撞閃避遊戲。沿著這條學習路徑,您將學到最關鍵必備的程式設計知識,以及基礎實用的數學概念,這些技能會帶領您將遊戲程式設計的能力提升到更高的層次。 在本書中,您將學到: ‧把迴圈、變數和流程控制陳述句等技巧整合應用到現實的程式設計工作中 ‧正確理解和選用串列、字典和元組等資料結構 ‧利用pygame模組把圖像和動畫加到遊戲程式中 ‧處理鍵盤和滑鼠的輸入 ‧設計簡易的人工智慧(AI),在遊戲中讓電腦自己對戰 ‧活用密碼學把文字訊息轉換成密文 ‧程式偵錯及找出一般常見的錯誤經過本書每個範例的學習和實作,您就能擁有強固的Python程式設計基礎,並能理解和掌握電腦的基本運作。 接下您會利用強大的Python製作什麼新穎好玩的遊戲呢?
  • 簡介
    • 本書的適用對象
    • 本書簡介
    • 如何使用本書
      • 行號和縮排
      • 長度很長的程式碼行
    • 下載與安裝Python
    • 啟動IDLE
    • 找尋線上的輔助說明
  • 第1章 互動式Shell
    • 一些簡單的數學
      • 整數和浮點數
      • 表示式
    • 表示式運算求解
    • 語法錯誤
    • 把值存放到變數中
    • 總結
  • 第2章 編寫程式
    • 字串
    • 字串連接
    • 在IDLE的FileEditor中編寫程式
      • 製作HellWorld程式
      • 儲存程式
      • 執行程式
    • HelloWorld這支程式的運作原理
      • 注釋
      • 函式:在程式中的小程式
      • 程式的結束
    • 變數的取名
    • 總結
  • 第3章 猜數字
    • 猜數字遊戲的執行範例
    • 猜數字遊戲的原始程式碼
    • 匯入random模組
    • 使用random.randint()函式來產生隨機數字
    • 歡迎玩家的文字提示
    • 流程控制陳述句
      • 使用迴圈來重複某些程式碼
      • 組成區塊
      • 陳述句隨著迴圈重複執行
    • 取得玩家所猜的數字
    • 利用int()、float()和str()函式來轉換值
    • 布林資料型別
      • 比較運算子
      • 依條件檢查結果是True或False
      • 體驗一下布林、比較運算子和條件的運用
      • =和==的不同
    • if陳述句
    • 利用break陳述句提早跳出迴圈
    • 檢查玩家是否獲勝
    • 檢查玩家是否輸了
    • 總結
  • 第4章 腦筋急轉彎
    • 腦筋急轉彎程式的執行範例
    • 腦筋急轉彎程式的原始程式碼
    • 程式的運作原理
    • 轉義字元
    • 單引號和雙引號
    • print()函式和關鍵字參數
    • 總結
  • 第5章 龍域(DragonRealm)
    • 怎麼玩龍域
    • 龍域的執行範例
    • 龍域遊戲的流程圖
    • 龍域的原始程式碼
    • 匯入random和time模組
    • 龍域中的函式
      • def陳述句
      • 呼叫函式
      • 在哪裡放置函式的定義
    • 多行字串
    • 如何使用while陳述句來進行迴圈
    • 布林運算子
      • and運算子
      • or運算子
      • not運算子
      • 布林運算子的運算求解
    • 返回值
    • 全域和區域作用範疇
    • 函式參數
    • 顯示遊戲的結果
    • 決定哪個洞穴放入善龍
    • 遊戲迴圈
      • 呼叫程式中定義的函式
      • 詢問是否要再玩一次
    • 總結
  • 第6章 使用Debugger
    • Bug的類型
    • Debugger
      • 啟動Debugger
      • 利用Debugger逐步執行程式
    • 找出Bug
    • 設定中斷點
    • 使用中斷點
    • 總結
  • 第7章 使用流程圖設計Hangman遊戲
    • Hangman遊戲怎麼玩
    • Hangman遊戲程式的執行示範畫面
    • ASCII文字畫
    • 使用流程圖來設計一支程式
      • 製作流程圖
      • 流程圖的分支
      • 結束或重玩
      • 再猜一次
      • 對玩家提供回應反饋
    • 總結
  • 第8章 編寫Hangman猜單字遊戲的程式碼
    • Hangman猜單字遊戲的原始程式碼
    • 匯入random模組
    • 常數
    • 串列資料型別
      • 以索引足標存取項目
      • 串列的連接
      • in運算子
    • 呼叫方法
      • reverse()和append()方法
      • split()字串方法
    • 從單字串列中取得讓玩家猜測的神秘單字
    • 顯示遊戲畫板
      • list()和range()函式
      • 串列與字串的分割切片
      • 以空白加底線來顯示要猜測的神秘單字
    • 取得玩家猜測的字元
      • lower()和upper()字串方法
      • 離開while迴圈
    • elif陳述句
    • 確定玩家輸入的是合法的值
    • 詢問玩家要不要再玩一次
    • 回顧Hangman程式中的函式
    • 遊戲迴圈
      • 呼叫displayBoard()函式
      • 讓玩家輸入猜測的字母
      • 檢查比對字母是否有在神秘單字中
      • 檢查玩家贏了沒
      • 處理猜錯的情況
      • 檢查玩家輸了沒
      • 結束和重設遊戲
    • 總結
  • 第9章 擴充Hangman猜單字遊戲
    • 增加更多猜單字的次數
    • 字典資料型別
      • 利用len()算出字典的大小
      • 字典與串列有何不同
      • keys()和values()字典方法
      • Hangman程式中的單字使用字典型別
    • 從串列中隨機選擇
    • 刪除串列中的項目
    • 多重指定
    • 對玩家顯示要猜單字的種類
    • 總結
  • 第10章 井字棋遊戲程式
    • 井字棋的執行範例
    • 井字棋遊戲的原始程式碼
    • 程式的規劃與設計
      • 用來表示遊戲棋盤的資料
      • 制訂遊戲AI
    • 匯入random模組
    • 在螢幕上印出遊戲棋盤
    • 讓玩家選擇X或O
    • 決定誰先下第一步
    • 在井字棋盤中標上OX
      • 串列參照
      • 在makeMove()中使用串列參照
    • 檢查玩家贏了沒
    • 複製井字棋盤的資料
    • 檢查井字棋盤中位置是否為空白
    • 讓玩家輸入要下OX的位置
    • 短路運算求值
    • 選擇下OX位置
    • None值
    • 製作電腦的AI
      • 先判斷有沒有下下去就會贏的位置
      • 檢查玩家下到哪個位置會獲勝
      • 依序檢查角落、中心和邊上的位置
      • 檢查井字棋棋盤是否已填滿
    • 遊戲迴圈
      • 決定玩家的OX字母和誰先走第一步
      • 輪到玩家下OX
      • 輪到電腦下OX
      • 詢問玩家是否要再玩一次
    • 總結
  • 第11章 Bagels推理遊戲
    • Bagels程式的執行範例
    • Bagels遊戲的原始程式碼
    • Bagels遊戲的流程圖
    • 匯入random和定義getSecretNum()
    • 對一組唯一數進行洗牌
      • 利用random.shuffle()對串列中的項目重新安排順序
      • 從洗牌後的數字中取出神秘數字
    • 擴充指定運算子
    • 計算要給玩家的提示
    • sort()字串方法
    • join()字串方法
    • 檢查字串中是否只有數字
    • 遊戲起始
    • 字串插值
    • 遊戲迴圈
      • 取得玩家所猜的數字
      • 對玩家所猜的數字提供提示
      • 檢查玩家是贏還是輸
      • 詢問玩家要不要再玩一次
    • 總結
  • 第12章 笛卡兒座標系統
    • 格線與笛卡兒座標
    • 負數
    • 電腦螢幕的座標系統
    • 數學的技巧
      • 技巧1:負號吃掉它左側的加號
      • 技巧2:兩個負號組合成加號
      • 技巧3:兩個相加的數字可以交換位置
    • 絕對值和abs()函式
    • 總結
  • 第13章 聲納尋寶遊戲
    • 聲納尋寶遊戲的執行範例畫面
    • 聲納尋寶遊戲的原始程式碼
    • 設計程式
    • 匯入random、sys和math模組
    • 建立新的遊戲畫板
    • 畫出遊戲畫板
      • 在畫板最上方畫出x座標軸
      • 繪製海洋文字畫
      • 印出每列的海洋波浪
      • 在畫板最底端畫上x軸座標
    • 建立隨機的寶箱
    • 判斷投放聲納的座標位置是否合法
    • 在畫板上放置聲納裝置
      • 找出最接近的寶箱
      • 利用remove()串列方法移除串列中的值
      • 取得玩家的輸入
    • 對玩家印出遊戲的說明指示
    • 遊戲迴圈
      • 顯示玩家的遊戲狀態
      • 處理玩家的聲納投放
      • 找到沉沒的寶箱
      • 檢查玩家是否獲勝了
      • 檢查玩家是否輸了
      • 使用sys.exit()函式結束程式
    • 總結
  • 第14章 凱撒密碼(CaesarCipher)
    • 密碼學與密碼
    • 凱撒密碼的運作原理
    • 凱撒密碼程式的執行範例
    • 凱撒密碼的原始程式碼
    • 設定最大密鑰(key)長度
    • 決定要加密或解密
    • 從玩家取得訊息文字
    • 從玩家取得密鑰
    • 對訊息文字加密或解密
      • 利用find()字串方法尋找傳入的字串
      • 對每個字母進行加密或解密處理
    • 程式的開始
    • 蠻力破解技術
    • 新增蠻力破解模式
    • 總結
  • 第15章 黑白棋
    • 黑白棋怎麼玩
    • 黑白棋遊戲的執行範例
    • 黑白棋遊戲的原始程式碼
    • 匯入模組與設定常數
    • 遊戲棋盤的資料結構
      • 在畫面上繪製棋盤資料結構
      • 建立全新的棋盤資料結構
    • 檢查下棋落子的位置是否合法
      • 檢查8個方向的每一個方向
      • 找出是否還有棋子可反轉
    • 檢查是否為合法的座標
      • 取得所有下棋落子合法座標的串列
      • 呼叫bool()函式
    • 計算黑白棋棋盤的分數
    • 取得玩家所選的棋子
    • 決定誰要先下
    • 在棋盤上放入棋子
    • 複製棋盤資料結構
    • 判斷位置是否在角落
    • 取得玩家想要落子下棋的位置
    • 取得電腦想要落子下棋的座標位置
      • 策略性先選角落位置來下棋
      • 取得最高分的落子下棋座標位置
    • 把分數印在畫面上
    • 遊戲起始
      • 檢查是否為僵局
      • 輪到玩家下棋
      • 輪到電腦下棋
    • 遊戲迴圈
    • 詢問要不要再玩一次
    • 總結
  • 第16章 黑白棋人工智慧模擬
    • 讓電腦和自己對戰
      • 模擬1的執行範例
      • 模擬1的原始程式碼
      • 移除玩家相關的顯示並新增一個電腦玩家
    • 讓電腦自己對戰多次並求出勝率
      • 模擬2的執行範例
      • 模擬2的原始程式碼
      • 追蹤多個棋局
      • 注釋掉print()函式的呼叫
      • 使用比率(百分比)來評比AI的成效
    • 不同AI演算法的比較
      • 模擬3的原始程式碼
      • 在模擬3中的AI是怎麼運作的
      • 各個AI的相互對戰
    • 總結
  • 第17章 繪製圖案
    • 安裝pygame
    • 在pygame中的HelloWorld程式
    • pygameHelloWorld程式的執行範例
    • pygameHelloWorld的原始程式碼
    • 匯入pygame模組
    • 初始化pygame
    • 設定pygame視窗
      • 多元組
      • Surface物件
    • 設定色彩變數
    • 在pygame視窗中寫入文字
      • 利用字型來格式化文字
      • 彩現Font物件
      • 使用Rect屬性設定文字位置
    • 對Surface物件填滿色彩
    • pygame的繪圖功能
      • 繪製多邊形
      • 繪製線條
      • 繪製圓圈
      • 繪製橢圓
      • 繪製矩形
      • 以像素為單位著色
    • Surface物件的blit()方法
    • 繪製Surface物件到螢幕上
    • 事件與遊戲迴圈
      • 取得事件物件
      • 結束程式
    • 總結
  • 第18章 動畫
    • 動畫程式執行範例
    • 動畫程式的原始程式碼
    • 方框的移動與反彈
    • 設定常數變數
      • 存放方向的常數變數
      • 存放色彩的常數變數
    • 設定方框資料結構
    • 遊戲迴圈
      • 當玩家要結束時的處理
      • 每個方框的移動
      • 反彈方框
      • 在視窗新的位置繪製方框
      • 在螢幕上繪製視窗
    • 總結
  • 第19章 碰撞偵測
    • 碰撞偵測程式的執行範例
    • 碰撞偵測的原始程式碼
    • 匯入模組
    • 使用時鐘調慢程式的執行
    • 設定視窗和資料結構
    • 設定變數來追蹤記錄移動
    • 事件的處理
      • 處理KEYDOWN事件
      • 處理KEYUP事件
    • 玩家方框的瞬移閃現
    • 加入新的食物小方框
    • 玩家在視窗中移動方框
      • 在視窗上繪製玩家方框
      • 碰撞檢測
    • 在視窗上繪製食物小方框
    • 總結
  • 第20章 使用聲音和影像
    • 新增遊戲角色精靈的影像圖片
    • 音效和影像圖檔
    • 角色精靈影像和音效程式的執行範例
    • 角色精靈影像和音效遊戲的原始程式碼
    • 設定視窗與資料結構
      • 新增角色精靈
      • 改變角色精靈的大小
    • 設定音樂和音效
      • 加入音效檔
      • 切換聲音的開與關
    • 將玩家繪製在視窗上
    • 偵測是否有碰撞
    • 繪製櫻桃到視窗上
    • 總結
  • 第21章 使用了聲音和影像的Dodger遊戲
    • 複習基本的pygame資料型別
    • Dodger程式的執行範例
    • Dodger遊戲的原始程式碼
    • 匯入模組
    • 設定常數
    • 定義函式
      • 結束和暫停遊戲
      • 追蹤記錄壞蛋的碰撞
      • 繪製文字到視窗中
    • 初始化pygame和設定視窗
    • 設定字型、聲音和影像物件
    • 顯示起始畫面
    • 開始遊戲
    • 遊戲迴圈
      • 處理鍵盤事件
      • 處理滑鼠的移動
    • 新增壞蛋
    • 移動玩家角色和壞蛋圖像
    • 實作作弊模式
    • 刪除壞蛋
    • 繪製視窗
      • 繪製玩家的分數
      • 繪製玩家角色和壞蛋圖樣
    • 檢查是否有碰撞
    • GameOver畫面
    • 修改Dodger遊戲
    • 總結
  • 出版地 臺灣
  • 語言 繁體中文

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading